/* ----------------------------------------
建築工法 structure
---------------------------------------- */
.structure_wrap {
 padding-top: 10px;
}

.structure_main {
 width: 100%;
 height: 200px;
 background: url(../img_cms/ga_main_bg.png);
 background-size: cover;
 background-position: center;
}

.structure_inner {
 width: 1100px;
 margin: 0 auto;
 position: relative;
}

.structure_inner::before {
 content: "";
 display: block;
 background: url(../structure/img/structure.png);
 width: 220px;
 height: 220px;
 position: absolute;
 left: 0;
 top: -10px;
}

.structure_inner h2 {
 color: #fff;
 font-weight: bold;
 font-size: 32px;
 border-bottom: none;
 line-height: 200px;
 padding-left: 270px;
 letter-spacing: 0.1em;
 margin: 0;
}

.st_anker_list {
 width: 920px;
 margin: 80px auto;
}

.st_anker_list ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.st_anker_list ul li {
 width: 33%;
}

.st_anker_list ul li a {
 display: block;
 text-align: center;
 margin-bottom: 70px;
 padding: 15px 0 0;
}

.st_anker_list ul li a:hover {
 background: #f5fbff;
}

.st_anker_list ul li a img {
 display: block;
 margin: 0 auto;
}

.st_anker_list ul li a::after {
 content: "";
 box-sizing: border-box;
 width: 17px;
 height: 11px;
 border: 11px solid transparent;
 border-top: 11px solid #135174;
 display: block;
 margin: 20px auto 0;
}

.st_anker_list ul li a span {
 font-weight: bold;
 font-size: 15px;
 line-height: 28px;
 color: #333;
 letter-spacing: 0.05em;
 display: block;
 margin: 30px 0 10px;
}

.st_anker_list ul li a p {
 font-weight: 500;
 font-size: 14px;
 line-height: 28px;
 color: #333;
 letter-spacing: 0.05em;
}

.st_strong_wrap {
 width: 100%;
 background: #f1f1f1;
 padding: 70px 0;
 position: relative;
}

.st_strong_wrap::before {
 content: "";
 width: 0;
 height: 0;
 position: absolute;
 top: -100px;
}

.st_strong_inner {
 width: 1200px;
 margin: 0 auto;
}

.structure_wrap h2 {
 color: #2a4d79;
 font-size: 25px;
 font-weight: bold;
 line-height: 28px;
 margin: 0 0 40px;
 padding-bottom: 30px;
 padding-left: 15px;
 border-bottom: 1px solid #2a4d79;
 position: relative;
}

.structure_wrap h2::after {
 content: "";
 display: block;
 background: url(../structure/img/bg_01.png);
 width: 134px;
 height: 99px;
 position: absolute;
 right: 15px;
 bottom: 15px;
}

.structure_wrap p {
 color: #333;
 font-size: 14px;
 line-height: 30px;
 font-weight: bold;
 letter-spacing: 0.05em;
}

.st_strong_about {
 width: 1150px;
 margin: 0 auto;
 position: relative;
 box-sizing: border-box;
 padding-right: 590px;
}

.st_strong_about::before {
 content: "";
 display: block;
 background: url(../structure/img/st_img.png);
 width: 530px;
 height: 314px;
 position: absolute;
 right: 0;
 top: 0;
}

.st_strong_about h3 {
 color: #000;
 font-size: 22px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.1em;
 margin: 20px 0;
 padding-top: 20px;
}

.st_strong_point {
 width: 1000px;
 margin: 100px auto;
 text-align: center;
}

.st_strong_point h3 {
 text-align: center;
 margin: 0 0 30px;
}

.st_strong_point ul {
 display: flex;
 justify-content: space-between;
}

.st_strong_point ul li {
 width: 300px;
 height: 360px;
 background: #fff;
 box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
 box-sizing: border-box;
 padding: 20px 15px;
}

.st_strong_point ul li h4 {
 color: #000;
 font-size: 18px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.05em;
 margin: 0 0 20px;
}

.st_strong_point ul li h4 span {
 color: #e50112
}

.st_strong_point ul li p {
 text-align: left;
 margin-top: 15px;
 padding-left: 20px;
}

.st_bcon_wrap {
 width: 970px;
 margin: 0 auto;
 position: relative;
 z-index: 1;
}

.st_bcon_wrap::before {
 content: "";
 display: block;
 background: url(../structure/img/bg_re.png);
 width: 989px;
 height: 221px;
 position: absolute;
 left: -250px;
 top: -125px;
 z-index: -1;
}

.st_bcon_wrap::after {
 content: "+";
 display: block;
 color: #244976;
 font-size: 30px;
 font-weight: bold;
 position: absolute;
 left: 475px;
 top: 83px;
}

.st_bcon_ti {
 color: #244976;
 font-size: 20px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.05em;
 text-align: center;
 margin-bottom: 40px;
}

.st_bcon_list {
 display: flex;
 justify-content: space-between;
}

.st_bcon {
 width: 440px;
}

.st_bcon span {
 display: block;
 background: #2a4d79;
 line-height: 51px;
 text-align: center;
 color: #fff;
 font-size: 15px;
 font-weight: bold;
 letter-spacing: 0.05em;
}

.st_bcon p {
 padding: 20px;
}

.st_bcon img {
 display: block;
 margin: 0 auto;
}

.st_tji_wrap {
 width: 1200px;
 margin: 80px auto;
}

.st_tji_wrap h2::after {
 background: url(../structure/img/bg_02.png);
 width: 139px;
 height: 99px;
}

.st_tji_about {
 width: 1100px;
 margin: 40px auto;
 display: flex;
 justify-content: space-between;
}

.st_tji_about_b {
 flex-direction: row-reverse;
}

.st_tji_about h3 {
 font-size: 22px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.1em;
}

.st_tji_about ul {
 display: flex;
 margin-bottom: 20px;
}

.st_tji_about ul li {
 display: inline-block;
 font-size: 14px;
 line-height: 40px;
 font-weight: bold;
 letter-spacing: 0.05em;
 border: 1px solid #000;
 padding: 0 15px;
 margin-right: 15px;
}

.st_tji_about p span {
 color: #ff0000;
}

.st_tji_txt {
 width: 670px;
}

.st_tji_txt_b {
 width: 670px;
}

.st_ms_wrap {
 width: 100%;
 background: #f1f1f1;
 padding: 80px 0;
}

.st_ms_wrap h2::after {
 background: url(../structure/img/bg_03.png);
 width: 134px;
 height: 99px;
}

.st_ms_inner {
 width: 1200px;
 margin: 0 auto;
}

.st_ms_about {
 width: 1100px;
 margin: 60px auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.st_ms_about h3 {
 font-size: 22px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.1em;
}

.st_ms_list {
 width: 1100px;
 height: 160px;
 margin: 0 auto;
 display: flex;
 align-items: center;
 background: #fff;
 border-radius: 10px;
}

.st_ms_list span {
 width: 290px;
 height: 160px;
 border-radius: 10px 0 0 10px;
 background: url(../structure/img/tr_bg.png);
 background-size: cover;
 background-position: center;
 color: #fff;
 display: flex;
 justify-content: center;
 align-items: center;
 position: relative;
 font-size: 15px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.05em;
 margin-right: 90px;
}

.st_ms_list ul {
 display: flex;
 flex-wrap: wrap;
 width: 600px;
}

.st_ms_list ul li {
 display: flex;
 align-items: center;
 width: 50%;
 font-size: 18px;
 line-height: 28px;
 font-weight: bold;
 letter-spacing: 0.05em;
 color: #333;
}

.st_ms_list ul li:nth-child(1),
.st_ms_list ul li:nth-child(2) {
 margin-bottom: 20px;
}

.st_ms_list ul li::before {
 content: "";
 display: block;
 background: url(../structure/img/check_icon.png);
 width: 24px;
 height: 24px;
 margin-right: 10px;
}

.st_point_wrap {
 width: 1200px;
 margin: 80px auto;
}

.st_point_wrap h2::after {
 background: url(../structure/img/bg_04.png);
 width: 140px;
 height: 102px;
}

.st_point_about {
 width: 1100px;
 margin: 60px auto;
}

.st_point_about ul {
 display: flex;
 justify-content: space-between;
 margin-top: 60px;
}

.st_point_list {
 width: 1000px;
 margin: 100px auto 60px;
 box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
 box-sizing: border-box;
 padding: 50px;
 position: relative;
}

.st_point_list h3 {
 position: absolute;
 margin: 0;
 left: 324px;
 top: -32px;
}

.st_point_list ul li {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 30px;
 border-bottom: 1px dashed #b9b9b9;
 padding: 0 20px 30px;
}

.st_point_list ul li:last-child {
 margin-bottom: 0;
 padding-bottom: 0;
 border-bottom: none;
}

.st_point_list ul li p {
 color: #000;
 width: 750px;
}

.st_support_wrap {
 width: 100%;
 background: #f1f1f1;
 padding: 80px 0;
}

.st_support_wrap h2::after {
 background: url(../structure/img/bg_05.png);
 width: 143px;
 height: 99px;
}

.st_support_inner {
 width: 1200px;
 margin: 0 auto;
}

.st_support_con {
 width: 1100px;
 margin: 60px auto;
 box-sizing: border-box;
 padding: 50px 160px;
 border-radius: 10px;
 background: #fff;
}

.st_support_item {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 padding-bottom: 20px;
 border-bottom: 1px solid #3d2e29;
 margin-bottom: 40px;
 position: relative;
}

.st_support_txt {
 width: 420px;
}

.st_support_item::after {
 content: "";
 box-sizing: border-box;
 width: 40px;
 height: 20px;
 border: 20px solid transparent;
 border-top: 20px solid #3d2e29;
 display: block;
 position: absolute;
 left: 100px;
 bottom: -40px;
}

.st_support_subti {
 font-size: 15px;
 font-weight: bold;
 color: #000;
 line-height: 30px;
 margin-bottom: 15px;
 border-bottom: 1px solid #000;
}

.st_support_txt span {
 font-size: 12px;
 font-weight: 500;
}

.st_su_list {
 display: flex;
 flex-wrap: wrap;
 margin-top: 15px;
}

.st_su_list li {
 width: 24%;
 background: #828387;
 color: #fff;
 line-height: 30px;
 text-align: center;
 font-size: 12px;
 margin-bottom: 3px;
 margin-right: 1%;
 letter-spacing: 0.05em;
}

.st_su_listb li {
 display: flex;
 align-items: center;
 margin-bottom: 10px;
}

.st_su_listb li span {
 display: block;
 width: 110px;
 line-height: 30px;
 text-align: center;
 font-size: 12px;
 background: #828387;
 margin-right: 10px;
 font-weight: bold;
 color: #fff;
 font-weight: bold;
}

.st_su_listb li p {
 width: 660px;
 font-size: 12px;
}

.st_support_item_b {
 display: block;
}

.st_support_no1 {
 position: absolute;
 right: 80px;
 top: 40px;
 text-align: center;
}

.st_support_no1 p {
 font-size: 30px;
 line-height: 40px;
 color: #2e0011;
 font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.st_support_no1 span {
 font-size: 25px;
 line-height: 32px;
 color: #fff;
 background: #3d2e29;
 width: 130px;
 height: 130px;
 border-radius: 50%;
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 15px auto;
 font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.st_support_item_b::after {
 content: none;
}

.st_support_subti span {
 display: inline-block !important;
 width: 80px;
 line-height: 30px !important;
 text-align: center;
 font-size: 14px !important;
 background: #4d4e50;
 margin: 0 10px 0 0 !important;
 font-weight: bold !important;
 color: #fff;
}

.st_support_txt span {
 display: block;
 font-size: 12px;
 line-height: 24px;
 font-weight: 500;
 margin: 10px 0 40px;
}

.st_support_subtib {
 width: 620px;
}

.st_kiso_wrap {
 width: 1200px;
 margin: 80px auto;
}

.st_kiso_wrap h2::after {
 background: url(../structure/img/bg_06.png);
 width: 131px;
 height: 99px;
}

.st_kiso_inner {
 width: 1100px;
 margin: 60px auto;
}

.st_kiso_inner ul {
 display: flex;
 justify-content: space-between;
 margin: 50px 0;
}

.st_kiso_inner h3 {
 font-size: 20px;
 font-weight: bold;
 line-height: 28px;
 margin: 0 0 30px;
}

.st_kiso_txt_wrap {
 display: flex;
 align-items: center;
 justify-content: space-between;
 border-top: 1px dashed #e4e4e4;
 padding-top: 60px;
 margin-top: 60px;
}

.st_kiso_txt_wrap p {
 width: 720px;
}

/* 建築工法 structure
---------------------------------------- */
/* ----------------------------------------
 設備仕様 facility
---------------------------------------- */
.facility_main .structure_inner::before {
 background: url(../facility/img/facility.png);
}

.facility_wrap {
 overflow: hidden;
}

.facility_wrap p {
 font-size: 16px;
 line-height: 35px;
 letter-spacing: 0.1em;
 font-weight: bold;
 color: #000;
 margin: 15px 0;
}

.fa_about_warp {
 width: 840px;
 margin: 80px auto;
 text-align: center;
}

.fa_about_item {
 display: flex;
 justify-content: space-between;
 margin: 90px auto 200px;
}

.fa_about_con {
 width: 380px;
 height: 380px;
 background: #2b4156;
 color: #fff;
 border-radius: 10px;
 box-sizing: border-box;
 padding-top: 55px;
}

.fa_about_con h3 {
 color: #fff;
 font-size: 25px;
 line-height: 28px;
 letter-spacing: 0.1em;
 font-weight: bold;
 text-align: center;
 margin: 0 0 30px;
}

.fa_about_con h3::before {
 content: "";
 display: block;
 background: url(../facility/img/interior.png);
 width: 47px;
 height: 15px;
 margin: 0 auto 15px;
}

.fa_about_con_r {
 background: #3d5c79;
}

.fa_about_con_r h3::before {
 background: url(../facility/img/exterior.png);
 width: 72px;
 height: 19px;
}

.fa_about_con p {
 font-size: 13px;
 line-height: 23px;
 margin: 30px 0;
 color: #fff;
}

.fa_about_con ul {
 width: 165px;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 margin: 0 auto 10px;
}

.fa_about_con ul li {
 width: 80px;
 line-height: 35px;
 background: #fff;
 color: #333;
 font-size: 14px;
 letter-spacing: 0.05em;
 border-radius: 5px;
 font-weight: bold;
}

.fa_about_con ul li:nth-child(1),
.fa_about_con ul li:nth-child(2) {
 margin-bottom: 5px;
}

.fa_about_con span {
 color: #fff;
 font-size: 12px;
 font-weight: bold;
}

.fa_result_wrap {
 width: 1100px;
 margin: 0 auto;
}

.fa_result_wrap a {
 position: relative;
 display: block;
}

.fa_result_wrap a::before {
 content: "";
 background: url(../facility/img/up_btn.png);
 width: 50px;
 height: 50px;
 position: absolute;
 right: 10px;
 top: 10px;
 cursor: pointer;
}

.fa_result_main_ti {
 width: 600px;
 margin: 0 auto 60px;
 text-align: center;
 position: relative;
}

.fa_result_main_ti::before {
 content: "";
 display: block;
 background: url(../facility/img/result_bg.png);
 width: 601px;
 height: 203px;
 position: absolute;
 left: 0;
 top: -90px;
}

.fa_result_main_ti h2 {
 color: #333;
 font-size: 30px;
 line-height: 45px;
 letter-spacing: 0.1em;
 font-weight: bold;
 text-align: center;
 margin: 0;
}

.fa_result_wrap h3 {
 text-align: center;
 position: relative;
}

.fa_result_wrap h3::before {
 content: "";
 display: block;
 width: 360px;
 height: 1px;
 background: #b9b9b9;
 position: absolute;
 left: 0;
 top: 65px;
}

.fa_result_wrap h3::after {
 content: "";
 display: block;
 width: 360px;
 height: 1px;
 background: #b9b9b9;
 position: absolute;
 right: 0;
 top: 65px;
}

.fa_ex_con ul {
 height: 560px;
 display: flex;
 justify-content: space-between;
 margin: 60px auto;
}

.fa_ex_con ul li {
 width: 500px;
 position: relative;
}

.fa_result_txt {
 width: 480px;
 box-sizing: border-box;
 background: #fff;
 padding: 20px;
 z-index: 1;
 position: absolute;
 top: 305px;
 left: 20px;
}

.fa_result_ti {
 display: flex;
 align-items: center;
 font-size: 16px;
 font-weight: bold;
 letter-spacing: 0.05em;
 color: #000;
}

.fa_result_ti span {
 font-size: 11px;
 font-weight: bold;
 margin-left: 20px;
}

.fa_result_ti::before {
 content: "";
 display: block;
 background: url(../facility/img/house_icon.png);
 background-size: contain;
 background-repeat: no-repeat;
 background-position: center;
 width: 10px;
 height: 9px;
 margin: 0 20px;
}

.fa_result_wrap p {
 font-size: 14px;
 font-weight: 500;
 line-height: 30px;
}

.fa_in_con ul {
 margin: 60px auto;
}

.fa_in_con ul li {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 60px;
 position: relative;
}

.fa_in_con ul li .fa_result_ti {
 width: 500px;
 background: #fff;
 padding: 20px;
 position: absolute;
 left: 20px;
 top: 305px;
}

.fa_in_con ul li:nth-of-type(even) {
 flex-direction: row-reverse;
}

.fa_in_con ul li p {
 width: 500px;
 padding: 30px;
 box-sizing: border-box;
}

.fa_kitchen_wrap {
 margin-top: 100px;
}

.fa_kitchen_inner {
 display: flex;
 justify-content: space-between;
 margin: 60px 0 0;
}

.fa_kitchen_list {
 width: 520px;
}

.fa_kitchen_list span {
 display: block;
 font-size: 16px;
 line-height: 20px;
 padding-bottom: 15px;
 margin: 20px 0;
 border-bottom: 1px dashed #dedede;
 font-weight: bold;
}

.fa_kitchen_list ul li {
 display: flex;
 justify-content: space-between;
 margin-bottom: 20px;
}

.fa_kitchen_list ul li p {
 width: 300px;
 font-size: 12px;
 line-height: 23px;
 margin: 0;
}

.fa_kitchen_con {
 width: 500px;
 position: relative;
}

.fa_kitchen_con .fa_result_ti {
 width: 500px;
 background: #fff;
 padding: 20px;
 position: absolute;
 left: 20px;
 top: 305px;
}

.fa_kitchen_con p {
 padding: 20px;
 margin-top: 30px;
 padding-right: 0;
}

.fa_kitchen_inner_b {
 flex-direction: row-reverse;
}

.fa_neo_wrap {
 width: 100%;
 overflow: hidden;
 text-align: center;
 padding: 100px 0 60px;
 ;
}

.fa_neo_wrap h2 {
 width: 600px;
 font-size: 20px;
 font-weight: bold;
 color: #2a4d79;
 line-height: 30px;
 letter-spacing: 0.1em;
 margin: 0 auto 30px;
 text-align: center;
 position: relative;
}

.fa_neo_wrap h2::before {
 content: "";
 display: block;
 background: url(../facility/img/window_bg.png);
 width: 606px;
 height: 218px;
 position: absolute;
 left: 0;
 top: -60px;
 z-index: -1;
}

.fa_neo_wrap p {
 font-size: 14px;
 color: #333;
 letter-spacing: 0.1em;
 margin-bottom: 60px;
}

.fa_neo_inner {
 width: 1100px;
 margin: 0 auto;
 padding-bottom: 60px;
 display: flex;
 justify-content: space-between;
 position: relative;
}

.fa_neo_inner::before {
 content: "";
 width: 100vw;
 height: 100%;
 position: absolute;
 top: 0;
 left: 150px;
 background: #eee;
 z-index: -1;
}

.fa_neo_inner_b::before {
 left: auto;
 right: 150px;
}

.fa_neo_ti {
 position: relative;
 margin-top: 90px;
}

.fa_neo_ti h3 {
 color: #333;
 font-size: 26px;
 font-weight: bold;
 letter-spacing: 12px;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 position: relative;
}

.fa_neo_ti h3::before {
 content: "";
 display: block;
 width: 140px;
 height: 140px;
 background: #2a4d79;
 border-radius: 50%;
 position: absolute;
 top: -30px;
 z-index: -1;
 left: -60px;
}

.fa_neo_ti h3 span {
 font-weight: bold;
 color: #fff;
}

.fa_neo_subti {
 width: 130px;
 height: 30px;
 display: block;
 color: #a8a8a8;
 font-size: 15px;
 font-weight: bold;
 transform: rotate(90deg);
 position: absolute;
 left: -75px;
 top: 240px;
 letter-spacing: 2px;
}

.fa_neo_inner ul {
 width: 950px;
 background: #eee;
 padding: 40px 55px 0;
 display: flex;
 justify-content: space-between;
 box-sizing: border-box;
}

.fa_neo_inner ul li {
 width: 380px;
}

.fa_neo_inner ul li p {
 padding: 15px;
 margin: 0;
 text-align: left;
 font-size: 14px;
 line-height: 30px;
}

.fa_neo_inner_b {
 flex-direction: row-reverse;
}

.fa_neo_inner_b h3::before {
 top: -67px;
}

/* 設備仕様 facility
---------------------------------------- */
/* ----------------------------------------
コンセプト concept
---------------------------------------- */
.concept_main .structure_inner::before {
 background: url(../concept/img/concept.png);
}

.concept_wrap {
 margin-top: 140px;
}

.concept_about {
 width: 1100px;
 margin: 80px auto;
 text-align: center;
 background: url(../concept/img/concept_bg.png);
 background-position: 243px 270px;
 background-repeat: no-repeat;
}

.concept_about h3 {
 font-size: 48px;
 font-weight: bold;
 line-height: 48px;
 margin: 60px auto;
 text-align: center;
 color: #000;
}

.concept_about p {
 font-size: 18px;
 line-height: 42px;
 font-weight: bold;
 color: #000;
 margin-bottom: 130px;
}

.ca_txt_point {
 display: inline-block;
 background: #073b54;
 color: #fff;
 font-weight: bold;
 line-height: 40px;
 margin: 0 5px;
 padding: 0 10px;
 text-align: center;
}

.ca_txt_blue {
 color: #073b54;
 font-weight: bold;
}

.ca_txt_brown {
 color: #582a16;
 font-weight: bold;
}

.ca_txt_gray {
 color: #3f3f3f;
 font-weight: bold;
}

.concept_about img {
 margin-top: -70px;
}

.concept_point {
 width: 1000px;
 margin: 80px auto;
}

.concept_point_ti {
 text-align: center;
}

.concept_point_ti h3 {
 color: #333;
 font-size: 30px;
 font-weight: bold;
 line-height: 30px;
 letter-spacing: 0.1em;
 margin: 20px 0 60px;
}

.concept_point ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.concept_point ul li {
 width: 480px;
 margin-bottom: 40px;
}

.concept_point ul li span {
 display: block;
 font-size: 20px;
 line-height: 28px;
 font-weight: bold;
 margin: 10px 0;
}

.concept_point ul li p {
 font-size: 16px;
 font-weight: 500;
 line-height: 28px;
}

/* コンセプト concept
---------------------------------------- */
/* ----------------------------------------
土地から建てるマイホーム build_land
---------------------------------------- */
.build_main_wrap {
 width: 100%;
 background: url(../build_land/img/main_bg.png);
 background-size: cover;
 background-position: center;
 overflow: hidden;
}

.build_main_inner {
 width: 1100px;
 height: 600px;
 box-sizing: border-box;
 margin: 0 auto;
 padding-top: 170px;
 position: relative;
}

.build_main_inner::before {
 content: "";
 display: block;
 background: url(../build_land/img/bild.png);
 width: 438px;
 height: 207px;
 position: absolute;
 right: 0;
 bottom: -20px;
}

.build_main_inner h2 {
 text-align: center;
 color: #2b4156;
 font-size: 32px;
 font-weight: bold;
 line-height: 48px;
 letter-spacing: 0.05em;
}

.build_main_inner h2::before {
 content: "";
 display: block;
 background: url(../build_land/img/main_icon.png);
 width: 180px;
 height: 101px;
 margin: 0 auto 10px;
}

.build_plan_about {
 width: 900px;
 height: 500px;
 margin: 80px auto;
 background: #f8f8f8;
 box-sizing: border-box;
 padding-top: 40px;
 text-align: center;
 position: relative;
}

.build_plan_about::before {
 content: "";
 display: block;
 width: 150px;
 height: 1px;
 background: #3d5c79;
 transform: rotate(-45deg);
 position: absolute;
 left: -45px;
 top: 30px;
}

.build_plan_about::after {
 content: "";
 display: block;
 width: 150px;
 height: 1px;
 background: #3d5c79;
 transform: rotate(-45deg);
 position: absolute;
 right: -45px;
 bottom: 30px;
}

.build_plan_about p {
 font-size: 16px;
 line-height: 36px;
 color: #333;
 font-weight: bold;
 margin: 40px 0 0;
}

.build_plan_list ul {
 width: 960px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}

.build_plan_list ul li {
 text-align: center;
}

.build_plan_list ul li span {
 display: block;
 color: #3d5c79;
 font-size: 18px;
 font-weight: bold;
 line-height: 35px;
 margin-top: 10px;
}

.build_plan_point {
 width: 1200px;
 margin: 80px auto;
}

.build_plan_point ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.build_plan_point ul li {
 width: 380px;
 margin-bottom: 50px;
}

.build_plan_point ul li span {
 display: block;
 font-size: 18px;
 font-weight: bold;
 line-height: 28px;
 margin: 10px auto;
}

.build_plan_point ul li p {
 font-size: 16px;
 line-height: 28px;
 font-weight: 500;
}

.build_flow_wrap {
 width: 1070px;
 margin: 80px auto;
}

.build_flow_wrap h2 {
 color: #333;
 font-size: 14px;
 line-height: 28px;
 letter-spacing: 0.05em;
 text-align: center;
 margin: 0 0 60px;
}

.build_flow_wrap h2::before {
 content: "";
 display: block;
 background: url(../build_land/img/flow_ti.png);
 width: 297px;
 height: 90px;
 margin: 0 auto 15px;
}

.build_flow_wrap ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 background: url(../build_land/img/step_bg.png);
 background-position: 243px 135px;
 background-repeat: no-repeat;
}

.build_flow_wrap ul::after {
 content: "";
 display: block;
 background: url(../build_land/img/step_icon.png);
 background-repeat: no-repeat;
 background-position: center;
 width: 500px;
 height: 300px;
}

.build_flow_wrap ul li {
 width: 500px;
 background: #f2f2f2;
 padding: 20px;
 box-sizing: border-box;
 position: relative;
 margin-bottom: 80px;
}

.build_flow_wrap ul li::before {
 content: "";
 display: block;
 background: url(../build_land/img/step01.png);
 width: 100px;
 height: 100px;
 position: absolute;
 left: -20px;
 top: -20px;
}

.build_flow_wrap ul li:nth-child(2)::before {
 background: url(../build_land/img/step02.png);
}

.build_flow_wrap ul li:nth-child(3)::before {
 background: url(../build_land/img/step03.png);
}

.build_flow_wrap ul li:nth-child(4)::before {
 background: url(../build_land/img/step04.png);
}

.build_flow_wrap ul li:nth-child(5)::before {
 background: url(../build_land/img/step05.png);
}

.build_flow_wrap ul li p {
 color: #333;
 font-weight: 500;
 font-size: 16px;
 line-height: 28px;
 letter-spacing: 0.05em;
 margin-top: 10px;
}

.build_flow_btn {
 text-align: center;
}

.build_flow_btn span {
 display: inline-block;
 font-size: 18px;
 font-weight: bold;
 line-height: 28px;
 color: #333;
 position: relative;
}

.build_flow_btn span::before {
 content: "";
 display: block;
 background: #333;
 width: 50px;
 height: 1px;
 position: absolute;
 left: -60px;
 top: 15px;
 transform: rotate(45deg);
}

.build_flow_btn span::after {
 content: "";
 display: block;
 background: #333;
 width: 50px;
 height: 1px;
 position: absolute;
 right: -60px;
 top: 15px;
 transform: rotate(-45deg);
}

.build_flow_btn a {
 display: block;
 width: 600px;
 height: 120px;
 border: 1px solid #2b4156;
 box-sizing: border-box;
 text-align: center;
 font-size: 24px;
 font-weight: bold;
 line-height: 118px;
 color: #333;
 letter-spacing: 0.05em;
 position: relative;
 margin: 30px auto;
 transition: .3s;
}

.build_flow_btn a::before {
 content: "";
 position: absolute;
 left: 60px;
 top: 48px;
 width: 13px;
 height: 13px;
 border-top: 5px solid #000;
 border-right: 5px solid #000;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
 transition: .3s;
}

.build_flow_btn a:hover {
 background: #2b4156;
 color: #fff;
 transition: .3s;
}

.build_flow_btn a:hover::before {
 border-top: 5px solid #fff;
 border-right: 5px solid #fff;
 transition: .3s;
}

/* 土地から建てるマイホーム build_land
---------------------------------------- */
/* ----------------------------------------
テレワーク telwork
---------------------------------------- */
.container_tel {
 font-size: 16px;
 font-weight: 500;
 line-height: 36px;
 background-color: #e2e9ec;
 overflow: hidden;
 position: relative;
 z-index: 1;
}

.telwrap1 {
 height: 790px;
 background-image: url("../telwork/img/tel_main_bg.jpg");
 background-size: cover;
 background-position: bottom center;
 position: relative;
 top: 0;
 left: 0;
 overflow: hidden;
}

.telwrap1 p {
 font-size: 32px;
 font-weight: bold;
 line-height: 64px;
 margin-top: 200px;
 margin-left: 15%;
 position: relative;
 top: 0;
 left: 0;
}

.telwrap1 p::before {
 content: "";
 width: 150px;
 height: 50px;
 background: url("../telwork/img/tel_c1_txt.png") no-repeat;
 background-size: contain;
 position: absolute;
 top: -50px;
 left: -50px;
}

.telwrap1 span {
 color: #fff;
 font-size: 90px;
 line-height: 90px;
 position: absolute;
 bottom: -14px;
 left: 15%;
}

.telwrap2 {
 width: 100%;
 margin: 0px auto;
 padding: 85px 0px 85px 28vw;
 background-color: #fff;
}

.telwrap3 {
 width: 1023px;
 margin: 0px auto;
 padding: 66px 0px 114px;
}

.telwrap3 p {
 font-size: 24px;
 font-weight: bold;
 line-height: 52px;
 letter-spacing: 5px;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 margin-top: 150px;
 position: relative;
 top: 0;
 left: 0;
}

.telwrap3 p::before {
 content: "";
 width: 120px;
 height: 50px;
 background: url("../telwork/img/tel_c2_txt.png") no-repeat;
 background-size: contain;
 position: absolute;
 top: -50px;
 left: -50px;
}

.telwrap3 p::after {
 content: "";
 width: 800px;
 height: 600px;
 background: url("../telwork/img/tel_c1_img1.jpg") no-repeat;
 background-size: contain;
 position: absolute;
 top: -150px;
 left: 200px;
}

.telwrap4 {
 width: 100%;
 height: 400px;
}

.telwrap4::after {
 content: "";
 background-image: url("../telwork/img/tel_c1_img2.jpg");
 background-size: cover;
 background-position: bottom center;
 width: 100%;
 height: 100%;
 display: block;
 z-index: 0;
 top: 0px;
 z-index: 5;
}

.telwrap5 {
 margin: 80px auto;
}

.telwrap5 ul {
 width: 1040px;
 margin: 0px auto;
 display: flex;
 justify-content: space-between;
}

.telwrap5 p {
 margin-top: 70px;
 padding: 60px 0px;
 background: #fff;
 text-align: center;
}

.telwrap6 {
 width: 90%;
 height: 550px;
 position: relative;
 top: 0;
 left: 0;
 background-image: url("../telwork/img/tel_c2_img3.png");
 background-size: cover;
 background-position: right center;
}

.telwrap6 img {
 width: 240px;
 height: auto;
 position: absolute;
 top: 250px;
 left: 44%;
 right: 0px;
 margin: 0px auto;
 z-index: 800;
}

.telwrap7 {
 width: 1100px;
 margin: 0px auto;
 padding: 100px 0px;
}

.telwrap7 h3 {
 font-size: 24px;
 font-weight: bold;
 line-height: 36px;
 margin: 0px 0px 15px;
 padding: 0px;
}

.telwrap8 {
 width: 99%;
 margin: 0px auto;
 padding: 0px 20px;
}

.telwrap8 ul {
 display: flex;
 justify-content: space-between;
}

.telwrap8 ul li {
 width: 48%;
}

.telwrap8 ul li img {
 width: 100%;
 height: auto;
}

.telwrap10 {
 width: 96%;
 margin-left: 10vw;
}

.telwrap10 img {
 width: 100%;
 height: auto;
}

.telwrap11 {
 width: 800px;
 margin: 0px auto;
 padding: 0px 50px 100px;
}

.telwrap11 ul {
 display: flex;
 justify-content: space-between;
}

.telwrap11 ul li {
 width: 46%;
}

.telwrap11 ul a {
 font-weight: 500;
 display: block;
 padding: 20px;
 text-align: center;
 background: #fff;
}

.telwrap11 ul li:nth-child(1) a {
 color: #377d9b;
 border: solid 1px #7e96a1;
}

.telwrap11 ul li:nth-child(2) a {
 color: #333;
 border: solid 1px #333;
}

/*----------fadein---------------*/
.fadein_l {
 opacity: 0;
 transition: 1.5s;
 transform: translate(-50px, 0);
}

.fadein_r {
 opacity: 0;
 transition: 1.5s;
 transform: translate(50px, 0);
}

.fadein {
 opacity: 0;
 transition: 1.5s;
 transform: translate(0, 50px);
}

.fadein_l.fade_in_l,
.fadein_r.fade_in_r,
.fadein.fade_in {
 opacity: 1;
 transform: translate(0px, 0);
}

.scalein {
 opacity: 0;
 transition: 0.8s;
 transform: scale(0);
}

.scalein.scale_in {
 opacity: 1;
 transform: scale(1);
}

/*----------/fadein---------------*/
.side_btn {
 position: fixed;
 right: 0;
 top: 30%;
}

.side_btn a:hover {
 opacity: .8;
}

/*container_kaiin*/
.container_kaiin section:nth-child(1) {
 width: 1000px;
 margin: 50px auto;
 text-align: center;
}

.container_kaiin section:nth-child(2) {
 width: 100%;
 margin: 50px auto;
 text-align: center;
 overflow: hidden;
}

.container_kaiin section:nth-child(2) ul {
 width: 300vw;
 white-space: nowrap;
 animation: loop 100s linear infinite;
}

.container_kaiin section:nth-child(2) > p {
 margin: 20px 0px;
}

.container_kaiin section:nth-child(2) ul li {
 width: 200px;
 height: 200px;
 overflow: hidden;
 position: relative;
 top: 0px;
 left: 0px;
 margin: 0px 10px;
 display: inline-block;
}

@keyframes loop {
 0% {
  transform: translateX(0%);
 }

 to {
  transform: translateX(-100%);
 }
}

.container_kaiin section:nth-child(2) ul li img {
 width: 100%;
 height: auto;
}

.container_kaiin section:nth-child(2) ul li p {
 color: #fff;
 position: absolute;
 top: 0px;
 left: 0px;
 right: 0px;
 bottom: 0px;
 margin: auto;
 padding: 40% 10%;
 box-sizing: border-box;
 background-color: rgba(0, 0, 0, 0.5);
 transition: all 0.2s ease;
 opacity: 0;
 text-align: center;
}

.container_kaiin section:nth-child(2) ul li:hover p {
 transition: all 0.2s ease;
 opacity: 1;
}

.container_kaiin section:nth-child(3) {
 width: 1000px;
 margin: 50px auto;
 text-align: center;
}

.container_kaiin section:nth-child(3) img {
 display: block;
 margin: 50px auto;
}

.container_kaiin section:nth-child(3) img:nth-child(2) {
 margin: 50px auto;
}

.container_kaiin section:nth-child(4) {
 width: 1000px;
 margin: 50px auto;
 text-align: center;
}

/* ----------------------------------------
プロステージ prostage
---------------------------------------- */
.prostage_wrap {
 overflow: hidden;
 margin-bottom: 100px;
}

.prostage_wrap p {
 color: #211814;
 font-size: 14px;
 line-height: 32px;
 font-weight: 500;
 letter-spacing: 0.02em;
 margin: 0 0 20px;
}

.prostage_wrap h2 {
 color: #211814;
 font-size: 18px;
 line-height: 18px;
 font-weight: bold;
 letter-spacing: 0.05em;
 margin: 0 0 20px;
}

.pro_main {
 background: url(../prostage/img/main_bg.png);
 background-position: center;
 background-size: cover;
 width: 96vw;
 height: 550px;
 box-sizing: border-box;
 text-align: center;
 padding-top: 200px;
 margin: 0 auto;
}

.prostage_inner {
 width: 1000px;
 margin: 0 auto;
}

.pro_about {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin: 70px 0 120px;
}

.pro_about_txt {
 width: 570px;
}

.pro_about_img {
 width: 390px;
}

.pro_about_img img {
 margin-top: 40px;
}

.pro_pattern ul {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: space-between;
 margin: 30px 0 50px;
}

.pro_room {
 width: 1000px;
 height: 500px;
 background: #efefef;
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: none;
 justify-content: center;
 align-items: center;
}

.pro_txt {
 margin: 120px 0;
}

.pro_cs_wrap {
 width: 1000px;
 background: #efefef;
 box-sizing: border-box;
 padding: 70px;
 margin-bottom: 100px;
}

.pro_cs_ti {
 text-align: center;
 margin-bottom: 60px;
}

.pro_cs_ti p {
 line-height: 28px;
 margin: 10px 0 0;
}

.pro_cs_wrap ul li {
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.pro_cs_wrap ul li:not(:last-child) {
 border-bottom: 1px dashed #c6c6c6;
 margin-bottom: 30px;
 padding-bottom: 30px;
}

.pro_cs_txt {
 width: 550px;
}

.pro_cs_txt span {
 display: block;
 color: #333;
 font-size: 18px;
 font-weight: bold;
 line-height: 28px;
}

.pro_cs_txt p {
 margin: 10px 0 0;
 line-height: 28px;
}

.pro_bukken {}

.pro_bukken_inner {
 width: 1100px;
 margin: 0 auto 50px;
}

.pro_bukken_inner h3 {
 font-size: 25px;
 text-align: center;
}

.pro_bukken_inner iframe {
 width: 100%;
 height: 540px;
}

.pro_bukken {}

.property_inner.rhsmini_bukken ul {
 padding: 0;
 margin: 0px;
 height: 480px;
}

.pro_bukken_inner > a {
 display: block;
 width: 400px;
 line-height: 70px;
 border: 1px solid #2b4156;
 text-align: center;
 margin: 0 auto;
 background: #000;
 font-size: 17px;
 color: #fff;
 font-weight: bold;
 letter-spacing: 0.05em;
 transition: .3s;
}

.rhsmini_bukken ul .pro_txt {
 margin: 0;
}

.property_inner.rhsmini_bukken ul li a {
 color: #000;
 text-decoration: none;
}

/* -------20240130追加--------- */
.pro_style_wrap {
	padding: 100px 0 0;
}
.pro_style_ti {
	text-align: center;
}
.pro_style_ti p {
	font-size: 18px;
	margin: 80px 0 60px;
	line-height: 40px;
	font-weight: bold;
}
.pro_style_photo_top {
	display: flex;
	align-items: center;
	justify-content: space-around;
}
.pro_style_photo_top p {
	font-size: 16px;
	line-height: 40px;
	text-align: center;
}
ul.photo_list {
    display: flex;
    justify-content: center;
    margin: 70px 0;
    flex-wrap: wrap;
    gap: 30px;
}
ul.photo_list li {
	width: 460px;
}
ul.photo_list li .photo {
	position: relative;
}
ul.photo_list li .photo p {
	position: absolute;
	background-color: #0008;
	text-align: center;
	color: #fff;
	bottom: 0;
	display: block;
	margin: 0;
	width: 100%;
	line-height: 40px;
	font-weight: bold;
}
ul.photo_list li .txt p {
    font-size: 14px;
    line-height: 2;
    margin: 15px 5px;
}
.madori_ti {
	text-align: center;
}
.madori_ti h3 {
	font-size: 25px;
	line-height: 1;
	margin: 50px 0 40px;
}
.madori_ti p {
	font-size: 15px;
	line-height: 2;
}
.madori_img {text-align: center;}
.pro_style_madori ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pro_style_madori ul li {
	width: 480px;
	display: flex;align-items: center;
	padding: 25px 30px 20px;
	border: 2px solid #333;
	box-sizing: border-box;
	gap: 30px;
	margin-top: 50px;
	position: relative;
}
.pro_style_madori ul li:before {
	content: url(/prostage/img/madori_point_icon_1.webp);
	left: 20px;
	top: -25px;
	position: absolute;
}
.pro_style_madori ul li:nth-child(2):before {
	content: url(/prostage/img/madori_point_icon_2.webp);
}
.pro_style_madori ul li:nth-child(3):before {
	content: url(/prostage/img/madori_point_icon_3.webp);
}
.pro_style_madori ul li:nth-child(4):before {
	content: url(/prostage/img/madori_point_icon_4.webp);
}
.pro_style_madori ul li img {}
.pro_style_madori ul li p {
	margin: 0;
	font-size: 14px;
	line-height: 25px;
	font-weight: bold;
}
/*--tab--*/
.tab-group {
	display: flex;
	border-bottom: 1px solid #000;
	justify-content: space-between;
	margin-top: 200px;
}
.tab {
	width: 49%;
	color: #aaaaaa;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 3;
	cursor: pointer;
	background-color: #eee;
	height: 170px;
	position: relative;
}
.tab img {
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	margin: 0 auto;
    top: -130px;
	transition: 0.3s;
}
.tab-group li:nth-child(1) {
	color: #fff;
	background-color: #000000;
	line-height: 3;
}
.tab:hover img {
	filter: drop-shadow(0 0 10px #0002);
	transform: translateY(-3px);
}
.panel {
	display: none;
    padding-top: 200px;
    margin-top: -130px;
	padding-bottom: 70px;
	transition: 0.3s;
}
.panel-group .is-show {
	display: block;
	
}
.info_items {
	display: flex;
	border-bottom: 5px solid #6eb92b;
}

/*--/tab--*/

/* ----------------------------------------
gallery
---------------------------------------- */

.top_ti {
 text-align: center;
 margin: 0 auto 40px;
}

.gallery_wrap {
 margin: 40px auto 0px;
}

.gallery_wrap iframe {
 display: block;
 width: 80vw;
 height: 55vw;
 margin: 0px auto;
}

.gallery_con ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 padding: 0px;
}

.gallery_con ul li {
 width: calc(50% - 30px);
 overflow: hidden;
}

.gallery_con ul li:nth-child(1),
.gallery_con ul li:nth-child(2) {
 margin-bottom: 30px;
}

.gallery_con ul li a {
 display: block;
 margin-bottom: 30px;
 position: relative;
 transition: .3s;
}

.gallery_con ul li a:hover {
 box-shadow: 0 0 20px rgb(0 0 0 / 15%);
 transform: translateY(-5px);
 transition: .3s;
}

.gallery_con ul li a:hover span {
 bottom: 10px;
 transition: .3s;

}

.gallery_con ul li a img {
 width: 100%;
 height: 28vw !important;
 object-fit: cover;
}

.gallery_con ul li a span {
 width: 100%;
 display: block;
 height: 60px;
 box-sizing: border-box;
 padding: 10px 0 10px 145px;
 position: absolute;
 left: 15px;
 bottom: -30px;
 background: #fff;
 transition: .3s;
}

.gallery_con ul li a span::before {
 content: "";
 display: block;
 background: url(../img/g_icon01.png);
 width: 87px;
 height: 10px;
 position: absolute;
 left: 20px;
 top: 25px;
}

.gallery_con ul li:nth-child(2) a span::before {
 background: url(../img/g_icon02.png);
}

.gallery_con ul li:nth-child(3) a span::before {
 background: url(../img/g_icon03.png);
}

.gallery_con ul li:nth-child(4) a span::before {
 background: url(../img/g_icon04.png);
}

.gallery_con ul li a span p {
 padding: 13px 0;
 padding-left: 20px;
 border-left: 1px solid #b5b5b5;
 font-size: 14px;
 line-height: 14px;
 font-weight: 500;
 letter-spacing: 0.05em;
 margin: 0;
 display: -webkit-box;
 display: -ms-flexbox;
 -webkit-box-orient: vertical;
 -ms-flex-direction: column;
 -webkit-line-clamp: 1;
 overflow: hidden;
}


.top_line_wrap {
 width: 100%;
 background: #3a556a;
}

.top_line_inner {
 display: flex;
 justify-content: space-between;
 align-items: center;
 width: 980px;
 margin: 0 auto;
 padding: 100px 0;
 padding-left: 80px;
 box-sizing: border-box;
}

.top_line_txt {
 width: 480px;
}

.top_line_txt span {
 display: block;
 font-weight: bold;
 font-size: 24px;
 letter-spacing: 0.2em;
 line-height: 24px;
 margin-bottom: 30px;
 color: #fff;
}

.top_line_txt p {
 color: #fff;
 font-weight: 500;
 font-size: 14px;
 letter-spacing: 0.1em;
 line-height: 36px;
 margin: 0;
}

.more_btn {
 margin-bottom: 80px;
}

.more_btn a {
 display: block;
 width: 200px;
 line-height: 40px;
 border: 1px solid #2b4156;
 text-align: center;
 margin: 0 auto;
 background: #fff;
 font-size: 11px;
 color: #333;
 font-weight: bold;
 letter-spacing: 0.05em;
 transition: .3s;
}

.more_btn a:hover {
 color: #fff;
 background: #2b4156;
 transition: .3s;
}
