@charset "UTF-8";

html { 
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif;	
	background: #F2F2F3;
	min-height:100%;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
	position: relative;
}
body {
	font-size: 100%;
	background-color: transparent;
	color: rgb(80, 80, 80);
	margin: 0 0 12px;
}
h1, h2, h3, p, ul {
	margin: 0;
}
ul {
	padding-left: 0;
}
ul li {
	list-style-type: none;
	overflow: hidden;
}
a {
	color: #000000;
	text-decoration: none;
	outline: none;
	cursor: pointer;
}


.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}



/* 全称セレクタでリセット           */
* {
  margin: 0;
  padding: 0;
  font-style : normal;
  font-weight : normal;
  font-size: 100%;
}

/*===============================================================================================================================================　　COMMON　　=============*/


#wrapper {
	min-height: 100%;
	overflow: hidden;
}

.br-sp {
	display: none;
}
	@media screen and (max-width: 740px) {
		.br-sp {
			display: block;
		}
	}
.small {
	font-size: 80%;
}
.smaller {
	font-size: 50%;
}
.smaller_b {
	font-size: 50%;
	font-weight: bold;
}
.smaller_c {
	font-size:50%;
	letter-spacing: 0.18em;
}
.smaller_d {
	font-size: 65%;
}
.large {
	font-size: 120%;
}
.snsb {
	padding-right: 0.6em;
}
.pd_top_3 {
	padding-top: 3em;
}
a.h_bg {
	color: rgba(29,149,132,1.00);
}
a.h_bg:hover {
	color: rgb(150, 150, 150);
}
.uline {
	border-bottom: 1px solid;
	margin-bottom: 2em;
}
.bold {
	font-weight: bold;
}
.module-triangle-right::before {
  content: "";
  display: inline-block;
  border: 6px solid transparent;
  border-left-color: rgba(92, 58, 147,1.00);
}
.date {
	font-size: 0.76em;
}
.mt1em {
    margin-top: 1em;
}
.mt2em {
    margin-top: 2em;
}
.mt3em {
    margin-top: 3em;
}
.mt4em {
    margin-top: 4em;
}
.mt5em {
    margin-top: 5em;
}
.mt6em {
    margin-top: 6em;
}
.mt7em {
    margin-top: 7em;
}
.mt8em {
    margin-top: 8em;
}
.pb1em {
	padding-bottom: 1em;
}
.pb4em {
	padding-bottom: 4em;
}
.pb6em {
	padding-bottom: 6em;
}
.pconly {
	display: block;
}
.sponly {
	display: none;
}
	@media screen and (max-width: 440px) {
		.sp_center {
			text-align: center;
		}
		.pconly {
			display: none;
		}
		.sponly {
			display: block;
		}
	}


/*====================================================================================================================　　TOP　　=============*/
#top {
	clear: both;
	text-align: center;
	position: relative;
}
#top .pcimg {
	width: 100%;
	position: relative;
}
#top .pcimg img {
	width: 100%;
}
#c-top {
	clear: both;
	text-align: center;
}
.topcopy {
    position: absolute;
    top: 0;
    left: 0;
	color: #000;
    font-weight: 400;
	padding: 0.4em 0 0.4em 3em;
	font-size: 0.8em;
    z-index: 1200;
}
.toptex {
	color: #413D3C;
	position: absolute;
	margin: 0 auto;
	padding: 0 1em;
	bottom: 1.6em;
	left: 20;
	line-height: 1.4em;
	width: 22em;
	font-size: 0.8em;
}
.spimg {
	display: none;
}
.menu_pc {
    position: fixed;
    top: 1.6em;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    box-shadow: 0 0px 20px rgba(0,0,0,0.4);
    width: 60em;
    height: 4.6em;
    z-index: 1000;
    text-align: center;
}
.menu_pc a {
    display: table-cell;
    padding: 1em;
}
.menu_sp {
    display: none;
}
.menu_pc li {
    display: inline-block;
    vertical-align: middle;
    margin: 0.4em 0em 0em 0;
    font-weight: 700;
    
}
.menu_pc img {
    width: 12em;
    padding-top: -1.2em;
    margin-right: 1em;
    vertical-align: baseline;
}
li.toptel {
    margin-top: 1.4em;
    margin-bottom: 0.5em;
    margin-left: 1em;
}
.topphone span.telno {
    margin-top: 1em;
    font-size: 1.22em;
	font-weight: 700;
	color: #009757;
}
.under_tp {
	font-size: 0.68em;
	margin-top: 0.4em;
    margin-bottom: 1em;
	text-align: right;
}
	@media screen and (max-width: 736px) {
		#top {
			margin-top: 0;
		}
		.pcimg {
			display: none;
		}
		.spimg {
			display: block;
            padding-top: 0em;
		}
		.spimg img {
			width: 100vw;
		}
        .menu_pc {
            display: none;
        }
        .menu_sp {
            width: 90vw;
            background: #fff;
            display: block;
            position: fixed;
            top: 1.6em;
            left: 50%;
            transform: translateX(-50%);
            vertical-align: middle;
            box-shadow: 0 0px 20px rgba(0,0,0,0.4);
            z-index: 99;
        }
        .menu_sp img {
            width: 12em;
            padding: 0.8em;
        }

        .overlay {
            content: "";
            display: block;
            width: 0;
            height: 0;
            background-color: rgba(0, 0, 0, 0.5);
            position: absolute;
            top: 0;
            left: 0;
            z-index: 2;
            opacity: 0;
            transition: opacity .5s;
        }
        .overlay.open {
            width: 100%;
            height: 100%;
            opacity: 1;
        }
        main {
            height: 100%;
            min-height: 100vh;
            background-color: #eee;
            transition: all .5s;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        main.open {
            transform: translateX(-200px);
        }
        main h1 {
            text-align: center;
            font-weight: 500;
        }
        main p {
            text-align: center;
        }
        .menu-trigger {
            display: inline-block;
            width: 36px;
            height: 28px;
            vertical-align: middle;
            cursor: pointer;
            position: fixed;
            top: 2.6em;
            right: 2.6em;
            z-index: 100;
        }
        .menu-trigger span {
            display: inline-block;
            box-sizing: border-box;
            position: absolute;
            left: 0;
            width: 100%;
            height: 4px;
            background-color: #000;
            transition: all .5s;
        }
        .menu-trigger.active span {
            background-color: #fff;
        }
        .menu-trigger span:nth-of-type(1) {
            top: 0;
        }
        .menu-trigger.active span:nth-of-type(1) {
            transform: translateY(12px) rotate(-45deg);
        }
        .menu-trigger span:nth-of-type(2) {
            top: 12px;
        }
        .menu-trigger.active span:nth-of-type(2) {
            opacity: 0;
        }
        .menu-trigger span:nth-of-type(3) {
            bottom: 0;
        }
        .menu-trigger.active span:nth-of-type(3) {
            transform: translateY(-12px) rotate(45deg);
        }

        nav {
            width: 200px;
            height: 100%;
            padding-top: 100px;
            background: #009757; /* Old browsers */
            background: -moz-linear-gradient(top, #009757 16%, #007E47 90%); /* FF3.6-15 */
            background: -webkit-linear-gradient(top, #009757 16%,#007E47 90%); /* Chrome10-25,Safari5.1-6 */
            background: linear-gradient(to bottom, #009757 16%,#007E47 90%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009757', endColorstr='#007E47',GradientType=0 ); /* IE6-9 */
            position: fixed;
            top: 0;
            right: 0;
            z-index: 10;
            transform: translate(200px);
            transition: all .5s;
        }
        nav.open {
            transform: translateZ(0);
        }
        nav li {
            color: #fff;
            text-align: center;
            padding: 10px 0;
        }
        .sidelogo {
            border-bottom: thin solid;
            width: 80%;
            margin: 0 auto 1em;
        }
        .sidelogo img {
            width: 100%;
        }
        nav a {
            color: #FFFFFF;
        }
}
#container {
	width: 100%;
	min-height: 100%;
	padding-bottom: 2em;
	overflow: auto;
	margin-bottom: -15px;
    text-align: center;
}
#container h1 {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
	font-size: 1.8em;
	text-align: left;
	margin-left: 2em;
	padding-left: 1em;
	padding-bottom: 0.4em;
	border-bottom: dashed 1px rgba(29,149,132,1.00);
}
.push {
	height: 15px;
}
.section {
	width: 80%;
	margin: 2em auto 3em;
	vertical-align: top;
	padding: 0 1.2em;
    text-align: left;
}
.section_tit {
	margin: 0 auto;
}
.sec_tit1 {
    font-family: 'Yanone Kaffeesatz', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 3em;
	font-weight: 400;
	margin: 0.28em auto 0;
	padding-bottom: 0.6em;
    color: #9BCC71;
    float: left;
}
.sec_tit2 {
    overflow: auto;
	padding-top: 1.0em;
	padding-bottom: 2em;
    padding-left: 1em;
    text-align: left;
}
.sec_tit3 {
    text-align: left;
    font-size: 1.1em;
    font-weight: 700;
    margin-bottom: 0.4em;
    width: 10em;
}
.sec_tit4 {
    clear: both;
    font-size: 0.8em;
    text-align: left;
}
.section_main {
	width: 46em;
	margin-left: 4em;
	line-height: 1.2em;
	text-align: left;
}
.section_thanks {
	width: 100%;
	text-align: center;
	margin-top: 4em;
	margin-bottom: 4em;
}
.thanks_tex {
	font-size: 0.8em;
	line-height: 1.4em;
}
.section_thanks h2 {
	font-size: 1em;
	font-weight: 700;
	margin-bottom: 2em;
	margin-top: 2em;
}
.section_thanks li {
	display: inline-block;
	vertical-align: top;
	width: 40%;
	padding: 0 1.2em;
	margin: 0 auto;
}
.company_bg {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    text-align: center;
}
table.company {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0em 1em;
    font-size: 0.74em;
    padding: 1em 0 0 0;
}
table.company tr:last-child {
	border-bottom: none;
}

table.company th, table.company td {
    padding: 0.6em 0em;
}

table.company th {
    background: #005A2F;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    width: 100px;
    height: 2em;
    position: relative;
    border-radius: 8px;
}
table.company td {
	text-align: left;
	padding-left: 2em;
	line-height: 1.4em;
}
table.company td.lefttd {
    padding-right: 4em;
}
table.company a {
	border-bottom: 1px solid;
}
table.company_sp {
    display: none;
}
.form_tex {
	font-size: 0.74em;
	font-weight: 700;
	line-height: 1.2em;
}
.top_btn a {
	font-size: 0.74em;
	margin: 2em auto;
	width: 7em;
	color: #fff;
	display: block;
	background: #005A2F;
	border-radius: 8px;
	padding: 1em 1em;;
}
.top_btn a:hover {
	background: #00723F;
}
	@media screen and (max-width: 414px) {
		#container {
			padding-bottom: 2em;
			width: 100vw;
			min-height: calc(100vh - 138px);
		}
		#container h1 {
			font-size: 1.8em;
			text-align: left;
			margin: 0 ;
			padding-left: 0.5em;
			padding-bottom: 0.4em;
			border-bottom: dashed 1px rgba(29,149,132,1.00);
		}
		.topcopy {
			color: #000;
			padding: 0.4em 0 0.4em 0em;
			text-align: center;
			font-size: 0.74em;
            width: 88vw;
		}
		.toparea {
			text-align: center;
		}
		.toparea img {
			width: 86vw;
			padding: 0.4em 0em 0.6em 0em;
			font-size: 1.8em;
		}
		.topinfo {
			display: none;
		}
		.section {
			width: 90vw;
			margin: 2em auto 0em;
			text-align: center;
		}
		.section {
			display: inline-block;
			vertical-align: top;
			width: 90vw;
			padding: 0 0 0em;
		}
		.form_tex {
			font-size: 0.74em;
			font-weight: 700;
		}
		.top_btn a {
			font-size: 0.74em;
			margin: 2em auto;
			width: 7em;
			color: #fff;
			display: block;
		}

        table.company {
            display: none;
        }
        table.company_sp {
            display: block;
            margin: 0 2.6em 0 2em;
            border-collapse: separate;
            border-spacing: 0em 1em;
            font-size: 0.74em;
            padding: 1em 0 0 0;
        }
        table.company_sp tr:last-child {
            border-bottom: none;
        }

        table.company_sp th, table.company_sp td {
            padding: 0.6em 0em;
        }

        table.company_sp th {
            background: #005A2F;
            color: #fff;
            vertical-align: middle;
            text-align: center;
            width: 100px;
            height: 2em;
            position: relative;
            border-radius: 8px;
        }
        table.company_sp td {
            text-align: left;
            padding-left: 1.4em;
            line-height: 1.4em;
            width: 30em;
        }
        table.company_sp a {
            border-bottom: 1px solid;
        }
	}
	@media screen and (min-width: 414px) and (max-width: 1090px) {
        .menu_pc {
            position: fixed;
            top: 1.6em;
            left: 50%;
            transform: translateX(-50%);
            background: #fff;
            box-shadow: 0 0px 20px rgba(0,0,0,0.4);
            width: 90%;
            height: 4.6em;
            z-index: 1000;
            text-align: center;
            font-size: 80%;
        }
        .menu_pc ul {
            height: 4.6em;
            vertical-align: middle;
        }
        .menu_pc li {
            display: inline-block;
            vertical-align: middle;
            margin: 1em 1em 0em 0;
            padding: 1em 0 0 0;
            font-weight: 700;
            height: 4em;

        }
        .menu_pc img {
            width: 12em;
            padding-top: 1.2em;
            margin-top: -1.8em;
            margin-right: 1em;
            margin-left: 0.8em;
        }
        li.toptel {
            margin-top: -0.2em;
            margin-bottom: 0.5em;
            margin-left: 1em;
        }
		.section {
			margin: 2em auto 3em;
			display: inline-block;
			vertical-align: top;
			width: 90vw;
			padding: 0 0 0em;
        }
		.section_tit {
			margin: 0 auto;
		}

		table.company {
			margin: 0 auto;
			border-collapse: separate;
			border-spacing: 1.6em 1em;
			font-size: 0.74em;
		}
	}

.property_s { 
    overflow: hidden; 
    width: 100%; 
    margin: 0 auto; 
}
.property_s li { 
    float: left; 
    background: #FFFFFF; 
    border-radius: 14px; 
    width: calc(50% - 15px); 
    margin-right: 15px;
    margin-bottom: 15px;
}
.property_s h3 {
    font-weight: 700;
    font-size: 1.2em;
    margin: 1em 0 0 0em;
}
.proimg_s {
    float: left;
    width: 50%;
    height: 10em;
    display: flex;
    align-items: center;
}
.proimg_s img {
    width: 100%;
    object-fit: cover;
    vertical-align: middle;
}
.proinfo_s {
    display: block;
    text-align: left;
    font-size: 0.68em;
    padding-left: 1em;
    float: left;
}
.tblpro_s {
    margin-top: 0.6em;
}
.tblpro_s tr {
    border-top: dashed thin;
}
.tblpro_s th {
    font-weight: 700;
    padding: 0.6em 1em 0.6em 0;
}
.propic img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}
.gallery {
    width: 100%;
    height: 100%;
}

.mainimage {
    width: calc(50% - 15px);
    float: left;
    margin-right: 15px;
    margin-bottom: 1em;
    height: 0;
    overflow: hidden;
    padding-bottom: 32.65%;
    position: relative;
    border-radius: 14px;    
}
.mainimage img {
    border-radius: 14px;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 32.65%;
    position: relative;
    border-radius: 14px;
}
.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.gallery ul {
    clear: both;
}
.gallery ul li {
    display: inline-block;
    margin-right: 1%;
    width: 8.62%;
}
.gallery ul li:last-child {
    margin-right: 0;
}
.gallery ul li img {
    width: 100%;
}
table.proinfo_l {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0em 1em;
    font-size: 0.74em;
    padding: 1em 0 1em 0;
}


table.proinfo_l th {
    padding: 0.6em 0em;
}

table.proinfo_l th {
    background: #005A2F;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    width: 100px;
    height: 2em;
    position: relative;
    border-radius: 8px;
}
table.proinfo_l td {
	text-align: left;
	padding-left: 2em;
	line-height: 1.4em;
	width: 300px;
}
table.proinfo_l th,table.proinfo_l td {
    vertical-align: middle;
}
table.proinfo_l a {
	border-bottom: 1px solid;
}
table.proinfo_l_sp {
    display: none;
}
.top_margin {
    margin-top: 6em;
}
#i-map {
    margin-bottom: 3em;
    text-align: center;
}
#i-map svg {
    border-radius: 14px;
}

#i-map a rect {
    transition:fill 0.3s linear;
}
#i-map a:hover rect {
    fill: #ffce00;
}
#i-map p {
    font-size: 70%;
    font-weight: 700;
    padding-top: 0.4em;
}


@media screen and (min-width: 390px) and (max-width: 1090px) {
        .proimg_s {
            float: left;
            width: 100%;
            height: auto;
        }
        .propic img {
            width: 100%;
            height: 10em;
            object-fit: cover;
        }
        .mainimage {
            width: 100%;
            height: auto;
            float: none;
            padding-bottom: 66.66%;
        }
        .gallery ul li {
            display: inline-block;
            margin-right: 0;
            margin-top: 1em;
            width: 16vw;
        }
        table.proinfo_l_sp {
            margin: 0 auto;
            border-collapse: separate;
            border-spacing: 0em 1em;
            font-size: 0.74em;
            padding: 1em 0 0 0;
        }
        table.proinfo_l {
            display: none;
        }
        table.proinfo_l_sp {
            display: block;
            width: 90%;
            margin: 0 auto;
            font-size: 0.6em;
        }
        table.proinfo_l_sp th {
            padding: 0.6em 0em;
            margin: 1em 1em 0 0;
        }
        table.proinfo_l_sp th {
            background: #005A2F;
            color: #fff;
            vertical-align: middle;
            text-align: center;
            width: 10em;
            height: 2em;
            position: relative;
            border-radius: 8px;
        }
        table.proinfo_l_sp td {
            text-align: left;
            padding-left: 2em;
            line-height: 1.4em;
            width: 300px;
            margin: 1em 1em 0 0;
        }
        table.proinfo_l_sp th,table.proinfo_l_sp td {
            vertical-align: middle;
        }
        table.proinfo_l_sp a {
            border-bottom: 1px solid;
        }
}
/*================================================================================================================　　CONTACT　　=============*/
.contact_bg {
    background: #FFFFFF;
    border-radius: 14px;
    overflow: hidden;
    text-align: center;
}
.contact {
    margin: 0 auto;
    overflow: hidden;
    display: inline-block;
}
.telfax {
    overflow: hidden;
    float: left;
    margin: 2em 6em 0 0;
}
.telfax img {
    clear: both;
    float: left;
    width: 4em;
    margin-right: 1em;
}
.telfax_tex {
    float: left;
    margin-bottom: 2em;
}
.telfax1 {
    font-weight: 700;
}
.telfax2 {
    font-family: 'Yanone Kaffeesatz', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 3em;
    color: #005A2F;
    margin-top: 0.1em;
    margin-bottom: 0.1em;
}
.mailbtn {
	margin: 2em 0.8em;
}
.mailbtn a {
	color: #FFFFFF;
	border: 1px solid rgba(168,168,168,1.00);
	padding: 0.6em;
	background: rgba(29,149,132,1.00);
}
.mailbtn a:hover {
	color: rgba(29,149,132,1.00);
	background: rgba(230,237,233,1.00);
	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-ms-transition: all 0.6s;
	-o-transition: all 0.6s;
	transition: all 0.6s;
}

ul.mailnotice {
	font-size: 0.9em;
	padding-left: 1em;
	margin-bottom: 1em;
}
#thanks {
	margin: 8em auto;
	width: 66em;
}
#contact h2{
	text-align: center;
	font-weight: 700;
	margin-top: 0em;
	margin-bottom: 2em;
	font-size: 1.4em;
	color: rgba(0, 56, 31, 1.00);
}

	@media screen and (min-width: 390px) and (max-width: 1090px) {
        .telfax {
            overflow: hidden;
            float: none;
            margin: 2em auto;
        }
        .contact {
            width: 90%;
            text-align: center;
            margin: 0 auto;
        }
    }





/*===============================================================================================================================================　　FOOTER　　=============*/

#footer {
	width: 100%;
	height: 12px;
	clear: both;
	color: rgba(242,242,242,1.00);
    background: #009757; /* Old browsers */
    background: -moz-linear-gradient(top, #009757 16%, #007E47 90%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #009757 16%,#007E47 90%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #009757 16%,#007E47 90%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009757', endColorstr='#007E47',GradientType=0 ); /* IE6-9 */
    font-size: 0.7em;
	padding-top: 1em;
	padding-bottom: 0.8em;
	text-align: center;
	position: absolute;
	bottom: 0;
}