@charset "UTF-8";
/* コンテンツ */

.con_maker h3 {
    background-color: #009da3;
    color: #fff;
    font-weight: normal;
    padding: 0.5em;
    text-align: center;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin-bottom: 2em;
    font-size: 1.16em;
}
.con_maker img {
    width: 100%;
}
.con_maker ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: -1em;
}
.con_maker ul li {
    width: calc(100% / 3 - (2em / 3));
    margin-bottom: 1em;
}

.concept {
    background-image: url("../img/bg_leaf.webp");
    background-position: center top;
    background-size: 100% auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.concept img {
    width: 100%;
}
.concept section {
    width: 100%;
    padding: 5em 0;
}
.concept h3 {
    width: 18%;
    margin: 0 auto 3em;
}
.concept h4 {
    width: 45%;
    margin: 0 auto 3em;
}
.concept p {
    line-height: 2;
}
@media screen and (max-width: 1370px) {
.concept {
    background-size: auto 120%;
}
}

.enviro {
    position: relative;
    width: 100%;
    aspect-ratio: 20 / 11;
    background-image: url("../img/bg_onga.webp");
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    margin-bottom: -10%;
}
.enviro section {
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1));
}
.enviro img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
.enviro h3 {
    height: 33%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.enviro h3 span {
    display: inline-block;
    line-height: 1.5;
    font-size: 1.8em;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
}

.envbox {
    position: relative;
    text-align: left;
    line-height: 1.7;
    margin-bottom: 5em;
}
.envbox ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}
.envbox img {
    width: 100%;
}
.envbox ul li:first-child {
    box-sizing: border-box;
    background-color: #fff;
    padding: 3em 3em 3em 0;
    width: 52.5%;
    flex-shrink: 0;
    z-index: 1;
}
.envbox ul li:last-child {
    position: relative;
    width: 52.5%;
    margin-left: -5%;
    flex-shrink: 0;
}
.envbox ul li h6 {
    position: relative;
    width: 80%;
}
.envbox ul li h6 span {
    position: absolute;
    left: 7px;
    bottom: 5px;
    color: #fff;
    font-size: 0.6em;
    line-height: 1;
    font-weight: normal;
}
.envbox ul li .eb_sub {
    position: relative;
    width: calc(80% - 3em - 45px);
    margin: 0 0 1em auto;
    letter-spacing: 0.1em;
}
.envbox ul li .eb_sub::before {
    content: "";
    position: absolute;
    left: -25px;
    bottom: 0;
    width: 1px;
    height: 130%;
    transform: rotate(30deg);
    background-color: #333;
}
.envbox ul li .eb_sub h4 {
    color: #6fb92c;
}
.envbox ul li .eb_sub h5 {
    font-size: 1.4em;
}
.envbox ul li p {
    width: calc(80% - 3em);
    margin: 1em 0 0 auto;
}
.envbox ul li figure {
    line-height: 0;
    width: 100%;
    height: 1px;
    background-color: #333;
}

@media screen and (min-width: 961px) {
.env_rev ul {
    flex-direction: row-reverse;
}
.env_rev ul li:first-child {
    padding: 3em 0 3em 3em;
}
.env_rev ul li:last-child {
    margin-left: auto;
    margin-right: -5%;
    text-align: right;
}
.env_rev ul li h6 {
    margin: 0 0 0 auto;
}
.env_rev ul li .eb_sub {
    width: calc(80% - 3em);
    margin: 0 auto 1em 45px;
}
.env_rev ul li p {
    width: calc(80% - 3em);
    margin: 1em auto 0 0;
}
}


.tsub {
    text-align: center;
    font-size: 2.2em;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    line-height: 1;
    margin-bottom: 1em;
}

.loc_box1 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.loc_box1 img,.loc_box2 img {
    width: 100%;
}
.loc_box1 .limg1 {
    width: calc(((100% / 5) - (8em / 5)) * 2 + (8em / 4));
    margin-bottom: 1em;
}
.loc_box1 ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.loc_box1 ul {
    width: calc(((100% / 5) - (8em / 5)) * 3 + (8em / 2));
}
.loc_box1 ul li {
    width: calc((100% / 3) - (4em / 3));
    margin-bottom: 1em;
}

.loc_box2 {
    padding-bottom: 4em;
}
.loc_box2 ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.loc_box2 ul li {
    width: calc((100% / 5) - (8em / 5));
    margin-bottom: 1em;
}
.loc_box1 .limg1 p,.loc_box1 ul li p,.loc_box2 ul li p {
    line-height: 1.4;
    font-size: 0.76em;
}
.loc_box1 .limg1 p:nth-of-type(1),.loc_box1 ul li p:nth-of-type(1),.loc_box2 ul li p:nth-of-type(1) {
    margin-top: 0.5em;
}
.loc_box1 .limg1 p:nth-of-type(2),.loc_box1 ul li p:nth-of-type(2),.loc_box2 ul li p:nth-of-type(2) {
    text-align: right;
}


.area_map {
    position: relative;
    margin-bottom: 1em;
}
.area_map section img {
    width: 100%;
}
.swipe {
    display: none;
}

.terra_box {
    line-height: 1.7;
}
.terra_box ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.terra_box ul li:first-child {
    width: 40%;
    background-image: url("../img/mirai.jpg");
    background-position: center center;
    background-size: cover;
}
.terra_box ul li:last-child {
    width: 60%;
    box-sizing: border-box;
    background-color: #dae58e;
    padding: 2em;
}
.terra_box h4 {
    font-size: 1.4em;
}
.terra_box section {
    font-size: 0.84em;
    margin-top: 1em;
}


.map_img {
    position: relative;
    z-index: 1;
    width: 900px;
    margin: 0 auto;
}
.map_img img {
    width: 100%;
}

.leaflet-container {
	background: #def1fc !important;
	outline-offset: 0 !important;
}
.leaflet-left .leaflet-control {
  margin-left: 0 !important;
}
.leaflet-top .leaflet-control {
  margin-top: 0 !important;
}

.sub_kukaku {
    font-size: 1.16em;
}
.kukaku1 {
    position: relative;
}
.kukaku1 span {
    position: absolute;
    right: 0;
    bottom: 20%;
    font-size: 0.76em;
}
.kukaku2 img {
    width: 100%;
}
.kukaku2 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.kukaku2 ul li:first-child {
    width: 40%;
}
.kukaku2 ul li:last-child {
    width: 55%;
}

.sub_etc {
    font-size: 1.16em;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 2em;
}
.etc_box img {
    width: 100%;
}
.etc_box ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.etc_box ul li {
    width: 22%;
    line-height: 1.7;
}
.etc_box ul li h4 {
    position: relative;
    margin-bottom: 1.2em;
}
.etc_box ul li h4 span {
    position: absolute;
    right: 7px;
    bottom: 5px;
    font-size: 0.6em;
    line-height: 1;
    font-weight: normal;
    color: #fff;
}
.etc_box ul li h5 {
    color: #6fb92c;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
.etc_box ul li h6 {
    margin-bottom: 0.5em;
    line-height: 1.5;
}
.etc_box ul li p {
    font-size: 0.92em;
}

.sub_table {
    font-size: 1.16em;
    color: #025986;
    line-height: 1;
    margin-bottom: 1em;
}
.sub_ku {
    font-size: 1.16em;
    background-color: #00784d;
    color: #fff;
    line-height: 1;
    padding: 1em 1em 0.5em;
    margin-bottom: 1em;
}
.table_box {
    margin-bottom: 3em;
    line-height: 1.4;
}
.table_box ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}
.table_box ul li {
    width: 49%;
}
.table_tx {
    text-align: left;
    margin-top: -2.5em;
}
.table_tx span {
    font-size: 0.68em;
    line-height: 1.5;
}

.contact_btn {
    text-align: center;
}
.contact_btn a {
    display: inline-block;
    background-color: #009da3;
    color: #fff;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    font-size: 1.4em;
    line-height: 1.5;
    padding: 1em 2em;
}

.table4 {
    font-size: 0.92em;
}
.table4 td:first-of-type {
    width: 8em;
}

.table4 td:last-of-type {
    width: 11em;
}
.table4 span {
    font-size: 0.84em;
    background-color: #fff;
}
.table4 img {
    vertical-align:middle;
    height: 2em;
    margin: -0.5em auto;
}

@media screen and (min-width: 1151px) {
.table4 td {
    height: 3.5em;
}
}

@media screen and (max-width: 1150px) {
.table_box ul li {
    width: 100%;
}
.table_box ul li:last-child {
    margin-top: -1px;
}
.table_box ul li:last-child tr:first-child {
    display: none; 
}

.contact_btn a {
    font-size: 1.24em;
    padding: 1em 2em;
}

.table4 td:first-of-type {
    width: 11em;
}
.table4 td:last-of-type {
    width: 14em;
}
}

@media screen and (max-width: 960px) {

.concept h3 {
    width: 22%;
}
.concept h4 {
    width: 55%;
}
.concept p {
    margin-bottom: 3em;
}

.enviro h3 span {
    font-size: 2.5vw;
}

.envbox {
    margin-bottom: 2em;
}
.envbox ul {
    justify-content: space-between;
    flex-wrap: wrap;
}
.envbox ul li:first-child {
    padding: 3em 3em 3em 0;
    width: 80%;
}
.envbox ul li:last-child {
    box-sizing: border-box;
    width: 95%;
    margin: -2em 0 0 0;
    text-align: right;
}
.envbox ul li h6 {
    width: 60%;
    margin: 0 0 0 auto;
}
.envbox ul li .eb_sub {
    width: calc(100% - 3em - 45px);
}
.envbox ul li .eb_sub h4 {
}
.envbox ul li .eb_sub h5 {
    font-size: 1.4em;
}
.envbox ul li p {
    width: calc(100% - 3em);
}

.tsub {
    font-size: 1.8em;
    margin-bottom: 1em;
}

.loc_box1 {

}
.loc_box1 .limg1 {
    width: 100%;
    margin-bottom: 1em;
}
.loc_box1 ul {

}
.loc_box1 ul {
    width: 100%;
}
.loc_box1 ul li {
    width: calc((100% / 3) - (2em / 2));
    margin-bottom: 1em;
}

.loc_box2 {
    padding-bottom: 3em;
}
.loc_box2 ul {

}
.loc_box2 ul li {
    width: calc((100% / 3) - (2em / 2));
    margin-bottom: 1em;
}
.loc_box1 .limg1 p,.loc_box1 ul li p,.loc_box2 ul li p {
    line-height: 1.4;
    font-size: 0.76em;
}

.terra_box ul li:first-child {
    width: 100%;
    aspect-ratio:2.5 / 1;
}
.terra_box ul li:last-child {
    width: 100%;
    padding: 2em;
}
.terra_box h4 {
    font-size: 1.24em;
}

.map_img {
    width: 100%;
}

.sub_kukaku {
    font-size: 1em;
}
.kukaku1 span {
    bottom: 10%;
    font-size: 0.76em;
}

.sub_etc {
    font-size: 1.16em;
    margin-bottom: 2em;
}
.etc_box ul {
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: -2em;
}
.etc_box ul li {
    width: 47%;
    margin-bottom: 2em;
}

.table4 td:first-of-type {
    width: 8em;
}
.table4 td:last-of-type {
    width: 11em;
}
}


@media screen and (max-width: 520px) {

.con_maker h3 {
    margin-bottom: 2em;
    font-size: 1em;
}
.con_maker ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: -1em;
}
.con_maker ul li {
    width: calc(100% / 2 - (1em / 2));
    margin-bottom: 1em;
}

.concept h3 {
    width: 26%;
}
.concept h4 {
    width: 62%;
}
.concept p {
    font-size: 0.92em;
}

.enviro {
    aspect-ratio: 3 / 2;
    background-image: url("../img/bg_onga_sp.webp");
}
.enviro h3 {
    height: 39%;
}
.enviro h3 span {
    font-size: 3.5vw;
}


.envbox {
    margin-bottom: 2em;
}
.envbox ul li:first-child {
    padding: 3em 2em 2em 0;
    width: 90%;
}
.envbox ul li:last-child {
    box-sizing: border-box;
    width: 100%;
    margin: -2em 0 0 0;
    text-align: right;
}
.envbox ul li h6 {
    width: 70%;
    margin: 0 0 0 auto;
}
.envbox ul li .eb_sub {
    width: calc(100% - 2em - 40px);
}
.envbox ul li .eb_sub h4 {
    font-size: 0.92em;
    letter-spacing: 0.05em;
}
.envbox ul li .eb_sub h5 {
    font-size: 1.16em;
    letter-spacing: 0.05em;
}
.envbox ul li p {
    font-size: 0.92em;
    width: calc(100% - 2em);
}

.tsub {
    font-size: 1.6em;
    margin-bottom: 1em;
}

.fsadj {
    font-size: 0.92em;
}

.loc_box1 {

}
.loc_box1 .limg1 {
    width: 100%;
    margin-bottom: 1em;
}
.loc_box1 ul {

}
.loc_box1 ul {
    width: 100%;
}
.loc_box1 ul li {
    width: calc((100% / 2) - (1em / 2));
    margin-bottom: 1em;
}

.loc_box2 {
    padding-bottom: 2em;
}
.loc_box2 ul {

}
.loc_box2 ul li {
    width: calc((100% / 2) - (1em / 2));
    margin-bottom: 1em;
}
.loc_box1 .limg1 p,.loc_box1 ul li p,.loc_box2 ul li p {
    line-height: 1.4;
    font-size: 0.76em;
}

.area_map section {
    overflow: auto;
}
.area_map section img {
    width: 710px;
}
.swipe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}
.swipe img {
    width: 70px;
}

.sub_kukaku {
    font-size: 1em;
    text-align: center;
    margin-bottom: 2em;
}
.kukaku1 span {
    bottom: 10%;
    font-size: 0.68em;
}
.kukaku2 ul {
    justify-content: space-around;
    flex-direction: column-reverse;
}
.kukaku2 ul li:first-child {
    width: 80%;
}
.kukaku2 ul li:last-child {
    width: 80%;
    margin-bottom: 2em;
}

.sub_etc {
    font-size: 1em;
    margin-bottom: 2em;
}
.etc_box ul {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: -2em;
}

.sub_table {
    font-size: 1em;
}

.contact_btn a {
    font-size: 1.24em;
    padding: 1em 3em;
}

.table4 th {
    font-size: 0.84em;
}
.table4 td:first-of-type {
    width: 6.5em;
}
.table4 td:last-of-type {
    width: 10em;
    font-size: 0.84em;
}

}
