/*
Title: 小郡
Last Updated: 2025-05-22
Author: kayama
*/
/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family:'游明朝体', 'Yu Mincho', YuMincho,serif,"Zen Kaku Gothic New", sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: normal;
}
body{ font-size:1.4rem; font-size: 1.4em; }
img{ vertical-align: bottom; }
a {
    transition: all 0.4s;
    text-decoration: none;
	color: #000;
}
a:hover{
	color:#ff9d62;
	transition: all 0.4s;
}
.yu{
	font-family: '游明朝体', 'Yu Mincho', YuMincho;
	font-weight: 400;
}
.zen{
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.bg_white{
	background-color: #fff;
}
/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }

.text_300{ font-weight: 300; }
.text_400{ font-weight: 400; }
.text_500{ font-weight: 500; }
.text_600{ font-weight: 600; }
.text_700{ font-weight: 700; }
.text_800{ font-weight: 800; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }

.lh_12{ line-height: 1.2; }
.lh_13{ line-height: 1.3; }
.lh_14{ line-height: 1.4; }
.lh_15{ line-height: 1.5; }
.lh_16{ line-height: 1.6; }
.lh_17{ line-height: 1.7; }
.lh_18{ line-height: 1.8; }
.lh_22{ line-height: 2.2; }
.lh_24{ line-height: 2.4; }
.lh_25{ line-height: 2.5; }

.ls_-1{ letter-spacing: -1px; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }

.text_16{ font-size: 1.6rem; }
.text_17{ font-size: 1.7rem; }
.text_18{ font-size: 1.8rem; }
.text_19{ font-size: 1.9rem; }
.text_20{ font-size: 2.0rem; }
.text_21{ font-size: 2.1rem; }
.text_22{ font-size: 2.2rem; }
.text_23{ font-size: 2.3rem; }
.text_24{ font-size: 2.4rem; }
.text_26{ font-size: 2.6rem; }
.text_28{ font-size: 2.8rem; }
.text_30{ font-size: 3.0rem; }
.text_32{ font-size: 3.2rem; }
.text_35{ font-size: 3.5rem; }

@media screen and (max-width: 1049px){

	.text_18{ font-size: 1.7rem; }
	.text_21{ font-size: max(2.01vw, 1.8rem); }
	.text_22{ font-size: max(2.09vw, 2rem); }
	.text_23{ font-size: max(2.15vw, 2rem); }
	.text_24{ font-size: max(2.28vw, 2rem); }
	.text_26{ font-size: max(2.47vw, 2.2rem); }
	.text_28{ font-size: max(2.66vw, 2.2rem); }
	.text_30{ font-size: max(2.85vw, 2.2rem); }
	.text_32{ font-size: max(3.07vw, 2.2rem); }
	.text_35{ font-size: max(3.36vw, 2.3rem); }

}/*END*/

@media screen and (max-width: 599px){

	p{ line-height: 1.8; }

}/*END*/

.text_green{
	color: #084733;
}
.text_grey{
	color: #3a3a3a;
	letter-spacing: 2px;
}
/*----------------------------------------
	共通
----------------------------------------*/

.inner_frame {
    max-width: 1155px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    box-sizing: border-box;
}
.point_frame{
	position: relative;
}
.point_ttl {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 390px;
}

li{ list-style:none; }
.center{ text-align:center; }
.column{
	display: flex;
    flex-direction: column;
    align-items: center;
}
.left{ float:left; }
.right{ float:right; }
.clear{ clear:both; }
.op:hover img{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
}
#container{ overflow: hidden; }
.ttl_300{
	max-width: 300px;
	width: 70%;
}
.ttl_400{
	max-width: 400px;
	width: 100%;
}
.ttl_500{
	max-width: 500px;
	width: 100%;
}

.ttl_center{
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (min-width: 600px){

	.sp_br{
		display: none;
	}
	.pc_none{
		display: none !important;
	}

}/*END*/

@media screen and (max-width: 768px){

	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}
	.point_frame .respon{
		width: 130%;
		margin-left: -15%;
	}
	.point_ttl{
		width: 70%;
	}
	#point02 .point_frame .respon{
		width: 180%;
		margin-left: -40%;
	}
	#point02 .point_ttl{
		width: 65%;
	}

}/*END*/

@media screen and (max-width: 599px){

	.inner_frame{
		padding-right: 4.5%;
		padding-left: 4.5%;
	}
	.point_ttl{
		width: 60%;
	}
	.sp_left{
		text-align: left;
	}
	.pc_br{
		display: none;
	}
	.sp_none{
		display: none !important;
	}

}/*END*/


/*----------------------------------------
	header
----------------------------------------*/
.rela{
	position: relative;
}
header{
	position: relative;
}
.header_nav{
    position: fixed;
    display: flex;
    justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
    top: 0;
    width: 100%;
	z-index: 30;
	border-bottom: 1px solid #000;
	background: #fff;
}
.header_logo {
    width: calc((249 / 1350) * 100%);
    max-width: 249px;
}
.nav_r{
	display: flex;
    justify-content: flex-end;
}

.drawer{
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    color: #fff;
    display: flex;
    justify-content: center;
    visibility: hidden;
    transform: translateY(-100%);
    transition: 0.5s ease-in-out;
	z-index: 10;
    background: rgba(0, 0, 0, 0.7);
}
.drawer nav{
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.d_point{
	font-size: 2.5rem;
}
.drawer nav li{
	margin: auto;
}
.open .drawer{
	visibility: visible;
	transform: translateX(0);
}
.open .drawer ul li {
    transform: translateX(0);
}
.drawer a{
	display: block;
}
.drawer_logo{
	margin-left: auto;
	margin-right: auto;
	width: 400px;
	margin-bottom: 80px;
}
.drawer ul{
	width: 100%;
	text-align: center;
	line-height: 2.5;
    font-size: 2rem;
}
.drawer ul li a{
	color: #fff;
}

.btn_menu {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 30px;
	height: 20px;
	background-color: transparent;
}

.btn_menu span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 30px;
	background: #000;
	transition: all 0.4s;
}

.btn_menu span:nth-of-type(1) { top: 5%; }
.btn_menu span:nth-of-type(2) { top: 50%; }
.btn_menu span:nth-of-type(3) { top: 100%; }


.open .btn_menu span:nth-of-type(1) {
	transform: translate(-50%, -50%) rotate(45deg);
	top: 50%;
}
.open .btn_menu span:nth-of-type(2) {
	opacity: 0;
}
.open .btn_menu span:nth-of-type(3) {
	transform: translate(-50%, -50%) rotate(-45deg);
	top: 50%;
}

.mv_m_t80{
	margin-top: 80px;
}
@media print, screen and (min-width: 600px){

	.mv_sp{
		display: none;
	}

}/*END*/

@media screen and (max-width: 768px){
	.header_logo {
		width: calc((249 / 768) * 100%);
	}
}
@media screen and (max-width: 599px){
	.mv_m_t80 {
        margin-top: 13%;
    }
	.mv_pc{
		display: none;
	}
	.nav_r {
		width: 39%;
	}
	.header_nav{
		gap: 4%;
	}
	.btn_menu span:nth-of-type(1) {
		top: 10%;
	}
	.btn_menu span:nth-of-type(3) {
		top: 90%;
	}
	.d_point {
		font-size: 1.7rem;
	}
	.drawer ul {
		font-size: 1.4rem;
	}
}/*END*/
@media screen and (max-width: 400px){
	.btn_menu span {
		left: 45%;
		width: 70%;
	}
}

.main_bg{
	background: #f2faea;
}
/*----------------------------------------
	concept
----------------------------------------*/
.concept_flex{
	display: flex;
	justify-content: center;
	gap: 3%;
}
.concept_flex div{
	width: 50%;
}
@media screen and (max-width: 599px){
	.concept_flex{
		flex-wrap: wrap;
	}
	.concept_flex div{
		width: 100%;
	}
}
/* point_nav */

.point_nav{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 65%;
    gap: 5%;
    margin: auto;
}
.point_nav li{
	border: 1px solid #f89800;
}
.point_nav li a{
	display: block;
	position: relative;
	border-radius: 10%;
	overflow: hidden;
}
.point_nav li a:after{
	content: "▼";
	position: absolute;
	color: #f89800;
	left: 50%;
	top: 72%;
	transform: translateX(-50%) scaleY(0.7);
	font-size: 1.8rem;
	transition: all 0.4s;
}
.point_nav li a:hover:after{
	top: 75%;
}
.point_nav li a:hover{
	background: rgba(255,255,255,0.7);
}

@media screen and (max-width: 768px){
	.point_nav{
		width: 90%;
	}

}/*END*/
@media screen and (max-width: 599px){
	.point_nav{
		width: 100%;
	}
	.point_nav li a:after{
			font-size: 1rem;
	}
}


/*----------------------------------------
	landplan
----------------------------------------*/
.landplan_flex{
	display: flex;
	justify-content: center;
	gap: 3%;
}
.landplan_flex div{
	width: 50%;
}
@media screen and (max-width: 599px){
	.landplan_flex{
		flex-wrap: wrap-reverse;
	}
	.landplan_flex div{
		width: 100%;
	}
}
/*----------------------------------------
	location
----------------------------------------*/
.location_flex{
	display: flex;
	justify-content: center;
	gap: 3%;
}
.location_flex div{
	width: 50%;
}
.text_12{
	font-size: 12px;
}
.f_w500{
	font-weight: 500;
}
@media screen and (max-width: 599px){
	.location_flex{
		flex-wrap: wrap;
	}
	.location_flex div{
		width: 100%;
	}
}
.p_l2p{
	padding-left: 2%;
}
.m_t13p{
	margin-top: 13%;
}
.m_b5{
	margin-bottom: 5px;
}
table{
	border-top: 1px solid #739f2d;
	font-size: 1.4rem;
	line-height: 1.4;
	width: 100%;
	font-family: "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}
table tr{
	border-bottom: 1px solid #739f2d;
}
table th{
	text-align: left;
	padding: 3% 2%;
	font-weight: 500;
}
table td{
	text-align: right;
	padding: 3% 2%;
	font-weight: 500;

}
@media screen and (max-width: 599px){
	.sp_p_t30{
		padding-top: 30px;
	}
	.m_t13p{
		margin-top: 30px;
	}
}
/*----------------------------------------
	access
----------------------------------------*/
.access_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 7%;
}
.access_flex div{
	width: 50%;
}
.text_12{
	font-size: 12px;
}
@media screen and (max-width: 599px){
	.access_flex{
		flex-wrap: wrap;
	}
	.access_flex div{
		width: 100%;
	}
}
/* map */
.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	padding: 45% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px) {
	.map{ padding: 60% 0 0; }
}/*END*/

/*----------------------------------------
	plan
----------------------------------------*/
.plan_tab{
	display: flex;
	align-items: end;
}
.plan_tab li{
	float: left;
	width: calc((224/1040)*100%);
	margin-right: 1.2%;
	cursor: pointer;
	background-size: 100%;
}
.plan_contents {
    background: #fff;
    box-sizing: border-box;
    padding-left: 9%;
    padding-right: 9%;
    display: none;
}
.plan_contents.show{
	display: block;
}
.plan_ttl_frame{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.plan_ttl_frame h3 {
    width: 20%;
    padding-right: 5%;
    box-sizing: border-box;
    border-right: 1px solid #000;
}
.plan_price {
    width: 65%;
	padding-left: 5%;
}
.w739 img{
	max-width: 739px;
}
.w347 img{
	max-width: 347px;
	width: 60%;
}
@media screen and (max-width: 599px){
	.plan_contents {
		padding-left: 5%;
		padding-right: 5%;
	}
	.plan_tab li{
		width: 35%;
		margin-right: 3%;
	}
	.plan_ttl_frame {
        border: none;
        flex-direction: column;
        align-items: start;
	}
	.plan_ttl_frame h3 {
		width: 33%;
		padding: 4% 3%;
		border: none;
	}
	.plan_price{
		width: 95%;
		padding: 4% 3%;
		border-top: 1px solid #000
	}

}/*END*/

/*----------------------------------------
	performance
----------------------------------------*/
.marker{
	line-height: 1;
	display: inline-block;
	background: linear-gradient(transparent 70%, #ffff00 70%);
}
.spec_point{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px;
}

@media print, screen and (min-width: 600px){
	.box_l{
		float: left;
		width: calc((500/1040)*100%);
	}
	.box_r{
		float: right;
		width: calc((500/1040)*100%);
	}

}/*END*/

/*----------------------------------------
	support
----------------------------------------*/

@media print, screen and (min-width: 600px){

	.service_img{
		float: left;
		width: calc((590/1040)*100%);
	}
	.service_text{
		float: right;
		width: calc((410/1040)*100%);
	}
	.service_point{
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 40px;
	}

}/*END*/

@media screen and (max-width: 599px){

	.service_point li{
		margin-bottom: 40px;
	}

}/*END*/
/*----------------------------------------
	outline
----------------------------------------*/
.outline_frame {
    max-width: 1250px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    position: relative;
    box-sizing: border-box;
}
.outline_flex{
	display: flex;
	justify-content: center;
	gap: 3%;
}
.outline_flex div{
	width: 50%;
}
@media screen and (max-width: 599px){
	.outline_flex{
		flex-wrap: wrap;
	}
	.outline_flex div{
		width: 100%;
	}
}
.outline_table {
	border-top: 1px solid #e6e6e6;
	font-size: 1.4rem;
	line-height: 1.4;
	width: 100%;
	font-family: "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
}
.outline_table tr {
	border-bottom: 1px solid #e6e6e6;
}
.outline_table th {
	padding: 2% 2%;
	background-color: #f2fde4;
	width: 30%;
	vertical-align: top;
	font-weight: 500;
}
.outline_table td {
	padding: 2% 2%;
	text-align: left;
	vertical-align: top;
	font-weight: 500;
}
/*----------------------------------------
	contact
----------------------------------------*/
.contact_bg{
	background-image: url(../images/contact_bg.jpg);
	background-size: cover;
}
.contact_grid{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	justify-content: center;
	align-items: center;
	gap: 4%;
}

.m_a{
	margin: auto;
}
.contact_p {
    width: 90%;
    max-width: 340px;
}
@media screen and (max-width: 599px){
	.contact_grid{
		grid-template-columns: 1fr;
		gap: 25px;
	}
}
/*----------------------------------------
	footer
----------------------------------------*/
.footer_nav {
    display: flex;
	flex-wrap: wrap;
    gap: 1.5%;
    justify-content: center;
}

.footer_nav li {
	position: relative;
	padding: 0 10px;
	line-height: 2;
	font-size: 16px;
}

.footer_nav li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -7.5%;
    transform: translateY(-50%);
    height: 1em;
    border-right: 1px solid #000;
}

.f_logo {
    width: 70%;
    max-width: 235px;
}
small{
	display: block;
	text-align: center;
	font-family: 'Noto Sans JP', 'Helvetica Neue', 'Segoe UI', sans-serif;
	background: #fff;
	padding-top: 20px;
	padding-bottom: 20px;
}
@media screen and (max-width: 768px){
	.footer_nav {
		gap: 1%;
	}
	.footer_nav li:not(:last-child)::after {
		right: -3%;
	}
}
@media screen and (max-width: 599px){

	small{
		font-size: 1.2rem;
	}

}/*END*/
