/*
Theme Name: Juhan ver.2.9
Theme URI:
Author: SHOKODO Co.,Ltd
Description: TOPページ1カラムデザイン（全体は緑の色合い変更）
Version: 2.9
*/
/*-----------------------------------------
	Base structure
	Common
    media all
-----------------------------------------*/
@font-face {
	font-family: Noto Sans JP R;
	font-display: swap;
	src: url("/fonts/NotoSansJP-Regular.ttf");
}
@font-face {
	font-family: Noto Sans JP M;
	font-display: swap;
	src: url("/fonts/NotoSansJP-Medium.ttf");
}
@font-face {
	font-family: Noto Sans JP B;
	font-display: swap;
	src: url("/fonts/NotoSansJP-Bold.ttf");
}
@font-face {
	font-family: Noto Sans JP E;
	font-display: swap;
	src: url("/fonts/NotoSansJP-Black.ttf");
}
@font-face {
	font-family: Noto Serif JP R;
	font-display: swap;
	src: url("/fonts/NotoSerifJP-Regular.ttf");
}
@font-face {
	font-family: Noto Serif JP M;
	font-display: swap;
	src: url("/fonts/NotoSerifJP-Medium.ttf");
}
@font-face {
	font-family: Noto Serif JP B;
	font-display: swap;
	src: url("/fonts/NotoSerifJP-Bold.ttf");
}
@font-face {
	font-family: Noto Serif JP E;
	font-display: swap;
	src: url("/fonts/NotoSerifJP-Black.ttf");
}


html {
	scroll-behavior: smooth; /* アンカークリック時にスムーズにスクロール */
	overflow-x: hidden; /* 横スクロールバー非表示 */
}
/*ディスプレイ左右の余白対策*/
* {
	margin:0;
	padding:0;
}
body {
	position: relative;
	font-family: 'Noto Sans JP M';
	color: #3b2f23;
	font-size: 0.8rem;/*12px;*/
	font-weight: 400;
	line-height: 180%;
	margin: 0;
	padding: 0;
}
	body#body-lower {
		min-height: 100vh;
		display: grid;
		grid-template-rows: auto 1fr auto;
		grid-template-columns: 100%;
	}

/* borderの太さやpaddingの大きさをwidthに含める */
*,
*:before,
*:after {
	box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
	min-height: 0;
	min-width : 0;
 }

/* リストマーカーを表示しない */
ul {
	list-style: none;
}

ul.listVerticalDotIn {
	list-style-type: disc;
	margin: 0;
	padding: 0 0 0 2em;
}

ol.number-list {
	list-style-type: decimal;
	padding: 2em;
}
	ol.number-list li h2.sub-title {
		font-family: 'Noto Serif JP B';
		font-weight: 800;
		color: #3b2f23;
	}

/*右側にカッコつき数字*/
ol.kakko-list {
	list-style-type: none;
	margin-left: 2em;
}
	ol.kakko-list li {
		position: relative;
		counter-increment: cnt;
		margin-bottom: 1em;
	}
		ol.kakko-list li::before {
			content: counter(cnt) " ) ";
			position: absolute;
			top: 0;
			left: 0;
			display: inline-block;
			margin-left: -2em;
			text-align: right;
		}

/*-----------------------------------------
	Text
-----------------------------------------*/
p {
	display: block;
	margin: 1.250em 0;
}

.small {
	font-size: 85%;
	line-height: 130%;
}
.vsmall {
	font-size: 60%;
	line-height: 110%;
}
/*-----------------------------------------
	Image
-----------------------------------------*/
img {
	max-width: 100%;              /* 1 width/height属性によってコントロールされるアスペクト比を維持しつつ、画像のサイズを流動的に変更できるようにします。 */
	height: auto;                 /* 1 */
	vertical-align: middle;       /* 2 画像の下にできる余白を取り除きます。 */
	font-style: italic;           /* 3 altテキストを斜体にして、周囲のテキストから視覚的に相殺します。 */
	background-repeat: no-repeat; /* 4 オプション: LQIP(Low-Quality Image Placeholders)用に背景を設定。 */
	background-size: cover;       /* 4 */
	shape-margin: 0.75rem;        /* 5 オプション: 回り込みシェイプ用にshape-outsideのmarginを設定。 */
  }
a:hover img {
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: alpha(opacity=50);
}

/*-----------------------------------------
	float WP標準classの設定
-----------------------------------------*/
.centered,
.aligncenter,
img.centered,
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignright,
img.alignright {
	padding: 0.250em;
	margin: 0 0 0.125em 0.438em;
	display: inline;
}

.aignleft,
img.alignleft {
	padding: 0.250em;
	margin: 0 0.125em 0.438em 0;
	display: inline;
}
@media screen and (min-width: 436px) {
	.alignright {
		float: right;
	}
	.alignleft {
		float: left;
	}
}
/* clearfix */
.clearfix {
    overflow: hidden;
    zoom: 1;
}
	.clearfix:after {
		content: "";
		display: block;
		clear: both;
	}

/*------------------------------------------------------------
	Gallery
-------------------------------------------------------------*/
	.gallery br {
		display: none; /* clearfixの余白解除 */
	}
.gallery-item img {
	border: none !important;
}
@media screen and (min-width: 436px) {
	.gallery {
		width: 100%;
	   margin-bottom: 1em !important;
	   overflow: hidden;

	   display: flex;
	   flex-wrap: wrap;
	   justify-content: space-between;
   }
	   .gallery::after {
		   content: "";
		   width: 32%;
		   height: 0;
	   }
   .gallery-columns-2 .gallery-item {
	   width: 49% !important;
	   height: auto;
   }
   .gallery-columns-3 .gallery-item {
	   width: 32% !important;
	   height: auto;
   }
   .gallery-columns-4 .gallery-item {
	   width: 32% !important;
	   height: auto;
   }
   .gallery-columns-5 .gallery-item {
	   width: 32% !important;
	   height: auto;
   }
}
/*------------------------------------------------------------
	Captions
-------------------------------------------------------------*/
.wp-caption {
	display: block;
	max-width: 100%;
	margin-bottom:24px;
	background:#fff;
	margin: 10px 0;
	padding:0;
	background: none;
}
.wp-caption-text {
	text-align:left;
	font-size:85%;
	color: #666;
	font-style:normal;
	line-height: 150%;
	margin:9px auto;
	clear: both;
}
	.wp-caption-text::before {
		content: '\f0d8';
		padding: 0 6px 0 5px;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
	}
.wp-caption img[class*="wp-image-"] {
	display:block;
	margin:0 auto;
	max-width: 100%;
	height: auto;
}
/*-----------------------------------------
	link　color指定はここではしない個別に指定
-----------------------------------------*/
a,
a:link,
a:visited,
a:active {
	color: #127354;
	text-decoration: none;
}
a:hover {
	color: #127354;
	text-decoration: underline;
}
.nav-top a {
    color: #fff;
}
/*--Heading------------------------------------*/
h1 {
	font-size: 150%;
	font-family: 'Noto Serif JP E';
	font-weight: 900;
}
h2 {
	font-size: 120%;
	font-family: 'Noto Serif JP B';
	font-weight: 800;
}
h3 {
	font-size: 120%;
	font-family: 'Noto Serif JP B';
	font-weight: 800;
}
h4 {
	font-size: 100%;
	font-family: 'Noto Serif JP B';
	font-weight: 800;
}
.index-title {
	display: block;
	width: 100%;
	text-align: center;
    padding: 0 0 0 0;
	margin: 0 0 1.5em 0;
	color: #5c8f4a;
}
	.index-title span {
		display: block;
		width: 100%;
		text-align: center;
		line-height: 150%;
		font-size: 60%;
		color: #3b2f23;
	}
.green {
	display: block;
	width: 100%;
	text-align: center;
	margin: 0 0 0.5em 0;
	color: #5c8f4a;
}
.sub-title {
	display: block;
	width: 100%;
	text-align: left;
	margin: 0 0 1em 0;
	padding: 0;
	color: #5c8f4a;
}
.arch-title {
	display: block;
	width: 100%;
	text-align: center;
	color: #5c8f4a;
	margin: 0 0 1em 0;
	padding: 0 0 0 0;
	display: flex;
	align-items: center;
}
	.arch-title::before,
	.arch-title::after {
		content: "";
		height: 2px;
		background-color: #5c8f4a;
		flex-grow: 1;
	}
	.arch-title::before {
		margin-right: 1em;
	}
	.arch-title::after {
		margin-left: 1em;
	}
/*-----------------------------------------
	Flex box
-----------------------------------------*/
.flex-2 {
	width: 100%;
	margin: 0 auto;
	flex-wrap: wrap;
}
@media screen and (min-width: 436px) {
	.flex-2 {
		display: flex;
		justify-content: space-between;
	}
	.flex-2m {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.flex-rent-sale {
		width: 70%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
}
/*-----------------------------------------
	Button
-----------------------------------------*/
a.top-btn {
	display: block;
	width: 100%;
	margin: 0 0 0 auto;
	padding: 0.2em 0.5em;
	font-size: 90%;
	text-align: center;
	color: #fff;
	border: #5c8f4a 2px solid;
	background-color: #5c8f4a;
}
	a.top-btn:link,
	a.top-btn:active,
	a.top-btn:visited {
		color: #fff;
	}
	a.top-btn:hover {
		text-decoration: none;
		font-weight: bold;
		color: #5c8f4a;
		border: #5c8f4a 2px solid;
		background-color: #fff;
	}
/*-----------------------------------------
	Outline
-----------------------------------------*/
.wrap {
	width: 100%;
}
header#head-lower {
	position: relative;
	width: 100%;
	padding: 1em;
	background-color: #5c8f4a;
}
	header#head-lower ul.nav-top {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: flex-start;
		margin-top: 1em;
	}
	header#head-lower ul.nav-top li {
		padding: 0 1em 1em 1em;
	}
@media screen and (min-width: 436px) {
	header#head-lower {
		padding: 1em;
		box-sizing: border-box;
	}
}
footer#foot-lower {
	width: 100%;
	box-sizing: border-box;
	padding: 2em 2em;
	margin: 0;
	color: #fff;
	background-color: #5c8f4a;

	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
}
	#foot-lower .inner-foot hr {
			height: 0;
			margin: 1em 0;
			padding: 0;
			border: 0;
			border-top: 1px solid #fff;
		}
		#foot-lower ul.nav-foot {
			display: flex;
			flex-wrap: wrap;
		}
		#foot-lower ul.nav-foot li {
				display: inline;
				max-width: 100%;
				margin: 0 1em 1em 1em;
		}
			#foot-lower ul.nav-foot li a,
			#foot-lower ul.nav-foot li a:link,
			#foot-lower ul.nav-foot li a:active,
			#foot-lower ul.nav-foot li a:visited {
				color: #fff;
				text-decoration: none;
			}
			#foot-lower ul.nav-foot li a:hover {
				color: #fff;
				text-decoration: #fff underline;
			}
#copyright {
	width: 100%;
	text-align: right;
	margin: 0;
	padding: 0;
}

/*-----------------------------------------
	Index
-----------------------------------------*/
	#head-home ul.nav-top {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		flex-direction: column;
	}
		#head-home ul.nav-top li {
			margin-right: 1em;
			margin-bottom: 0.5em;
			text-align: right;
		}

/*--contents----------------------------*/
	.content {
		position: relative;
		width: calc(100% - 2em);
		margin: 0 auto;
		padding: 0 0 2em 0;
	}
	.content-sub {
		min-height: 500px;
	}
@media screen and (min-width: 436px) and (max-width: 960px) {
	.content-sub {
		min-height: 528px;
	}
}
@media screen and (min-width: 961px) {
	.content {
		width: 960px;
		height: 100%;
	}
}

	.inner-biz {
		padding: 1em;
		text-align: center;
		background-color: #fff;
		border: 10px solid #eee;
	}
		.inner-biz h2 {
			padding-bottom: 0.5em;
			border-bottom: 1px solid #127354;
		}

		.banner-area {
			background-color: #eee;
			padding: 1em;
			margin-bottom: 1em;
		}
/*--Contact-----------------------------*/
.contact-area {
	position: relative;
	color: #fff;
	background-color: #009544;
}
	h2.contact-title {
		display: block;
		text-align: center;
		color: #fff;
	}
		h2.contact-title span {
			display: block;
			width: 100%;
			text-align: center;
			line-height: 150%;
			font-size: 60%;
			color: #fff;
		}
	.contact-btn {
		position: absolute;
		bottom: 1em;
		display: block;
		margin: 0 auto;
		padding: 0.5em 1em;
		text-align: center;
		color: #009544;
		background-color: #fff;
	}

/*-----------------------------------------
	Lower//Pages
-----------------------------------------*/
.breadcrumb {
	width: 95%;
	font-size: 80%;
	color: #ccc;
	margin: 1em auto;
	padding: 1em;
	border-top: #ddd 1px solid;
	border-bottom: #ddd 1px solid;
	display: flex;
	justify-content: flex-start;
}
	.breadcrumb li {
		padding: 0 0.5em;
	}
	.breadcrumb a,
	.breadcrumb a:link,
	.breadcrumb a:active,
	.breadcrumb a:visited {
		color: #ccc;
		text-decoration: none;
	}
	.breadcrumb a:hover {
		color: #ccc;
		text-decoration: underline;
	}
@media screen and (min-width: 961px) {
	.breadcrumb {
		width: 960px;
	}
}
/*--corp_profile------------------------*/
.txt-profile {
	margin: 0 auto;
	padding: 1em;
	background-color: #eee;
}
table.profile {
	margin: 1em auto;
}
	table.profile th {
		padding: 0.5em;
		color: #5c8f4a;
		text-align: left;
		font-weight: 500;
		vertical-align: top;
		border-bottom: 1px solid #ddd;
	}
	table.profile td {
		padding: 0.5em;
		border-bottom: 1px solid #ddd;
	}
	table.profile td ul {
		margin: 0;
		padding: 0;
	}
		table.profile td ul li {
			position: relative;
			min-height: 2em;
			margin: 0 0 0.5em 0;
			padding-left: 0.8em;
		}
		table.profile td ul li::before {
			position: absolute;
			display: block;
			left: 0;
			top: 0.75em;
			content: "";
			width: 6px;
			height: 6px;
			background: #80b531;
		}
	.accessmap iframe {
		width: 100%;
	}
@media screen and (min-width: 436px) {
	.txt-profile {
		width: 80%;
	}
	table.profile {
		width: 80%;
	}
		.accessmap iframe {
			height: 350px;
		}
}
/*--Inquiry------------------------*/
@media screen and (min-width: 436px) {
	dl.frame-inq {
		width: 70%;
		margin: 0 auto;
	}
	input[type="submit"] {
		width: 50%;
		margin: 0 auto;
	}
}
	dl.frame-inq dt {
		min-height: 2em;
		padding: 0 0 0 0.5em;
		margin: 1em 0 0.3em 0;
		color: #5c8f4a;
		border-left: #5c8f4a 0.5em solid;
		background-color: #e6f0d6;
	}
		.mwform-tel-field {
			display: flex;
			justify-content: space-between;
			line-height: 250%;
		}
			dl.frame-inq dd input[type="text"].your-tel {
				width: 30%;
			}
dl.frame-inq dd input[type="text"],
dl.frame-inq dd input[type="email"] {
	display: block;
	width: 100%;
	padding: 0.5em 1em;
	border: #ccc 1px solid;
	font-family: 'Noto Sans JP M';
	color: #3b2f23;
	font-size: 16px;
	font-weight: 400;
	line-height: 180%;
}
dl.frame-inq dd textarea {
	width: 100%;
	padding: 0.5em 1em;
	border: #ccc 1px solid;
	font-family: 'Noto Sans JP M';
	color: #3b2f23;
	font-size: 16px;
	font-weight: 400;
	line-height: 180%;
}
input[type="submit"] {
	display: block;
	padding: 1em;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	color: #fff;
	border: none;
	border: #5c8f4a 1px solid;
	background-color: #5c8f4a;
}
	input[type="submit"]:hover {
		color: #5c8f4a;
		border: #5c8f4a 1px solid;
		background-color: #fff;
	}
/*-----------------------------------------
	Lower//Archives
-----------------------------------------*/
.br-sp {
	display: block;
}
.date-area {
	padding: 0.5em 0;
	line-height: 150%;
}
/*--Pagenavi-----------------------------*/
.nav-links {
	width: 100%;
	max-height: 100%;
	margin: 2em 0 0 0;
	padding: 0.5em 0;
	font-weight: 600;

	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
	.page-numbers {
		margin: 0 0.5em;
		padding: 0.5em 1em;
	}
	.current {
		margin: 0 0.5em 0 0;
		padding: 0.5em 1em;
		border: none;
		background-color: #e2e0de;
	}
.nav-links a:link,
.nav-links a:active,
.nav-links a:visited {
	color: #3b2f23;
}
.nav-links a:hover {
	color: #84be3e;
}

/*--Archive Box--------------------------*/
.arch-box {
	position: relative;
	margin: 0 0 2em 0;
	padding: 1em;
	border-bottom: #80b531 1px solid;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (min-width: 436px) {
	.arch-box {
		width: 48%;
	}
	.br-sp {
		display: none;
	}
}
	.arch-item {
		padding: 1em 0;
	}
	.date-area {
		width: 100%;
		margin: 1em 0;
		font-size: 85%;
		color: #9e9c9c;
		border-top: #ddd 1px solid;
		border-bottom: #ddd 1px solid;
	}