@charset "UTF-8";
/*
Theme Name: 2023mj_koshigaya-souzoku
Theme URI: 
Author: MAJESTIC
Author URI: https://majestic.tokyo/
Version: 3.0
*/

* {
	font-size: inherit;
	line-height: inherit;
}
*, *:before, *:after {
	box-sizing: inherit;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
body {
	/*color: #505050;*/
	color: #000;
	font-size: 18px;
	line-height: 1.8;
	font-weight: normal;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	vertical-align: middle;
}
p {
	margin:0 0 1.5em 0;
	padding: 0;
	font-weight: normal;
}
p:last-child {
	margin: 0;
}

@media screen and (max-width: 960px) {
	body {
		font-size: 17px;
	}
}
@media screen and (max-width: 560px) {
	body {
		font-size: 16px;
	}
}
@media screen and (max-width: 430px) {
	body {
		font-size: 15px;
	}
}

/****************************************
 * リンク
*****************************************/

a {
	color: #005BF9;
	text-decoration: none;
	transition: all .3s ease;
	word-break: break-all;
}
a:hover {
	text-decoration: none;
	opacity: .7;
}
a img {
	transition: all .3s;
	-webkit-transition: all .3s;
}
a img:hover {
	opacity: .7;
}
.tel_btn {
	display: inline-block;
}

.mail_btn {
	overflow: hidden;
	display: inline-block;
	border-radius: 4px;
	position: relative;
	width: 100%;
	max-width: 300px;
	padding: 15px 10px;
	text-align: center;
	color: #FFF;
	font-size: 1.1em;
    font-weight: bold;
	margin-left: 30px;
	z-index: 1;
}
.mail_btn:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 36px 280px 0 0;
	border-color: #D62C49 transparent transparent transparent;
	z-index: -1;
	transition: all .3s ease;
}
.mail_btn:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: #C62946;
	z-index: -3;
	transition: all .3s ease;
}
.mail_btn:hover {
	opacity: 1;
}
.mail_btn:hover:before {
	border-color: #BA2742 transparent transparent transparent;
}
.mail_btn:hover:after {
	background-color: #AD243D;
}
aside .mail_btn {
	max-width: 100%;
	margin: 12px 0 0;
}


.link_btn {
    display: inline-block;
    border-radius: 4px;
    position: relative;
    width: 100%;
    max-width: 300px;
    padding: 15px 10px;
    text-align: center;
    color: #FFF;
	background: #1F2B40;
    font-size: 1.1em;
    font-weight: bold;
    z-index: 1;
}

@media screen and (max-width: 560px) {
	.mail_btn {
		max-width: 220px;
		padding: 12px 10px;
	}
	
}
@media screen and (max-width: 560px) {
	.tel_btn {
		padding-right: 6px;
	}
	.mail_btn {
		max-width: 240px;
		margin: 12px 0 0;
	}
}
@media screen and (max-width: 430px) {
	.tel_btn {
		width: 260px;
		padding: 0;
		margin-right: 60px;
	}
	.mail_btn {
		max-width: 260px;
		margin: 12px 60px 0 0;
	}
	.link_btn {
		max-width: 100%;
	}
}
@media screen and (max-width: 380px) {
	.tel_btn {
		width: 240px;
	}
	.mail_btn {
		max-width: 240px;
	}
}
@media screen and (max-width: 320px) {
	.tel_btn {
		width: 220px;
	}
	.mail_btn {
		max-width: 220px;
	}
}

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

.inner {
	width: 1140px;
	margin: 0 auto;
}
main {
	display: flex;
	margin-top: 60px !important;
	padding-bottom: 60px !important;
}
article {
	width: calc(100% - 250px);
	padding-left: 30px;
}
aside {
	width: 250px;
}

.breadcrumbs {
	padding: 0 0 18px;
	margin: 0;
    font-size: .7em;
}

.front_sec {
	margin-top: 60px;
}
.contents {
	margin-top: 60px;
}
.button_box {
	text-align: center;
	margin-top: 30px;
}
.button_box a.banner_link {
	display: inline-block;
    background: #3F485B;
    color: #F2C640;
    border-radius: 30px;
    font-weight: bold;
    padding: 12px 30px;
}
.aside_box {
	margin-top: 30px;
}

span.marker {
	background:linear-gradient(transparent 40%, #ff6 40%);
}

hr {
	margin: 30px;
	border: 1px solid #ccc !important;
}


/* サイトリンク */
.sitelink {
	clear: both;
	overflow: hidden;
	margin: 0;
}
.sitelink a.link_btn {
	max-width: 660px;
    font-size: 1em;
    font-weight: normal;
}
.sitelink .sister_site {
	margin-top: 30px;
	text-align: center;
}
.sitelink .sister_site ul {
	margin: 18px 0 0;
	padding: 0 0 0 30px;
	list-style: inside;
}
.sitelink .sister_site ul li {
	text-align: left;
}


@media screen and (max-width: 1180px) {
	.inner {
		width: 100%;
		padding: 0 45px;
	}
}
@media screen and (max-width: 960px) {
	article {
		width: calc(100% - 220px);
	}
	aside {
		width: 220px;
	}
	
}
@media screen and (max-width: 768px) {
	.inner {
		padding: 0 30px;
	}
	main {
		display: flex;
		flex-direction: column;
	}
	article {
		width: 100%;
		padding: 0;
		order: 1;
	}
	aside {
		width: 100%;
		order: 2;
		margin-top: 60px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	aside .middle {
		width: calc(100%/2 - 12px);
	}
	aside .middle .newposts {
		margin-top: 0;
	}
	aside img {
		display: block;
		width: 100%;
	}
	
	/*サイトリンク*/
	.sitelink a.link_btn {
		max-width: 100%;
		margin: 0;
	}
}
@media screen and (max-width: 560px) {
	main {
		margin-top: 30px !important;
	}
	aside {
		margin-top: 0;
		flex-direction: column;
	}
	aside img {
		width: 70%;
		margin: 0 auto;
	}
	aside .middle {
		width: 100%;
	}
	aside .middle .emergency,
	aside .middle .newposts {
		margin-top: 30px !important;
	}
	
	.breadcrumbs {
		overflow-x: auto;
		white-space: nowrap;
		font-size: .8em;
	}
	
	.contents,
	.front_sec {
		margin-top: 30px;
	}
	
}
@media screen and (max-width: 430px) {
	.inner {
		padding: 0 20px;
	}
	
	/*サイトリンク*/
	.sitelink .sister_site ul {
		padding: 0;
	}
}

/****************************************
 * 見出し
*****************************************/
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: bold;
}

h1 {
	font-size: 2em;
}
h2 {
	font-size: 1.8em;
	font-family: serif;
}

.front_title {
	margin-top: -12px !important;
    height: auto !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/*ページ最上部*/
.pagetop_title {
	text-align: center;
	color: #1F2B40;
	padding: 18px;
	line-height: 1.6;
	background: linear-gradient(to right, transparent 0%, #fff 20%, #fff 50%, #fff 80%, transparent 100%);
	position: relative;
}
.pagetop_title span {
	display: block;
	font-size: .4em;
	font-weight: normal;
	margin-bottom: 6px;
}

/*ページタイトル*/
.page_title {
	width: 100%;
	height: 107px;
	padding: 18px;
	background: url(images/common/h1.gif) no-repeat;
    color: #FFF;
	line-height: 1.3;
}
.page_title span {
	display: block;
	font-size: .4em;
	margin-top: 6px;
	font-weight: normal;
}

/*カテゴリーページ*/
.post_title {
	font-size: 1.3em !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
}

#content h2 {
	padding: 8px;
	margin-top: 1.8em;
    font-size: 1.6em;
	border-top: 1px solid #3F485B;
    border-bottom: 2px solid #3F485B;
	background-image: linear-gradient(45deg, #e0e3ea12 25%, transparent 25%, transparent 50%, #e0e3ea12 50%, #e0e3ea12 75%, transparent 75%, transparent), linear-gradient(-45deg, #e0e3ea12 25%, transparent 25%, transparent 50%, #e0e3ea12 50%, #e0e3ea12 75%, transparent 75%, transparent);
	background-color: #e0e3ea0d;
	background-size: 20px 20px;
	color: #3F485B;
}
#content h3 {
	background: url(images/common/h3.gif) no-repeat;
    height: 46px;
	margin-top: 1.8em;
    padding: 6px 12px 6px 30px;
	border: 1px solid #CCCCCC;
}
#content h4 {
	padding: 0 0 0 38px;
	margin-top: 16px;
	color: #999999;
	line-height: 1.6;
	position: relative;
}
#content h4:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/h4.gif) no-repeat;
	background-size: 100%;
	width: 32px;
	height: 32px;
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 1.8em;
	}
	h2 {
		font-size: 1.6em;
	}
}
@media screen and (max-width: 560px) {
	h1 {
		font-size: 1.6em;
	}
	h2 {
		font-size: 1.4em;
	}
	
	.page_title span {
		font-size: .5em;
	}
	.pagetop_title {
		padding: 18px 0;
	}
	.pagetop_title span {
		font-size: .5em;
	}
	
	#content h3 {
		background: url(images/common/h3_sp.gif) no-repeat;
		height: 72px;
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width: 430px) {
	h1 {
		font-size: 1.4em;
	}
	h2 {
		font-size: 1.3em;
	}
	
	.page_title {
		width: 100%;
		height: 120px;
		background: url(images/common/h1_sp.gif) no-repeat;
	}
	
	#content h4 {
		padding: 0 0 0 26px;
	}
	#content h4:before {
		width: 22px;
		height: 22px;
	}
}
@media screen and (max-width: 320px) {
	h1 {
		font-size: 1.3em;
	}
	h2 {
		font-size: 1.3em;
	}
}


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

.aside_title {
	text-align: left;
    background: #1F2B40;
    color: #FFF;
    padding: 6px 12px 6px 30px;
	margin-bottom: 12px;
	border-radius: 4px;
	position: relative;
}
.aside_title:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #FFF;
	width: 18px;
	height: 1px;
}

/****************************************
リスト
*****************************************/

table {
	table-layout: fixed;
}
table,
table tr,
table th,
table td {
	width: 100%;
	border-collapse: collapse;
}
dl,
dt,
dd {
	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) {/*560px以下で*/
	.tb {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}



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

p.open365 {
	text-align: center;
	margin: 0;
	background: #D62C49;
	color: #FFF;
	font-weight: bold;
}

header {
	width: 100%;
	position: relative;
	background: url(images/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 .headertop {
	margin-bottom: 60px;
}
header .headertop .headertop_flex {
	padding: 30px 0;
	display: flex;
	align-items: flex-start;
    justify-content: space-between;
	
}
header .headertop .headertop_flex .headertop_flex___logo a.logo {
	display: block;
}

header .headertop .headertop_flex .headertop_flex___info {
	text-align: right;
}
header .headertop .headertop_flex .headertop_flex___info span.add {
	display: block;
	font-size: .9em;
	font-weight: bold;
	margin: 6px 0 0 0;
	line-height: 1.4;
}
header .headertop .headertop_flex .headertop_flex___info span.sta {
	display: block;
    background: #D62C49;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    margin: 6px 0 0 0;
    font-size: .8em;
}
header .headertop .headertop_flex .headertop_flex___info a {
	display: block;
}
header .headerbottom {
	text-align: center;
	padding-bottom: 26%;
	position: relative;
}
header .headerbottom a.topimage_media {
	display: inline-block;
	position: absolute;
    right: 0;
    bottom: 30px;
}

/* トップページ以外 */
header .headertitle {
	padding: 30px 0;
}

@media screen and (max-width: 768px) {
	header .headertop .headertop_flex .headertop_flex___logo {
		width: 180px;
	}
	header .headertop .headertop_flex .headertop_flex___info {
		width: 280px;
	}
}
@media screen and (max-width: 560px) {
	p.open365 {
		padding: 12px 3px;
		font-size: .9em;
	}
	header {
		background: url(images/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 .headertop {
		margin-bottom: 30px;
	}
	header .headertop .headertop_flex .headertop_flex___logo {
		width: 150px;
	}
	header .headertop .headertop_flex .headertop_flex___info {
		width: 230px;
		text-align: center;
	}
	header .headertop .headertop_flex .headertop_flex___info span.add {
		font-size: .7em;
	}
	header .headerbottom {
		padding-bottom: 38%;
	}
}
@media screen and (max-width: 430px) {
	header .headertop .headertop_flex {
		flex-direction: column;
	}
	header .headertop .headertop_flex .headertop_flex___logo {
		width: 220px;
	}
	header .headertop .headertop_flex .headertop_flex___info {
		width: 100%;
		margin-top: 12px;
	}
	
}
@media screen and (max-width: 380px) {
	header .headertop .headertop_flex .headertop_flex___logo {
		width: 180px;
	}
}
@media screen and (max-width: 320px) {
	header .headertop .headertop_flex .headertop_flex___logo {
		width: 160px;
	}
}

/****************************************
 * グローバルナビゲーション
*****************************************/

nav.header_nav {
	background: #FFF;
	/*background: #1F2B40;*/
	border-bottom: 1px solid #ededed;
}
nav.header_nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
    justify-content: space-evenly;
}
nav.header_nav ul li {
	overflow: hidden;
	width: 100%;
}
nav.header_nav ul li a {
	padding: 12px 0;
	color: #1F2B40;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s;
	position: relative;
	z-index: 1;
}
nav.header_nav ul li a:after {
	content: '';
	position: absolute;
	right: 0%;
	width: 300%;
	height: 100%;
	background: linear-gradient(to left, #fff 34%,#1F2B40 34%,#1F2B40 66%,#3F485B 66%);
	z-index: -1;
	transition: .6s;
}
nav.header_nav ul li a:hover {
	color: #fff;
	opacity: 1;
}
nav.header_nav ul li a:hover::after {
	right: -200%;
}

@media screen and (max-width: 768px) {
	nav.header_nav ul {
		flex-wrap: wrap;
	}
	nav.header_nav ul li {
		width: calc(100%/4);
	}
}
@media screen and (max-width: 560px) {
	nav.header_nav ul li {
		font-size: .9em;
	}
	nav.header_nav ul li a {
		padding: 8px 0;
	}
}

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

#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: #EFF1F4;
		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 #FFF;
		border-bottom: 1px solid #CCCCCC;
	}
	#sp_nav li {
		width: 50%;
		text-align: center;
		border-top: 1px solid #CCCCCC;
		border-bottom: 1px solid #FFF;
	}
	#sp_nav li:nth-child(odd) {
		border-right: 1px solid #CCCCCC;
	}
	#sp_nav li:nth-child(even) {
		border-left: 1px solid #FFF;
	}
	#sp_nav li:nth-child(3),
	#sp_nav li:nth-child(4) {
		border-bottom: 1px solid #FFF;
	}
	#sp_nav li a {
		display: block;
		padding: 12px;
		font-weight: bold;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}

	.open_btn { /*ボタン*/
		display: block;
		position:fixed;
		top:10px;
		right: 10px;
		cursor: pointer;
		width: 50px;
		height: 56px;
		background: #1F2B40;
		z-index: 9999;
	}
	.open_btn span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background: #FFF;
		width: 45%;
	}
	.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: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}
	.open_btn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.open_btn.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}
	.open_btn span.menu {
		display: block;
		position: fixed;
		top: 46px;
		right: 10px;
		left: auto;
		background: none;
		color: #FFF;
		width: 50px;
		text-align: center;
		font-size: .4em;
		letter-spacing: -.1em;
	}
	.sp_nav_contents {
		height: 100vh;
		overflow: scroll;
		padding: 30px;
	}
	.sp_nav_contact {
		margin-top: 30px;
		padding: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.sp_nav_contact a {
		margin-top: 12px;
		margin-left: 0;
	}
	.sp_nav_contact a.mail_btn {
		max-width: 100%;
		margin-left: auto;
	}

	/*カテゴリ一覧*/
	.sp_nav_category {
		margin-top: 30px;
	}
	.sp_nav_category p.sp_nav_category_title {
		display: block;
		text-align: center;
		font-weight: bold;
		padding-top: 28px;
		margin-bottom: 12px;
		position: relative;
	}
	.sp_nav_category p.sp_nav_category_title:before {
		content: "";
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		background: url(images/common/icon_clover.png) no-repeat;
		background-size: 100%;
		width: 22px;
		height: 22px;
	}
	.sp_nav_category .sp_nav_category_list {

	}
	.sp_nav_category .sp_nav_category_list ul {
		width: 100%;
		margin-top: 12px !important;
		display: flex;
		flex-direction: column;
	}
	.sp_nav_category .sp_nav_category_list ul li {
		width: 100% !important;
		padding: 0 0 0 30px;
		text-align: left !important;
		border-top: 1px solid #999;
		border-right: none !important;
		border-bottom: 1px solid #FFF;
		position: relative;
	}
	.sp_nav_category .sp_nav_category_list ul li:nth-child(even) {
		border-left: none !important;
	}
	.sp_nav_category .sp_nav_category_list ul li:last-child {
		border-bottom: 1px solid #999;
	}
	.sp_nav_category .sp_nav_category_list ul li:before {
		content: "";
		position: absolute;
		left: 8px;
		top: 50%;
		transform: translateY(-50%);
		background: url(images/common/icon_arrowD.png) no-repeat;
		background-size: 100%;
		width: 16px;
		height: 16px;
	}
}
@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 {
		
	}
	
}

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

.p-contact .p-contact_flex {
	display: flex;
	
}
.p-contact .p-contact_flex .p-contact_flex___item {
	width: auto;
	background: #D62C49;
	color: #FFF;
	padding: 3px 18px;
    border-radius: 4px 4px 0 0;
	font-weight: bold;
	font-size: .9em;
}
.p-contact .p-contact_flex .p-contact_flex___item.item01 {
	margin-left: 30px;
}
.p-contact .p-contact_flex .p-contact_flex___item.item02 {
	margin-left: 12px;
}
.p-contact .p-contact_flex .p-contact_flex___item.item03 {
	margin-left: 12px;
}
.p-contact_box {
	padding: 30px;
	background: url(images/p-contact/bg.jpg) no-repeat;
	background-size: 300px;
    background-position: bottom right;
	position: relative;
	border-top: 1px solid #D62C49;
    border-bottom: 1px solid #D62C49;
}
.p-contact .p-contact_text {
	width: 660px;
}
.p-contact .p-contact_text p.free {
	font-weight: bold;
	color: #D62C49;
	margin-bottom: 12px;
}
.p-contact .p-contact_btn {
	display: flex;
	width: 720px;
    margin: 18px 0 0 0;
    text-align: center;
}

@media screen and (max-width: 1024px) {
	.p-contact {
		padding: 30px 0;
	}
	.p-contact .p-contact_text {
		width: 500px;
		line-height: 1.6;
	}
	.p-contact .p-contact_btn {
		width: 100%;
	}
}
@media screen and (max-width: 560px) {
	.p-contact .p-contact_flex .p-contact_flex___item.item01 {
		margin-left: 12px;
	}
	.p-contact .p-contact_flex .p-contact_flex___item.item02,
	.p-contact .p-contact_flex .p-contact_flex___item.item03 {
		margin-left: 6px;
	}
	.p-contact_box {
		padding: 30px 12px;
		background-position: bottom -30px right -30px;
	}
	.p-contact .p-contact_text {
		width: 390px;
		font-size: .9em;
	}
	.p-contact .p-contact_text p.free {
		margin-bottom: 8px;
	}
	.p-contact .p-contact_btn {
		align-items: center;
	}
}
@media screen and (max-width: 430px) {
	.p-contact .p-contact_flex .p-contact_flex___item {
		padding: 3px 9px;
	}
	.p-contact .p-contact_flex .p-contact_flex___item.item01 {
		margin-left: 0;
	}
	.p-contact .p-contact_flex .p-contact_flex___item.item02,
	.p-contact .p-contact_flex .p-contact_flex___item.item03 {
		margin-left: 3px;
	}
	.p-contact_box {
		padding: 18px 12px;
		background-size: 250px;
		background-position: bottom right -45px;
	}
	.p-contact .p-contact_text {
		width: 100%;
	}
	.p-contact .p-contact_btn {
		flex-direction: column;
	}
	.p-contact .p-contact_btn a.btn_tel {
		width: 280px;
		margin-right: auto;
	}
}
@media screen and (max-width: 320px) {
	.p-contact_box {
		padding: 18px 0;
	}
	.p-contact .p-contact_flex .p-contact_flex___item {
		font-size: .7em;
	}
}

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

aside a.aside_btn {
	display: block;
    margin: 12px auto 0;
    padding: 8px;
    text-align: center;
    background: #1F2B40;
    color: #FFF;
    width: 80%;
    border-radius: 30px;
    font-size: .9em;
    font-weight: bold;
}
aside .media a.aside_btn {
	background: #2E7866;
}

@media screen and (max-width: 430px) {
	aside a.aside_btn {
		margin: 12px auto 0;
		padding: 12px;
	}
}

/* 感染症対策 **********************/

aside .emergency .emergency_text {
    font-size: .78em;
	margin-top: 18px;
}
aside .emergency .emergency_text span {
	display: block;
	text-align: center;
	font-weight: bold;
}

aside .emergency a.emergency_link {
	overflow: hidden;
	display: block;
	border-radius: 4px;
	position: relative;
	width: 100%;
	padding: 15px 10px;
	text-align: center;
	color: #FFF;
	font-size: .9em;
    font-weight: bold;
	z-index: 1;
}
aside .emergency a.emergency_link:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 36px 280px 0 0;
	border-color: #2E7866 transparent transparent transparent;
	z-index: -1;
	transition: all .3s ease;
}
aside .emergency a.emergency_link:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: #276757;
	z-index: -3;
	transition: all .3s ease;
}
aside .emergency a.emergency_link:hover {
	opacity: 1;
}
aside .emergency a.emergency_link:hover:before {
	border-color: #205547 transparent transparent transparent;
}
aside .emergency a.emergency_link:hover:after {
	background-color: #194238;
}

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

aside .office {
	
}
aside .office .office_add {
	margin-top: 18px;
}
aside .office .office_add p {
	margin: 0 0 6px 0;
    line-height: 1.3;
    font-size: .78em;
}
aside .office .office_contact {
	margin-top: 18px;
	
}


/* 記事カテゴリ **********************/

aside .article_category ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #E0E0D8;
	border-left: 1px solid #E0E0D8;
	border-right: 1px solid #E0E0D8;
}
aside .article_category ul li {
	display: block;
}
aside .article_category ul li a {
	display: block;
	height: 42px;
    line-height: 42px;
	font-size: .8em;
	padding: 0 12px 0 18px;
	background: url(images/aside/li_bg.gif) no-repeat;
	background-size: 100%;
	border-top: 1px solid #FFF;
	border-bottom: 1px solid #E0E0D8;
}
aside .article_category ul li a:hover {
	background: url(images/aside/li_bg_on.gif) no-repeat;
	background-size: 100%;
}


@media screen and (max-width: 960px) {
	aside .article_category ul li a {
		height: 36px;
		line-height: 36px;
	}
}


/* 新着 **********************/

.newposts ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.newposts ul li {
	border-top: 1px solid #ededed;
}
.newposts ul li:last-child {
	border-bottom: 1px solid #ededed;
}
.newposts ul li a {
	display: block;
	font-size: .78em;
	padding: 6px 12px;
}
.newposts ul li span {
	display: block;
}

@media screen and (max-width: 560px) {
	.newposts ul li a {
		font-size: 1em;
	}
}


/* 代表者 **********************/

aside .representative .representative_msg {
	font-size: .78em;
	margin-top: 12px;
}

@media screen and (max-width: 560px) {
	aside .representative .representative_msg {
		font-size: 1em;
	}
}


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

aside .media .media_box {
	font-size: .78em;
	margin-bottom: 12px;
}

@media screen and (max-width: 560px) {
	aside .media .media_box {
		font-size: 1em;
	}
}
@media screen and (max-width: 430px) {
	aside .media a.media_link {
		margin: 12px auto 0;
		padding: 12px;
	}
}


/* QRコード **********************/

aside .mobile .mobile_box {
	font-size: .78em;
	text-align: center;
}


/* 姉妹サイト **********************/

aside .sister .sister_box {
	
}
aside .sister ul {
	margin: 0;
	padding: 0;
	list-style: inside;
}
aside .sister ul li {
	font-size: .78em;
}



/****************************************
 * 検索フォーム
*****************************************/

.search_wrap {
	position: relative;
}
.search_text {
	width: 100%;
	height: 40px;
	padding-right: 74px;
	padding-left: 12px;
	border: 1px solid #3F485B;
	border-radius: 3px 0 0 3px;
	transition: all .3s ease;
}
.search_text:focus {
	border: 1px solid #2E7866;
	background: #E5F5F1;
}
.search_button {
	font-size: .8em;
	position:absolute;
	top:0;
	right:0;
	width: 60px;
	height: 40px;
	color: #fff;
	background: #3F485B;
	border-radius: 0 3px 3px 0;
	transition: all .3s ease;
	border: none;
	cursor: pointer;
}
.search_button:hover,
.search_button:active,
.search_button:focus {
	background: #2E7866;
}
.search_button:before {
	content: '';
	position: absolute;
	border-width: 8px 8px 8px 0;
	border-style: solid solid solid none;
	border-color: transparent #3F485B transparent;
	top: 12px;
	left: -6px;
	transition: all .3s ease;
}
.search_button:hover:before,
.search_button:focus:before,
.search_button:active:before {
	border-right-color: #2E7866;
}
input::placeholder {
	color: #999;
}


/****************************************
 * 検索結果
*****************************************/

.search_result {
	padding: 30px;
    margin-top: 18px;
	border: 1px solid #ededed;
    box-shadow: 0 0 6px rgb(102 102 102 / 10%);
}
.search_result a {
	
}
.search_result p.postmetadata {
	text-align: right;
}
.search_result_no {
	padding-bottom: 30px;
}
.search_result_no .search_wrap {
	width: 520px;
	margin: 30px auto 0;
}
p.keyword span {
	font-size: 1.1em;
	font-weight: bold;
}

@media screen and (max-width: 560px) {
	.search_result_no .search_wrap {
		width: 100%;
	}
}


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

/* 事務所の特徴
 * ************************************/

.points {
	margin-bottom: 12px;
}
.points .points_box {
	margin-top: 30px;
}
.points .points_flex {
	display: flex;
	align-items: center;
}
.points .points_flex .points_flex___items {
	width: calc(100% - 300px);
	padding-right: 30px;
}
.points .points_flex .points_flex___items ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.points .points_flex .points_flex___items ul li {
	font-weight: bold;
	line-height: 1.4;
	padding: 12px 12px 12px 40px;
	border-top: 1px dashed #ededed;
	position: relative;
}
.points .points_flex .points_flex___items ul li:last-child {
	border-bottom: 1px dashed #ededed;
}
.points .points_flex .points_flex___items ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_clover.png) no-repeat;
	background-size: 100%;
	width: 28px;
	height: 28px;
}
.points .points_flex .points_flex___map {
	width: 300px;
}

@media screen and (max-width: 560px) {
	.points .points_flex .points_flex___items {
		width: calc(100% - 180px);
	}
	.points .points_flex .points_flex___map {
		width: 180px;
	}
}
@media screen and (max-width: 430px) {
	.points .points_flex {
		flex-direction: column;
	}
	.points .points_flex .points_flex___items,
	.points .points_flex .points_flex___map {
		width: 100%;
		padding: 0;
	}
	.points .points_flex .points_flex___map {
		text-align: center;
		margin-top: 12px;
	}
	
	.points .points_flex .points_flex___items ul li {
		padding: 10px 10px 10px 28px;
	}	
	.points .points_flex .points_flex___items ul li:before {
		width: 18px;
		height: 18px;
	}
}


/* 相続登記申請が義務化
 * ************************************/

.important {
	margin: 0 0 45px;
	padding-bottom: 18px;
	background: #f2c641;
	border-radius: 4px;
}
.important .important_box {
	text-align: center;
	padding: 18px 18px 9px 18px;
	margin-bottom: 12px;
	border-bottom: 1px solid;
}
.important .important_box p {
	font-size: 1.9em;
	font-weight: bold;
	font-family: sans-serif;
}
.important .important_box p span {
	display: block;
	font-size: .9em;
	margin-top: -12px;
}

@media screen and (max-width: 1024px) {
	.important .important_box p {
		font-size: 1.6em;
	}
}
@media screen and (max-width: 560px) {
	.important .important_box p {
		font-size: 1.3em;
		line-height: 1.5;
	}
}
@media screen and (max-width: 430px) {
	.important {
		margin: 0 0 30px;
		padding-bottom: 8px;
	}
	.important .important_box {
		padding: 15px 15px 8px 15px;
		margin-bottom: 8px;
	}
	.important .important_box p {
		font-size: 1.3em;
	}
	.important .important_box p span {
		display: inline-block;
	}
}
@media screen and (max-width: 380px) {
	.important .important_box p span {
		font-size: 1em;
	}
}

/* お悩み・問題
 * ************************************/

.problem .problem_items {
	margin-top: 30px;
}
.problem .problem_items ul {
	list-style: none;
	width: 760px;
	margin: 0 auto;
	padding: 0;
}
.problem .problem_items ul li {
	font-size: 1.3em;
	font-weight: bold;
	padding: 12px 12px 12px 42px;
	position: relative;
}
.problem .problem_items ul li:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_check.png) no-repeat;
	background-size: 100%;
	width: 28px;
	height: 28px;
}
.problem .problem_items_bottom {
	position: relative;
	display: inline-block;
	margin: 60px 0 0;
	padding: 30px;
	min-width: 120px;
	max-width: 100%;
	background: #FFF;
	border: 1px solid #1F2B40;
}
.problem .problem_items_bottom:before {
	content: "";
	position: absolute;
	top: -86px;
	left: 50%;
	margin-left: -60px;
	border: 60px solid transparent;
	border-bottom: 26px solid #1F2B40;
}
.problem .problem_solution {
	margin-top: 30px;
}
.problem .problem_solution ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.problem .problem_solution ul li {
	margin-top: 18px;
	padding: 30px;
	background: #EAEEF5;
}
.problem .problem_solution ul li span {
	display: block;
	font-weight: bold;
	font-size: 1.3em;
}
.problem .problem_solution ul li span:after {
	content: "・・・・・";
	
}
.problem .problem_solution .problem_solution_bottom {
	margin-top: 30px;
}
.problem .problem_solution .problem_solution_bottom .problem_solution_bottom_flex {
	display: flex;
}
.problem .problem_solution .problem_solution_bottom .problem_solution_bottom_flex .problem_solution_bottom_flex___photo {
	width: 300px;
	margin: 0 30px 30px 0;
}
.problem .problem_solution .problem_solution_bottom .problem_solution_bottom_flex .problem_solution_bottom_flex___text {
	width: calc(100% - 330px);
}

@media screen and (max-width: 1024px) {
	.problem .problem_items ul {
		width: 100%;
	}
	.problem .problem_items ul li {
		padding: 12px 12px 12px 47px;
	}
}
@media screen and (max-width: 560px) {
	.problem .problem_solution .problem_solution_bottom .problem_solution_bottom_flex {
		flex-direction: column;
	}
	.problem .problem_solution .problem_solution_bottom .problem_solution_bottom_flex .problem_solution_bottom_flex___text {
		width: 100%;
	}
}
@media screen and (max-width: 430px) {
	.problem .problem_items ul li {
		padding: 6px 0 6px 38px;
		font-size: 1.2em;
		color: #C62946;
	}
	.problem .problem_items ul li:before {
		width: 20px;
		height: 20px;
	}
	.problem .problem_items_bottom {
		padding: 20px;
	}
	.problem .problem_items_bottom p {
		font-weight: bold;
	}
	.problem .problem_solution ul li {
		padding: 18px;
	}
}


/* プロフィール
 * ************************************/

.profile .profile_box {
	margin-top: 30px;
}
.profile .profile_photo {
	float: left;
	margin: 0 30px 30px 0;
}
.profile .profile_greeting {
	
}
.profile .profile_office {
	clear: both;
	margin-top: 30px;
}
.profile .profile_office table {
	width: 100%;
}
.profile .profile_office table tr {
	display: block;
	padding: 12px 0;
	border-top: 1px solid #ededed;
}
.profile .profile_office table tr:last-child {
	border-bottom: 1px solid #ededed;
}
.profile .profile_office table th {
	width: 200px;
}
.profile .profile_office table td {
	width: calc(100% - 200px);
}
.profile p.car {
	margin-top: 30px;
	color: #2E7866;
	font-size: .9em;
}

@media screen and (max-width: 560px) {
	.profile .profile_photo img {
		width: 240px;
	}
	.profile .profile_office table th {
		width: 130px;
	}
	.profile .profile_office table td {
		width: calc(100% - 130px);
	}
}
@media screen and (max-width: 430px) {
	.profile .profile_photo img {
		width: 180px;
	}
	.profile .profile_office table th {
		width: 100px;
	}
	.profile .profile_office table td {
		width: calc(100% - 100px);
	}
}

/* 選ばれる理由
 * ************************************/

.reasons .reasons_items ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.reasons .reasons_items ul li {
	padding: 30px 0 0;
	display: flex;
	align-items: flex-start;
}
.reasons .reasons_items ul li .reasons_items_box {
	padding-left: 30px;
}

@media screen and (max-width: 560px) {
	.reasons .reasons_items ul li img {
		width: 160px;
	}
}
@media screen and (max-width: 430px) {
	.reasons .reasons_items ul li {
		display: block;
		padding: 18px 0;
		border-bottom: 1px solid #ededed;
	}
	.reasons .reasons_items ul li img {
		float: left;
		width: 120px;
		margin-right: 20px;
		margin-bottom: 20px;
	}
	.reasons .reasons_items ul li .reasons_items_box {
		padding-left: 0;
	}
}

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

.flow {
	margin-bottom: 60px;
	background: url(images/front-page/flow_item_bg.jpg) repeat;
	background-size: 300px;
}
.flow .flow_items_title {
	margin-bottom: 12px;
}
.flow .flow_items_title span {
	display: inline-block;
	margin-right: 12px;
}
.flow .flow_items ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.flow .flow_items ul li {
	padding: 15px 30px;
	display: flex;
	align-items: flex-start;
}
.flow .flow_items ul li .flow_items_box {
	width: 100%;
	background: #FFF;
    padding: 30px;
    border: 1px solid #D2EEE7;
    border-radius: 12px;
	box-shadow: 0 0px 6px 0px rgb(25 37 36 / 10%);
}

@media screen and (max-width: 560px) {
	.flow {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 430px) {
	.flow .flow_items ul li {
		padding: 15px 18px;
	}
	.flow .flow_items ul li .flow_items_box {
		padding: 18px;
	}
}

/* 解説記事
 * ************************************/

.articles {
	padding-bottom: 60px;
}
.articles .articles_box {
	margin-top: 30px;
}
.articles .articles_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.articles .articles_categories {
	width: calc(100%/2 - 18px);
	margin-top: 30px;
}
.articles .articles_categories:nth-child(1),
.articles .articles_categories:nth-child(2) {
	margin-top: 0;
}
.articles .articles_categories .articles_categories_title {
	padding-left: 28px;
	border-bottom: 1px solid #999;
	position: relative;
}
.articles .articles_categories .articles_categories_title:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_clover.png) no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
}
.articles ul {
	list-style: inside;
	margin: 18px 0 0;
	padding: 0;
}
.articles ul li {
	
}

@media screen and (max-width: 560px) {
	.articles {
		padding-bottom: 30px;
	}
	.articles .articles_flex {
		flex-direction: column;
	}
	.articles .articles_categories {
		width: 100%;
	}
	.articles .articles_categories:nth-child(1) {
		margin-top: 0;
	}
	.articles .articles_categories:nth-child(2) {
		margin-top: 30px;
	}
}


/****************************************
 * single.php
*****************************************/

.summary {
    padding: 18px;
}
#content {
	padding: 18px 0;
	margin-bottom: 30px;
	border-top: 1px solid #1F2B40;
	border-bottom: 1px solid #1F2B40;
}
#content p {
	line-height: 1.5;
	margin: 16px 0 0!important;
}

.post_meta {
	overflow: hidden;
	margin: 30px 0;
}
.post_meta a.goprofile {
	display: inline-block;
}
.post_meta a.category_back {
	float: right;
	display: inline-block;
	background: #1F2B40;
	color: #FFF;
	border: 2px double #FFF;
	padding: 3px 12px 3px 28px;
	font-size: .9em;
	border-radius: 4px;
	position: relative;
}
.post_meta a.category_back:before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_arrowA.png) no-repeat;
	background-size: 100%;
	width: 20px;
	height: 20px;
}

#content figure {
	margin: 1em auto 0;
}
#content table,
#content table td {
	border-collapse: collapse;
}
#content table th,
#content table td {
	padding: 12px !important;
}
#content table th {
	background: url(images/common/th.gif) repeat-x;
	background-position: center top;
	border: 1px solid #ededed;
	border-bottom: 2px solid #D1D6DF;
}
#content table td {
	border: 1px solid #ededed;
}

#content ol {
	margin: 1em 0 0 2em;
	padding: 0;
}
#content ol li {
	line-height: 1.6;
	margin-top: 6px;
}
#content ul {
	margin: 1em 0 0 2em;
	padding: 0;
}
#content ul li {
	line-height: 1.6;
	margin-top: 6px;
	padding-left: 26px;
	list-style-type:none;
	position: relative;
}
#content ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
    transform: translateY(-50%);
	background: url(images/common/icon_arrowD.png) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 12px;
}
#content ul li ul {
	margin: 0 0 0 1em;
}
#content ul li ul li {
	padding-left: 20px;
	position: relative;
}
#content ul li ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
    transform: translateY(-50%);
	background: url(images/common/icon_arrowD-C2C8D5.png) no-repeat;
	background-size: 100%;
	width: 8px;
	height: 8px;
}


/* 業務料金 969
 * *************************************/

.price_frame {
	border: 1px solid #2E7866;
    margin: 18px;
	padding: 45px;
	background: #F7FCFB;
	border-radius: 4px;
	position: relative;
}
.price_frame:before {
	content: "";
	position: absolute;
	right: -12px;
	top: -12px;
	background: url(images/price/frame_right.png) no-repeat;
	background-size: 100%;
	width: 120px;
	height: 120px;
}
.price_frame:after {
	content: "";
	position: absolute;
	left: -12px;
    bottom: -12px;
	background: url(images/price/frame_left.png) no-repeat;
	background-size: 100%;
	width: 120px;
	height: 120px;
}
.price_frame p {
	color: #2E7866;
	font-weight: bold;
}

@media screen and (max-width: 560px) {
	.price_frame {
		padding: 30px;
	}
	.summary {
		padding: 18px 0;
	}
	.post_meta a.category_back {
		margin-top: 30px;
	}
}
@media screen and (max-width: 430px) {
	.post_meta a.category_back {
		width: 100%;
		padding: 8px 8px 8px 32px;
	}
}

/****************************************
 * category.php
*****************************************/

.post_item { /*ループ*/
	padding: 30px;
	margin-top: 18px;
	background: #FFF;
	border: 1px solid #ededed;
	box-shadow: 0 0 6px rgb(102 102 102 / 10%);
}
.post_item p.excerpt {
	padding: 0 !important;
	line-height: 1.6 !important;
}
.post_item a.more {
	display: inline-block;
	position: relative;
	padding-left: 23px;
}
.post_item a.more:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
    transform: translateY(-50%);
	background: url(images/common/icon_arrowC.png) no-repeat;
	background-size: 100%;
	width: 16px;
	height: 16px;
}


/*サービス案内*/
.service_box {
	margin-bottom: 60px;
}
.service_box .service_title {
	color: #2E7866;
	font-size: 1.6em;
	border-bottom: 2px double #2E7866;
	padding: 0 12px;
	margin-bottom: 18px;
}
.service_box .souzokuhouki_text {
	margin-top: 30px;
	padding: 30px;
	position: relative;
}
.service_box .souzokuhouki_text.paper {
  background: #FFF;
  box-shadow: inset 0 0 30px rgba(230,220,228,0.8);
}
.service_box .souzokuhouki_text:before {
  content: " ";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  border-width: 0 30px 30px 0;
  border-style: solid;
  width: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.service_box .souzokuhouki_text.paper:before {
  background: #e3e3e3;
  border-color: #fff #fff #e3e3e3 #e3e3e3;
}
.service_box ul {
	list-style: none;
}

/*ナビゲーション*/
.navigation {
	margin: 30px 0;
}
.navigation .navigation_flex {
	display: flex;
}
.navigation .navigation_flex .alignleft {
	width: 50%;
	text-align: center;
	border-right: 1px solid #ededed;
}
.navigation .navigation_flex .alignright {
	width: 50%;
	text-align: center;
}
.navigation .navigation_flex .alignleft a,
.navigation .navigation_flex .alignright a {
	display: inline-block;
	width: 100%;
	color: #1F2B40;
	position: relative;
}
.navigation .navigation_flex .alignleft a:before,
.navigation .navigation_flex .alignright a:before {
	content: "";
	width: 22px;
	height: 22px;
}
.navigation .navigation_flex .alignleft a:before {
	position: absolute;
	left: 30%;
	top: 50%;
    transform: translateY(-50%);
	background: url(images/common/icon_arrowBl.png) no-repeat;
	background-size: 100%;
}
.navigation .navigation_flex .alignright a:before {
	position: absolute;
	right: 30%;
	top: 50%;
    transform: translateY(-50%);
	background: url(images/common/icon_arrowBr.png) no-repeat;
	background-size: 100%;
}

@media screen and (max-width: 560px) {
	.post_item { /*ループ*/
		padding: 20px;
	}
	
	.navigation .navigation_flex .alignleft a:before,
	.navigation .navigation_flex .alignright a:before {
		width: 18px;
		height: 18px;
	}
}
@media screen and (max-width: 430px) {
	.navigation .navigation_flex .alignleft a:before {
		left: 20%;
	}
	.navigation .navigation_flex .alignright a:before {
		right: 20%;
	}
}

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

@media screen and (max-width: 560px) {
	ul#sitemap_list {
		margin-left: 0;
	}
}

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

.totop {
	text-align: center;
	padding: 12px 0;
}
.totop a {
	color: #2E7866;
	font-size: .8em;
}

footer {
	clear: both;
	padding: 60px 0 0;
	background: #F0F0F0 url(images/common/footer_bg.gif) repeat-x;
    background-position: top;
	border-top: 1px solid #CCCCCC;
}    
footer .footer_logo a.logo_yoko {
	display: inline-block;
}
footer .footer_logo p {
	margin-bottom: 0;
	font-size: .8em;
}
footer .footer_logo p.name {
	margin-top: 12px;
}
footer .footer_logo p.representative span {
	margin-right: 6px;
}
footer .footer_logo a.map_link {
	display: inline-block;
	font-size: .8em;
    background: #1F2B40;
    color: #FFF;
    padding: 1px 12px;
    border-radius: 30px;
}

footer .footer_nav {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
    align-items: flex-start;
}
footer .footer_nav .footer_nav_main {
	width: 260px;
	padding-right: 30px;
}
footer .footer_nav .footer_nav_main ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #FFF;
    border-bottom: 1px solid #CCCCCC;
}
footer .footer_nav .footer_nav_main ul li {
	font-size: .9em;
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #FFF;
	padding: 3px 12px 3px 32px;
	position: relative;
}
footer .footer_nav .footer_nav_main ul li:before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_arrowD.png) no-repeat;
	background-size: 100%;
	width: 12px;
	height: 12px;
}
footer .footer_nav .footer_nav_main ul li:nth-child(5),
footer .footer_nav .footer_nav_main ul li:nth-child(6) {
	font-size: .7em;
}
footer .footer_nav .footer_nav_articles {
	width: calc(100% - 320px);
}
footer .footer_nav .footer_nav_articles ul  {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
footer .footer_nav .footer_nav_articles ul li {
	width: calc(100% / 3);
	font-size: .8em;
	padding-left: 28px;
	position: relative;
}
footer .footer_nav .footer_nav_articles ul li:before {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: url(images/common/icon_arrowD-C2C8D5.png) no-repeat;
	background-size: 100%;
	width: 10px;
	height: 10px;
}
footer .footer_nav .footer_nav_main ul li a,
footer .footer_nav .footer_nav_articles ul li a {
	display: block;
}
.copyright {
	text-align: center;
	background: #F5F5F5;
	border-top: 1px solid #FFF;
	padding: 18px;
	margin-top: 60px;
	font-size: .9em;
}

@media screen and (max-width: 1024px) {
	footer .footer_nav .footer_nav_main {
		width: 250px;
	}
	footer .footer_nav .footer_nav_articles {
		width: calc(100% - 250px);
	}
}
@media screen and (max-width: 768px) {
	footer .footer_nav .footer_nav_main {
		width: 230px;
	}
	footer .footer_nav .footer_nav_articles {
		width: calc(100% - 230px);
	}
	footer .footer_nav .footer_nav_articles ul li {
		width: calc(100% / 2);
	}
}
@media screen and (max-width: 560px) {
	.totop a {
		font-size: .9em;
	}
	footer .footer_nav .footer_nav_main {
		width: 200px;
	}
	footer .footer_nav .footer_nav_main ul li {
		padding: 8px 12px 8px 32px; 
		font-size: .9em;
	}
	footer .footer_nav .footer_nav_articles {
		width: calc(100% - 200px);
	}
	footer .footer_nav .footer_nav_articles ul li {
		width: calc(100% / 2);
		font-size: .9em;
	}
}
@media screen and (max-width: 430px) {
	footer .footer_nav {
		flex-direction: column;
	}
	footer .footer_nav .footer_nav_main {
		width: 100%;
	}
	footer .footer_nav .footer_nav_articles {
		width: 100%;
		margin-top: 18px;
	}
	footer .footer_nav .footer_nav_articles ul {
		flex-direction: column;
	}
	footer .footer_nav .footer_nav_articles ul li {
		flex-direction: column;
		width: 100%;
	}
}

/****************************************
 * Admin
*****************************************/

.login {
	text-align: right;
	background: #FBEDF0;
	padding: 12px 0;
}
.login .post-edit-link {
	color: #D62C49;
	text-decoration: underline;
}



.wp-block-table {
	overflow: hidden !important;
}

/*不明*/
#content .box02_left {
	float: left;
	width: 340px;
	margin-left: 2px;
}
#content .box02_right {
	float: right;
	width: 340px;
}
#content .box02_left h3, #content .box02_right h3 {
	clear: both;
}
#content .box02_left .box_in,
#content .box02_right .box_in {
	padding-right: 10px;
	padding-left: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
}
#content .box02_left p,
#content .box02_right p {
	margin: 0px;
}

.img_left {
	float: left;
	background-color: #FFFFFF;
	padding: 2px;
	margin-top: 5px;
	margin-right: 20px;
	margin-bottom: 10px;
	margin-left: 10px;
	border: 1px solid #EDECE9;
}
.img_right {
	float: right;
	background-color: #FFFFFF;
	padding: 2px;
	margin-top: 5px;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 20px;
	border: 1px solid #EDECE9;
}
#top_img {
	text-align: center;
	background-color: #FFFFFF;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #DFDFDF;
}

#content .to_top {
	text-align: right;
	padding-right: 20px;
	padding-bottom: 10px;
	clear: both;
	margin-top: 10px;
}


/*
ギャラリー
-------------------------------------------------------------------*/
#content .box3 {
	text-align: center;
	width: 205px;
	padding-top: 8px;
	padding-bottom: 8px;
	border: 1px solid #EEE8DF;
	float: left;
	margin-bottom: 10px;
	margin-left: 10px;
	background-color: #F9F7F4;
}
.box3 .btn a {
	font-size: 12px;
	color: #FFFFFF;
	background-color: #BF9F62;
	display: block;
	margin-top: 5px;
	padding-top: 2px;
	padding-bottom: 2px;
	width: 100px;
	margin-right: auto;
	margin-left: auto;
	text-decoration: none;
	line-height: 14px;
	border-top-width: 1px;
	border-right-width: 2px;
	border-bottom-width: 1px;
	border-left-width: 2px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #EBE1CF;
	border-right-color: #EBE1CF;
	border-bottom-color: #EBE1CF;
	border-left-color: #EBE1CF;
	background-image: url(img/btn.gif);
	background-repeat: repeat-x;
	background-position: center top;
}
.box3 .btn a:hover {
	color: #008DD9;
	background-color: #F0FDFF;
	background-image: none;
}
.box3 a img {
	background-color: #FFFFFF;
	padding-top: 2px;
	padding-right: 1px;
	padding-bottom: 2px;
	padding-left: 1px;
	border: 1px solid #E2DBCD;
}
.box3 a:hover img {
	border-top-color: #89E1FE;
	border-right-color: #89E1FE;
	border-bottom-color: #2FCAFD;
	border-left-color: #89E1FE;
}
#content .box3:hover {
	background-color: #ECFBFF;
	border-top-color: #B3E9F7;
	border-right-color: #B3E9F7;
	border-bottom-color: #B3E9F7;
	border-left-color: #B3E9F7;
}


/* ここからIE用のスタイル指定 */
@media all and (-ms-high-contrast:none){


 /* IE10 */
}

/*---------- ～ 1000px ----------*/
@media screen and (max-width: 1000px) {

#base, #jsnavi, #main, #foot, img#head-img {
  width:99%;
  box-sizing:border-box;
}
img#head-img {
	margin-right:0px;
	margin-left:0px;
}



#content iframe {
  max-width:95%;
}

#content table.table_info {
  width:85%;
}

#content .box02_left, #content .box02_right {
  width:49%;
}

#content img {
  max-width:99%;
  height:auto !important;
}


/* tb1 */
table.tb1 {
	width: 100%;
	margin-bottom: 2%;
}
table.tb1 th {
	text-align: center !important;
	padding: 1% !important;
}
table.tb1 th.th_a {
	width: 40%;
}
table.tb1 th.th_b {
	width: 60%;
}
table.tb1 td {
	text-align: center;
	padding: 1% !important;
}
table.tb1 td.td_p {
	color: #36f;
	font-weight: bold;
}
table.tb1 td.info {
	text-align: left;
	padding: 1% 3% !important;
}
/* tb2 */
table.tb2 {
	width: 100%;
	margin-bottom: 2%;
}
table.tb2 th {
	text-align: center !important;
	padding: 1% !important;
}
table.tb2 th.th_a {
	width: 30%;
}
table.tb2 th.th_b {
	width: 30%;
}
table.tb2 th.th_c {
	width: 40%;
}
table.tb2 td {
	text-align: center;
	padding: 1% !important;
}
table.tb2 td.td_p {
	color: #36f;
	font-weight: bold;
}
/* tb3_pc */
table.tb3_pc {
	width: 100%;
	margin-bottom: 2%;
}
@media screen and (max-width: 480px) {
	table.tb3_pc {
		display: none;
	}
}
table.tb3_pc th {
	text-align: center !important;
	padding: 1% !important;
}
table.tb3_pc th.th_a {
	width: 40%;
}
table.tb3_pc th.th_b {
	width: 40%;
}
table.tb3_pc th.th_c {
	width: 12%;
}
table.tb3_pc td {
	text-align: left;
	padding: 1% !important;
}
table.tb3_pc td.td_p {
	color: #36f;
	font-weight: bold;
}
/* tb4 tb_pcのなか */
table.tb4 {
	width: 100%;
	margin-bottom: 2%;
}
table.tb4 th {
	text-align: center !important;
	padding: 1% !important;
	border: none !important;
	background: #fafafa !important;
	border-bottom: 1px dashed #ededed !important;
}
table.tb4 th.th_a {
	width: 45% !important;
}
table.tb4 th.th_b {
	width: 45% !important;
}
table.tb4 td {
	text-align: center !important;
	padding: 1% !important;
	border: none !important;
	border-bottom: 1px dashed #ededed !important;
}
table.tb4 td.td_t {
	text-align: left !important;
	border: none !important;
}
/* tb3_sp */
table.tb3_sp {
	display: none;
	margin-bottom: 2%;
}
@media screen and (max-width: 480px) {
	table.tb3_sp {
		display: block;
		margin-bottom: 2%;
	}
}
table.tb3_sp th {
	text-align: center !important;
	padding: 1% !important;
}
table.tb3_sp th.th_a {
	width: 100%;
}
table.tb3_sp th.th_b {
	width: 18%;
}
table.tb3_sp th.th_c {
}
table.tb3_sp td {
	text-align: left;
	padding: 1% !important;
}
table.tb3_sp td.td_p {
	color: #36f;
	font-weight: bold;
}

/* 投稿記事のところ */
h1.article {
	margin: 2% 0;
	padding: 0 2%;
	border-bottom: 3px double;
	font-size: 160%;
}
@media screen and (max-width:  480px) {
	h1.article {
		font-size: 130% !important;
	}
}
/* サイドバーの最新の記事5件表示のところ */
#side li#recent-posts-2 ul {
	border: none;
	margin-top: 10px;
	width: 215px;
}
@media screen and (max-width:  768px) {
	#side li#recent-posts-2 ul {
		width: 100%;
	}
}
#side li#recent-posts-2 ul li {
	border-bottom: 1px dashed #cfcfcf;
	padding: 0 5px;
	background-color: #FFFFFF;
}
#side li#recent-posts-2 ul li a {
	border: none;
    background-image: none;
	padding: 13px 0 5px 0;
	height: auto;
	background-color: #FFFFFF;
	font-weight: bold;
}
#side li#recent-posts-2 ul li span.post-date {
	display: block;
    text-align: right;
	margin-bottom: 10px;
	color: #999999;
}
/* book*/
.book {
	margin-top: 20px;
	text-align: center;
	line-height: 1.6;
}
.book p {
	text-align: left;
	color: red;
	font-size: 1.2em;
	font-weight: bold;
}
.book a {
	display: block !important;
	background: none !important;
	height: auto !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.book a.media_link {
	text-decoration: underline !important;
	text-align: center !important;
}
	
.tolist {
	width: 100%;
    text-align: center;
	margin: 5% 0 10% 0;
}
@media screen and (max-width: 480px) {
	.tolist {
		margin: 10% 0 10% 0;
	}
}
.tolist a {
	border: 1px solid #ededed;
    padding: 2%;
    border-radius: 3px;
    background: #fafafa;	
}

.sub_list {}
.sub_list h2 {
	font-size: 140%;
    font-weight: bold;
    background: #f6f6f6;
    border-bottom: 3px double #3f0001;
	margin-top: 3%;
}
.sub_list ol {
	line-height: 2.8;
}
.sub_list ol li {
	line-height: 2;
}

#attachment_1858,
#attachment_1862 {
	float: left;
}
@media screen and (max-width: 480px) {
	#attachment_1858,
	#attachment_1862 {
		float: none;
		width: 100% !important;
		text-align: center;
	}
}
p.wp-caption-text {
	font-size: 70%;
}
#attachment_1865 {
	width: 100% !important;
	text-align: center;
}
.center_image {
	overflow: hidden;
}
#attachment_1879,
#attachment_1881,
#attachment_1884,
#attachment_1887,
#attachment_1886 {
	text-align: center;
    width: 100% !important;
}

h2.toph2 {
	color: red;
    font-weight: bold;
    border: 1px solid red;
    background: #f9f9f9;
	padding: 2%;
}
.topbox {
	overflow: hidden;
	background: #f9f9f9;
	padding: 3%;
}
.topbox p.txt110 {
	font-size: 110%;
}
#attachment_1877 {
	text-align: center;
	float: right;
	max-width: 200px;
}
@media screen and (max-width: 768px) {
	#attachment_1877 {
		max-width: 150px;
	}
}
@media screen and (max-width: 480px) {
	.topbox p {
		margin: 0 !important;
	}
	#attachment_1877 {
		float: none;
		margin: 0 auto;
		max-width: 99%;
	}
	.topbox p.txt110 {
		text-align: center;
	}
	.topbox p.txt110 span {
		display: block;
		
	}
}

