/*-------------------- setting --------------------*/
:root {
  --f-ja: "Noto Sans JP", sans-serif;
  --f-se: "Shippori Mincho B1", "YuMincho", "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --c-primary: #00A0E1;
  --c-gray: #EFF2F4;
}

.stylingHouse {
  width: 100%;
  height: auto;
  font-family: var(--f-ja);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8 !important;
  background-color: var(--c-gray);
  margin: 0;
  padding: 0;
  max-width: 100%;
  box-sizing: border-box !important;
}
.stylingHouse p {
  margin: 0;
  line-height: 1.6;
}
.stylingHouse img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .stylingHouse {
    font-size: clamp(0.875rem, 0.851rem + 0.099vw, 0.938rem);
  }
}
.stylingHouse .fv {
  width: 100%;
  height: auto;
  position: relative;
  margin: 80px 0 0;
}
.stylingHouse .fv picture,
.stylingHouse .fv img {
  width: 100%;
  height: 100%;
  display: block;
}
/*.stylingHouse .fv_bg {*/
/*  width: 100%;*/
/*  height: 100%;*/
/*  display: block;*/
/*}*/
/*.stylingHouse .fv_house {*/
/*  width: 100%;*/
/*  display: block;*/
/*  position: absolute;*/
/*  bottom: 0;*/
/*  left: 50%;*/
/*  translate: -50% 0;*/
/*}*/
/*.stylingHouse .fv_catch {*/
/*  width: min(89.7435897436vw, 350px);*/
/*  display: block;*/
/*  position: absolute;*/
/*  top: 5vh;*/
/*  left: 50%;*/
/*  translate: -50% 0;*/
/*}*/
/*.stylingHouse .fv_message {*/
/*  display: flex;*/
/*  flex-direction: column;*/
/*  align-items: center;*/
/*  font-weight: 500;*/
/*  line-height: 1.6;*/
/*  color: #ffffff;*/
/*  position: absolute;*/
/*  top: 29.25vh;*/
/*  left: 50%;*/
/*  translate: -50% 0;*/
/*}*/
@media screen and (min-width: 600px) {
  .stylingHouse .fv_house {
    width: min(85.2857142857vw, 1194px);
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .stylingHouse .fv {
    margin: 0;
  }
  .stylingHouse .fv picture,
  .stylingHouse .fv img {
    object-fit: inherit;
  }
  .stylingHouse .fv_catch {
    width: min(79.0714285714vw, 1107px);
    top: 246px;
  }
  .stylingHouse .fv_message {
    top: min(22.7142857143vw, 318px);
  }
  .stylingHouse .fv_message p:not(:first-of-type) {
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  .stylingHouse .fv_catch {
    top: min(10.5vw, 147px);
  }
  .stylingHouse .fv_message {
    width: 245px;
    align-items: flex-start;
    top: min(22.7142857143vw, 318px);
    left: 75.1428571429vw;
    translate: 0 0;
  }
}

.stylingHouse .section_ttl {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: var(--f-se);
}
.stylingHouse .section_ttl_jp {
  font-weight: 600;
  font-size: 32px;
  line-height: 1 !important;
  margin: 0;
}
.stylingHouse .section_ttl_en {
  font-size: 14px;
  line-height: 1 !important;
}
@media screen and (min-width: 768px) {
  .stylingHouse .section_ttl {
    gap: 16px;
  }
  .stylingHouse .section_ttl_jp {
    font-size: clamp(2rem, 1.807rem + 0.79vw, 2.5rem);
  }
  .stylingHouse .section_ttl_en {
    font-size: clamp(0.875rem, 0.827rem + 0.2vw, 1rem);
  }
}

.stylingHouse .container-base-sh {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.stylingHouse .concept {
  background-color: #ffffff;
}
.stylingHouse .concept_container {
  position: relative;
}
.stylingHouse .concept_thumb {
  width: 100%;
}
.stylingHouse .concept_txtArea {
  padding: 0 20px;
  margin: 80px auto;
}
.stylingHouse .concept_txtArea .section_ttl {
  text-align: center;
  margin: 0 0 40px;
}
.stylingHouse .concept_txtArea .section_ttl_jp {
  font-size: 40px;
}
.stylingHouse .concept_txt {
  text-align: center;
}
.stylingHouse .concept_img {
  display: none;
  position: absolute;
}
.stylingHouse .concept_img-01 {
  width: min(29.2857142857vw, 410px);
  height: min(31.4285714286vw, 440px);
  top: min(10.7142857143vw, 150px);
  left: 0;
}
.stylingHouse .concept_img-02 {
  width: min(32.1428571429vw, 450px);
  height: min(20.7142857143vw, 290px);
  top: 0;
  right: 0;
}
.stylingHouse .concept_img-03 {
  width: min(28.5714285714vw, 400px);
  height: min(19.0714285714vw, 267px);
  top: min(50.0714285714vw, 701px);
  left: min(24.2857142857vw, 340px);
}
.stylingHouse .concept_img-04 {
  width: min(20.7142857143vw, 290px);
  height: min(20.7142857143vw, 290px);
  top: min(35vw, 490px);
  right: min(5.71428571429vw, 80px);
}
.stylingHouse .concept_img img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .stylingHouse .concept_container {
    padding: min(8.57142857143vw, 120px) 0 min(33.3571428571vw, 467px);
  }
  .stylingHouse .concept_thumb {
    display: none;
  }
  .stylingHouse .concept_txtArea {
    margin: 0 auto;
  }
  .stylingHouse .concept_txtArea .section_ttl_jp {
    font-size: clamp(2rem, 1.807rem + 0.79vw, 2.5rem);
  }
  .stylingHouse .concept_img {
    display: block;
  }
}

.stylingHouse .structure_container {
  padding: 80px 0;
}
.stylingHouse .structure_head {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 0 20px;
  margin: 0 0 50px;
}
.stylingHouse .structure_point {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding: 0 20px;
}
.stylingHouse .structure_point_item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.stylingHouse .structure_point_img {
  width: 310px;
  height: 310px;
}
.stylingHouse .structure_point_img img {
  display: block;
  width: 100%;
  height: 100%;
}
.stylingHouse .structure_point_head {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6 !important;
  display: block;
  padding: 0 0 16px;
  border-bottom: 1px solid #000000;
  margin: 0 0 24px;
}
.stylingHouse .structure_point_txt {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.stylingHouse .structure_point_txt_catch {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2 !important;
  color: var(--c-primary);
  display: block;
  padding: 0;
  border-bottom: none;
  margin: 0 0 8px;
}
@media screen and (min-width: 768px) {
  .stylingHouse .structure_container {
    padding: min(8.57142857143vw, 120px) 0;
  }
}
@media screen and (min-width: 920px) {
  .stylingHouse .structure_head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 0 min(8.57142857143vw, 120px);
    margin: 0 0 min(8.57142857143vw, 120px);
  }
  .stylingHouse .structure_txt {
    flex: 0 1 min(51.4285714286vw, 720px);
  }
  .stylingHouse .structure_point {
    gap: 0;
    padding: 0 min(8.57142857143vw, 120px);
  }
  .stylingHouse .structure_point_item {
    flex-direction: row;
    align-items: center;
    gap: min(5.71428571429vw, 80px);
  }
  .stylingHouse .structure_point_item:not(:first-of-type) {
    margin: min(-1.14285714286vw, -16px) 0 0;
  }
  .stylingHouse .structure_point_img {
    width: 100%;
    height: min(28.5714285714vw, 400px);
    flex: 0 1 min(28.5714285714vw, 400px);
    border-radius: 9999px;
    position: relative;
  }
  .stylingHouse .structure_point_img::before {
    content: "";
    position: absolute;
    background-color: #ffffff;
    width: min(34.2857142857vw, 480px);
    height: min(34.2857142857vw, 480px);
    border-radius: 9999px;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
  }
  .stylingHouse .structure_point_img picture,
  .stylingHouse .structure_point_img img {
    position: relative;
    z-index: 1;
  }
  .stylingHouse .structure_point_txtArea {
    flex: 1 1 0;
  }
  .stylingHouse .structure_point_head {
    font-size: clamp(1.25rem, 1.153rem + 0.4vw, 1.5rem);
    padding: 0 0 min(0.57142857142vw, 8px);
    margin: 0 0 min(1.14285714286vw, 16px);
  }
  .stylingHouse .structure_point_txt {
    gap: min(1.71428571429vw, 24px);
  }
  .stylingHouse .structure_point_txt_catch {
    font-size: clamp(1.125rem, 1.077rem + 0.2vw, 1.25rem);
    margin: 0 0 min(0.57142857142vw, 8px);
  }
  .stylingHouse .structure_point_item-01 .structure_point_img picture,
  .stylingHouse .structure_point_item-01 .structure_point_img img {
    z-index: 3;
  }
  .stylingHouse .structure_point_item-02 .structure_point_img picture,
  .stylingHouse .structure_point_item-02 .structure_point_img img {
    z-index: 2;
  }
}

.stylingHouse .plan {
  contain: paint;
  position: relative;
  padding: 0 0 286px;
}
.stylingHouse .plan_bg {
  background-color: #ffffff;
  position: relative;
}
.stylingHouse .plan_bg::before {
  content: "";
  position: absolute;
  background: url(../img/stylinghouse/plan_vecter.svg) center center no-repeat;
  background-size: 100%;
  width: 1400px;
  height: 285px;
  bottom: -285px;
  left: 50%;
  translate: -50% 0;
  z-index: -1;
}
.stylingHouse .plan .container-base-sh {
  padding: 0 20px !important;
}
.stylingHouse .plan_container {
  padding: 80px 0 40px;
}
.stylingHouse .plan_head {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin: 0 0 80px;
}
.stylingHouse .plan_head .section_ttl {
  align-items: center;
}
.stylingHouse .plan_feature_item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.stylingHouse .plan_feature_item:not(:last-of-type) {
  padding: 0 0 40px;
  border-bottom: 1px solid #E4E4E4;
  margin: 0 0 40px;
}
.stylingHouse .plan_feature_ttl {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stylingHouse .plan_feature_ttl_large {
  font-family: var(--f-se);
  font-weight: 600;
  font-size: 28px;
  line-height: 1;
  margin: 0;
}
.stylingHouse .plan_feature_ttl_small {
  font-family: var(--f-se);
  font-size: 16px;
  line-height: 1;
}
.stylingHouse .plan_feature_cell:not(:first-of-type) {
  margin: 32px 0 0;
}
.stylingHouse .plan_feature_cell_img {
  width: 100%;
  position: relative;
  margin: 0 0 20px;
}
.stylingHouse .plan_feature_item-last .plan_feature_cell_img {
  margin: 0;
}
.stylingHouse .plan_feature_cell_img img {
  width: 100%;
  height: 100%;
}
.stylingHouse .exam_bnr {
  font-weight: 700;
  font-size: 11px;
  line-height: 1;
  color: #ffffff;
  display: inline-block;
  padding: 4px 12px;
  background-color: #2C2C2C;
  position: absolute;
  top: 0;
  left: 0;
}
.stylingHouse .plan_feature_cell_txtArea {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stylingHouse .plan_feature_cell_txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.stylingHouse .plan_feature_cell_txt h4 {
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  padding: 0;
  border-bottom: none;
  margin: 0;
}
.stylingHouse .plan_feature_cell_txt p {
  line-height: 1;
}
.stylingHouse .plan_feature_cell_price p {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-primary);
}
.stylingHouse .plan_feature_cell_price p span {
  font-size: 32px;
}
.stylingHouse .plan_feature_cell_notes {
  margin: 40px 0 0;
}
.stylingHouse .plan_feature_cell_notes small {
  font-size: 10px;
  line-height: 1.4 !important;
  display: block;
}
.stylingHouse .plan_message {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 100%;
}
.stylingHouse .br_sp {
  display: block;
}
.stylingHouse .br_pc {
  display: none;
}
.stylingHouse .plan_message_ttl {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25 !important;
  text-align: center;
  display: block;
  margin: 0 0 20px;
}
.stylingHouse .plan_message_catch {
  width: fit-content;
  position: relative;
  margin: 0 auto 20px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.15 !important;
  text-align: center;
  color: var(--c-primary);
}
.stylingHouse .plan_message_catch::before,
.stylingHouse .plan_message_catch::after {
  content: "";
  position: absolute;
  background-color: var(--c-primary);
  width: 40px;
  height: 1px;
  bottom: 10px;
  right: -55px;
  transform-origin: top left;
  rotate: -45deg;
}
.stylingHouse .plan_message_catch::after {
  right: auto;
  left: -55px;
  transform-origin: top right;
  rotate: 45deg;
}
.stylingHouse .plan_message_catch span {
  font-size: 28px;
}
@media screen and (min-width: 768px) {
  .stylingHouse .plan {
    padding: 0 0 20.3571428571vw;
  }
  .stylingHouse .plan_bg::before {
    width: 100vw;
    height: 20.3571428571vw;
    bottom: -20.3571428571vw;
  }
  .stylingHouse .plan .container-base-sh {
    padding: 0 min(8.57142857143vw, 120px) !important;
  }
  .stylingHouse .plan_container {
    padding: min(8.57142857143vw, 120px) 0 min(5.71428571429vw, 80px);
  }
  .stylingHouse .plan_head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 min(11.4285714286vw, 160px);
  }
  .stylingHouse .plan_head .section_ttl {
    align-items: flex-start;
  }
  .stylingHouse .plan_txt {
    flex: 0 1 min(51.4285714286vw, 720px);
  }
  .stylingHouse .plan_feature_item {
    flex-direction: row;
    justify-content: space-between;
    gap: min(2.85714285714vw, 40px);
  }
  .stylingHouse .plan_feature_item:not(:last-of-type) {
    padding: 0 0 min(5.71428571429vw, 80px);
    margin: 0 0 min(5.71428571429vw, 80px);
  }
  .stylingHouse .plan_feature_side {
    flex: 0 1 min(20.5714285714vw, 288px);
  }
  .stylingHouse .plan_feature_sticky {
    position: sticky;
    top: min(8.57142857143vw, 120px);
  }
  .stylingHouse .plan_feature_ttl {
    gap: min(1.14285714286vw, 16px);
  }
  .stylingHouse .plan_feature_ttl_large {
    font-size: clamp(1.75rem, 1.653rem + 0.4vw, 2rem);
  }
  .stylingHouse .plan_feature_ttl_small {
    font-size: clamp(1rem, 0.903rem + 0.4vw, 1.25rem);
  }
  .stylingHouse .plan_feature_main {
    flex: 0 1 min(53.8571428571vw, 754px);
  }
  .stylingHouse .plan_feature_cell:not(:first-of-type) {
    margin: min(4.57142857143vw, 64px) 0 0;
  }
  .stylingHouse .plan_feature_cell_img {
    height: min(35.9285714286vw, 503px);
    margin: 0 0 min(1.71428571429vw, 24px);
  }
  .stylingHouse .plan_feature_item-last .plan_feature_cell_img {
    height: min(38.3571428571vw, 537px);
  }
  .stylingHouse .exam_bnr {
    font-size: clamp(0.688rem, 0.663rem + 0.1vw, 0.75rem);
    padding: min(0.57142857142vw, 8px) min(1.14285714286vw, 16px);
  }
  .stylingHouse .plan_feature_cell_txtArea {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .stylingHouse .plan_feature_cell_txt {
    gap: min(0.57142857142vw, 8px);
  }
  .stylingHouse .plan_feature_cell_txt h4 {
    font-size: clamp(1.25rem, 1.153rem + 0.4vw, 1.5rem);
  }
  .stylingHouse .plan_feature_cell_price p {
    font-size: clamp(1rem, 0.952rem + 0.2vw, 1.125rem);
  }
  .stylingHouse .plan_feature_cell_price p span {
    font-size: clamp(2rem, 1.807rem + 0.79vw, 2.5rem);
  }
  .stylingHouse .plan_feature_cell_notes {
    margin: min(4.57142857143vw, 64px) 0 0;
  }
  .stylingHouse .plan_feature_cell_notes small {
    font-size: clamp(0.625rem, 0.577rem + 0.2vw, 0.75rem);
  }
  .stylingHouse .plan_message {
    width: fit-content;
    margin: 0 auto;
  }
  .stylingHouse .br_sp {
    display: none;
  }
  .stylingHouse .br_pc {
    display: block;
  }
  .stylingHouse .plan_message_ttl {
    font-size: clamp(1rem, 0.903rem + 0.4vw, 1.25rem);
    margin: 0 0 min(2.28571428571vw, 32px);
  }
  .stylingHouse .plan_message_catch::before,
  .stylingHouse .plan_message_catch::after {
    width: min(2.85714285714vw, 40px);
    bottom: min(0.85714285714vw, 12px);
    right: -55px;
  }
  .stylingHouse .plan_message_catch::after {
    right: auto;
    left: -55px;
  }
  .stylingHouse .plan_message_catch {
    margin: 0 auto min(2.28571428571vw, 32px);
    font-size: min(1.42857142857vw, 20px);
  }
  .stylingHouse .plan_message_catch span {
    font-size: min(2.85714285714vw, 40px);
  }
  .stylingHouse .plan_message p {
    font-size: min(1.07142857143vw, 15px);
  }
}

.stylingHouse .work_container {
  padding: 80px 0;
}
.stylingHouse .work_head {
  padding: 0 20px;
  margin: 0 0 40px;
}
.stylingHouse .work_head .section_ttl {
  align-items: center;
}
.stylingHouse .work_column {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
}
.stylingHouse .work_link {
  width: 100%;
  position: relative;
}
.stylingHouse .work_link_thumb {
  width: 100%;
  height: auto;
  margin: 0 0 20px;
}
.stylingHouse .work_link_inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 0 20px;
}
.stylingHouse .work_link_ttl {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  display: block;
  margin: 0;
}
.stylingHouse .work_link_info {
  line-height: 1.4;
}
.stylingHouse .work_link_arrow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0 0 0 auto;
}
.stylingHouse .work_link_arrow_txt {
  font-family: var(--f-se);
  font-weight: 600;
  line-height: 1;
}
.stylingHouse .work_link_arrow_mark {
  width: 48px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #2C2C2C;
  border-radius: 3px;
  position: relative;
}
.stylingHouse .work_link_arrow_mark img {
  width: 14px;
  height: 14px;
}
@media screen and (min-width: 768px) {
  .stylingHouse .stylingHouse .work .container-base-sh {
    padding: 0 min(8.57142857143vw, 120px) !important;
  }
  .stylingHouse .work_container {
    padding: min(8.57142857143vw, 120px) 0;
  }
  .stylingHouse .work_head {
    margin: 0 0 min(4.57142857143vw, 64px);
  }
  .stylingHouse .work_column {
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(4.57142857143vw, 64px) min(2.85714285714vw, 40px);
  }
  .stylingHouse .work_link {
    width: calc((100% - min(2.85714285714vw, 40px)) / 2);
  }
  .stylingHouse .work_link_thumb {
    height: min(26.6428571429vw, 373px);
    overflow: hidden;
    margin: 0 0 min(1.71428571429vw, 24px);
  }
  .stylingHouse .work_link_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s cubic-bezier(0.18, 0.06, 0.23, 1);
  }
  .stylingHouse .work_link_inner {
    gap: min(1.71428571429vw, 24px);
    margin: 0 0 min(1.71428571429vw, 24px);
  }
  .stylingHouse .work_link_ttl {
    font-size: clamp(1.25rem, 1.153rem + 0.4vw, 1.5rem);
  }
  .stylingHouse .work_link_arrow {
    gap: min(0.57142857142vw, 8px);
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .stylingHouse .work_link_arrow_mark {
    width: min(3.42857142857vw, 48px);
    height: min(1.71428571429vw, 24px);
    transition: all 0.3s cubic-bezier(0.18, 0.06, 0.23, 1);
  }
  .stylingHouse .work_link:hover {
    color: #000000 !important;
    text-decoration: none;
  }
  .stylingHouse .work_link:hover .work_link_thumb img {
    scale: 1.07;
  }
  .stylingHouse .work_link:hover .work_link_arrow_mark {
    background-color: var(--c-primary);
  }
}

.fixed_link_area li a .br_sp {
  display: block;
}
@media only screen and (min-width: 992px) {
  .fixed_link_area li a .br_sp {
    display: none;
  }
}