@charset "UTF-8";
@media screen and (min-width: 768px),
print {
  .abc {
    margin-bottom: 0;
  }

  main {
    width: 100% !important;
    max-width: 1920px;
    margin-bottom: 0 !important;
  }
}

/*---変数---*/
/* フォントサイズ　リセット フォントの縦方向 ベースライン揃え 点線削除 */
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
}

/* IE　デフォルトで点線を下線表示設定　下線設定 マウスオーバー時 ヘルプカーソル表示可 */
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

/* 画像を縦に並べた時に余白0 */
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

br {
  line-height: inherit;
}

span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

section {
  position: relative;
}

main {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

button {
  outline: none;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
}

body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  background: #fbfbfb;
  font-family: "BIZ UDPGothic", sans-serif;
  font-size: 1rem;
  color: #372407;
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "BIZ UDPGothic", sans-serif;
  }
}

body.fix {
  position: fixed;
  width: 100%;
}

body.open {
  overflow: hidden;
}

html,
body {
  position: relative;
  width: 100%;
}

*:focus {
  outline: none;
}

p,
li,
dl,
tr,
th,
td,
div {
  color: #372407;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 200%;
}

span {
  color: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #372407;
  line-height: 133.333%;
}

a,
a * {
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

.footer-bg {
  height: auto;
}

#performance {
  background-color: #F6F4F2;
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

#performance a {
  text-decoration: auto !important;
}

#performance p {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 2;
}

@media screen and (max-width: 640px) {
  #performance p {
    font-size: 14px;
    line-height: 1.8;
  }
}

#performance .perf-common-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-common-inner {
    padding: 0 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-common-inner {
    padding: 0 4%;
  }
}

#performance .perf-common__ttl {
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}

#performance .perf-common__ttl:before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #D3C8BE;
}

#performance .perf-common__ttl h3 {
  position: relative;
  width: fit-content;
  z-index: 2;
  margin: 0 auto;
  font-family: "Noto Sans JP";
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  background-color: #FFF;
  padding: 0 14px;
}

#performance .perf-color--pink {
  color: #E85471;
}

#performance .perf-common__cnt {
  position: relative;
}

#performance .perf-common__cnt--border .position-top-left {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 32px;
  height: 32px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-common__cnt--border .position-top-left {
    top: 16px;
    left: 16px;
    width: 28px;
    height: 28px;
  }
}

#performance .perf-common__cnt--border .position-top-right {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 32px;
  height: 32px;
  transform: rotate(90deg);
}

@media screen and (max-width: 1024px) {
  #performance .perf-common__cnt--border .position-top-right {
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px;
  }
}

#performance .perf-common__cnt--border .position-bottom-left {
  position: absolute;
  left: 30px;
  bottom: 30px;
  width: 32px;
  height: 32px;
  transform: rotate(-90deg);
}

@media screen and (max-width: 1024px) {
  #performance .perf-common__cnt--border .position-bottom-left {
    left: 16px;
    bottom: 16px;
    width: 28px;
    height: 28px;
  }
}

#performance .perf-common__cnt--border .position-bottom-right {
  position: absolute;
  right: 30px;
  bottom: 30px;
  width: 32px;
  height: 32px;
  transform: rotate(-180deg);
}

@media screen and (max-width: 1024px) {
  #performance .perf-common__cnt--border .position-bottom-right {
    right: 16px;
    bottom: 16px;
    width: 28px;
    height: 28px;
  }
}

#performance .pc-tb {
  display: block;
}

@media screen and (max-width: 640px) {
  #performance .pc-tb {
    display: none;
  }
}

#performance .tb {
  display: none;
}

@media screen and (max-width: 768px) {
  #performance .tb {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  #performance .tb {
    display: none;
  }
}

#performance .tb-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  #performance .tb-sp {
    display: block;
  }
}

#performance .sp-only {
  display: none;
}

@media screen and (max-width: 640px) {
  #performance .sp-only {
    display: block;
  }
}

/********fv-start********/

#performance .perf-fv {
  background-image: url(../images/performance/page-performance-fv-bg_pc.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 216px 0 120px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-fv {
    padding: 20% 0 12%;
  }
}

#performance .perf-fv__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

#performance .perf-fv__cnt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 640px) {
  #performance .perf-fv__cnt {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-fv__cnt-ttl {
    margin-bottom: 6%;
  }
}

#performance .perf-fv__cnt-ttl h2 {
  font-family: "Abel";
  margin-bottom: 8px;
  font-size: 64px;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  #performance .perf-fv__cnt-ttl h2 {
    font-size: 40px;
  }
}

#performance .perf-fv__cnt-ttl span {
  display: flex;
  align-items: center;
  color: #8A7B7F;
  font-size: 12px;
  position: relative;
  gap: 8px;
  line-height: 1;
}

#performance .perf-fv__cnt-ttl span:before {
  content: "";
  width: 5px;
  height: 4px;
  border-radius: 1px;
  background: #E85471;
  margin-right: 4px;
}

#performance .perf-fv__cnt-txt p {
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  #performance .perf-fv__cnt-txt p {
    font-size: 18px;
    line-height: 1.6;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-fv__cnt-txt p {
    font-size: 20px;
  }
}

#performance .perf-fv__cnt-txt p>span {
  display: block;
  padding-top: 16px;
  font-size: 18px;
  text-align: right;
  font-weight: 500;
  line-height: 1.4;
}

@media screen and (max-width: 1024px) {
  #performance .perf-fv__cnt-txt p>span {
    font-size: 16px;
    padding-top: 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-fv__cnt-txt p>span {
    text-align: justify;
  }
}

#performance .perf-fv__img {
  max-width: 1340px;
  padding-right: 20px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-fv__img {
    padding-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-fv__img {
    padding-right: 4%;
  }
}

/********fv-end********/

/********concept-start********/

#performance .perf-concept {
  padding: 120px 0;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  #performance .perf-concept {
    padding: 12% 0;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-concept {
    padding: 14% 0;
  }
}

#performance .perf-concept__cnt {
  background-color: #FFF;
  border-radius: 10px;
  padding: 32px 0 80px;
  text-align: center;
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 1024px) {
  #performance .perf-concept__cnt {
    padding: 4% 4% 8%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-concept__cnt {
    padding: 10% 4%;
  }
}

#performance .perf-concept__label {
  display: block;
  color: #D3C8BE;
  font-family: "Abel";
  font-size: 16px;
  padding-bottom: 32px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-concept__label {
    padding-bottom: 4%;
  }
}

#performance .perf-concept__ttl {
  font-size: 28px;
  margin-bottom: 32px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-concept__ttl {
    font-size: 22px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-concept__ttl {
    font-size: 18px;
  }
}

#performance .perf-concept__subttl {
  font-size: 20px;
  margin-bottom: 16px;
  font-weight: 500;
  line-height: 1.6;
}

@media screen and (max-width: 1024px) {
  #performance .perf-concept__subttl {
    margin-bottom: 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-concept__subttl {
    font-size: 16px;
  }
}

/********concept-end********/

/********vision-start********/

#performance .perf-vision {
  padding-bottom: 160px;
  position: relative;
}

#performance .perf-vision:before {
  content: '';
  background-image: url(../images/performance/page-performance-vision-bg_pc.png);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  position: absolute;
  top: -360px;
  left: 0;
  width: 100%;
  height: 1000px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-vision {
    padding-bottom: 16%;
  }
}

#performance .perf-vision__inner {
  position: relative;
}

#performance .perf-vision__inner:after {
  content: '';
  position: absolute;
  z-index: 1;
  background-image: url(../images/performance/page-performance-vision-bg-icon.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  bottom: -309px;
  right: -157px;
  display: block;
  width: 530px;
  height: 544px;
}

#performance .perf-vision__ttl {
  font-size: 28px;
  text-align: center;
  font-weight: 500;
  margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-vision__ttl {
    font-size: 25px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-vision__ttl {
    font-size: 22px;
    margin-bottom: 6%;
  }
}

#performance .perf-vision__list {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  #performance .perf-vision__list {
    display: block;
  }
}

#performance .perf-vision__item {
  width: calc((100% - (2 * 14px)) / 3);
  background-color: #FFF;
  border-radius: 10px;
  padding: 24px 28px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-vision__item {
    padding: 4% 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-vision__item {
    width: 100%;
    padding: 6% 4%;
  }

  #performance .perf-vision__item:not(:last-of-type) {
    margin-bottom: 4%;
  }
}

#performance .perf-vision__item-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding-bottom: 8px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-vision__item-label {
    padding-bottom: 0;
  }
}

#performance .perf-vision__item-label span {
  color: #727171;
  font-size: 12px;
}

#performance .perf-vision__item-ttl {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 16px;
  text-align: center;
  line-height: 1.4;
}

@media screen and (max-width: 1024px) {
  #performance .perf-vision__item-ttl {
    font-size: 14px;
    margin-bottom: 6%;
  }
}

#performance .perf-vision__item-img img {
  border-radius: 10px;
}

/********vision-end********/

/********point-start********/

#performance .perf-point__wrap {
  display: flex;
  justify-content: end;
  align-items: end;
  position: relative;
  min-height: 540px;
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__wrap {
    display: block;
    min-height: auto;
    margin-bottom: 8%;
  }
}

#performance .perf-point__wrap-img {
  position: absolute;
  top: 0;
  left: -240px;
  max-width: 960px;
  object-fit: cover;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__wrap-img {
    position: static;
  }
}

#performance .perf-point__head {
  position: relative;
  z-index: 2;
  max-width: 456px;
  height: fit-content;
  padding: 72px 40px;
  background-color: #F6F4F2;
  border-radius: 10px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__head {
    padding: 6% 0 0 0;
    max-width: 100%;
  }
}

#performance .perf-point__head-ttl {
  font-size: 28px;
  margin-bottom: 32px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: .04em;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__head-ttl {
    margin-bottom: 4%;
    font-size: 22px;
  }
}

#performance .perf-point__head-txt {
  text-align: center;
}

#performance .perf-point__nav {
  margin-bottom: 200px;
  position: relative;
  z-index: 50;
}

#performance .perf-point__nav-list,
#performance .perf-point__nav-item,
#performance .perf-point__nav-btn {
  position: relative;
  z-index: 50;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__nav {
    margin-bottom: 120px;
  }
}

#performance .perf-point__nav-list {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

#performance .perf-point__nav-item {
  max-width: 310px;
  width: 100%;
}

#performance .perf-point__nav-btn {
  width: 100%;
  background-color: #E4DED9;
  border: none;
  border-radius: 10px;
  padding: 50px 32px 55px 32px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

@media screen and (min-width: 1024px) {
  #performance .perf-point__nav-btn:hover {
    opacity: 0.5;
  }

  #performance .perf-point__nav-btn--active:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__nav-btn {
    padding: 40px 20px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__nav-btn {
    padding: 32px 2%;
  }
}

#performance .perf-point__nav-btn p {
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  color: #463A3D;
  position: relative;
  z-index: 3;
  line-height: 1.2;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__nav-btn p {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__nav-btn p {
    font-size: 16px;
  }
}

#performance .perf-point__nav-btn p:after {
  content: '';
  background-image: url(../images/modelhouse02/point-nav-btn-arrow_pc.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -28px;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__nav-btn p:after {
    bottom: -20px;
  }
}

#performance .perf-point__nav-btn-num {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  font-family: "Abel";
  color: #D3C8BE;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__nav-btn-num {
    font-size: 54px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__nav-btn-num {
    font-size: 48px;
  }
}

#performance .perf-point__item#perf-point-insulation,
#performance .perf-point__item#perf-point-air,
#performance .perf-point__item#perf-point-seismic {
  position: relative;
  scroll-margin-top: 100px;
}

#performance .perf-point__item#perf-point-seismic {
  padding-bottom: 144px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item#perf-point-seismic {
    padding-bottom: 14%;
  }
}

#performance .perf-point__item#perf-point-insulation,
#performance .perf-point__item#perf-point-air {
  padding-bottom: 240px;
}

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

  #performance .perf-point__item#perf-point-insulation,
  #performance .perf-point__item#perf-point-air {
    padding-bottom: 160px;
  }
}

#performance .perf-point__item#perf-point-insulation:before,
#performance .perf-point__item#perf-point-air:before,
#performance .perf-point__item#perf-point-seismic:before {
  pointer-events: none;
  content: '';
  background-image: url(../images/performance/page-performance-point-seismic-bg_pc.png);
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: 100%;
}

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

  #performance .perf-point__item#perf-point-insulation:before,
  #performance .perf-point__item#perf-point-air:before,
  #performance .perf-point__item#perf-point-seismic:before {
    top: -100px;
  }
}

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

  #performance .perf-point__item#perf-point-insulation:before,
  #performance .perf-point__item#perf-point-air:before,
  #performance .perf-point__item#perf-point-seismic:before {
    top: -80px;
  }
}

#performance .perf-point__item-head {
  display: flex;
  justify-content: space-between;
  position: relative;
  min-height: 473px;
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-head {
    min-height: auto;
    margin-bottom: 8%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-head {
    flex-direction: column-reverse;
    margin-bottom: 10%;
  }
}

#performance .perf-point__item-head-img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -240px;
  max-width: 710px;
  object-fit: cover;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-head-img {
    right: -4%;
    max-width: 100%;
    width: 50vw;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-head-img {
    position: relative;
    top: 0;
    transform: translateY(0);
    width: 100%;
    margin-bottom: 4%;
  }
}

#performance #perf-point-insulation .perf-point__item-head-img {
  height: 100%;
  right: -240px;
}

@media screen and (max-width: 1024px) {
  #performance #perf-point-insulation .perf-point__item-head-img {
    height: auto;
    right: -4%;
  }
}

@media screen and (max-width: 640px) {
  #performance #perf-point-insulation .perf-point__item-head-img {
    right: -5%;
  }
}

#performance #perf-point-insulation .perf-point__item-head-img img {
  object-fit: cover;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  #performance #perf-point-insulation .perf-point__item-head-img img {
    height: auto;
  }
}

#performance .perf-point__item-head-en {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 4px;
  color: #727171;
  font-family: "Abel";
  font-size: 12px;
  padding-bottom: 8px;
}

#performance .perf-point__item-head-en:before {
  content: '';
  display: block;
  background-color: #E85471;
  width: 5px;
  height: 4px;
  border-radius: 1px;
}

#performance .perf-point__item-head-txt {
  max-width: 440px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-head-txt {
    max-width: 100%;
    width: 48%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-head-txt {
    width: 100%;
  }
}

#performance .perf-point__item-head-ttl {
  font-size: 32px;
  margin-bottom: 40px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-head-ttl {
    font-size: 28px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-head-ttl {
    font-size: 24px;
  }
}

#performance .perf-point__item-head-subttl {
  font-size: 24px;
  margin-bottom: 32px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-head-subttl {
    font-size: 18px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-head-subttl {
    font-size: 16px;
  }
}

#performance .perf-point__item-box-item {
  background: #FFF;
  padding: 40px 64px;
  border-radius: 10px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item {
    padding: 40px 24px;
  }
}

#performance .perf-point__item-box-item-ttl {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item-ttl {
    margin-bottom: 4%;
    line-height: 1;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-item-ttl {
    display: block;
  }
}

#performance .perf-point__item-box-item-ttl>span {
  display: block;
  padding-right: 24px;
  color: #A19182;
  font-family: "Abel";
  font-size: 16px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item-ttl>span {
    padding-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-item-ttl>span {
    padding-right: 0;
    padding-bottom: 4%;
  }
}

#performance .perf-point__item-box-item-ttl>h4 {
  font-size: 24px;
  letter-spacing: 0;
  line-height: 1.4;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item-ttl>h4 {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-item-ttl>h4 {
    font-size: 16px;
  }
}

#performance .perf-point__item-box-item-cnt {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-item-cnt {
    flex-direction: column-reverse;
  }
}

#performance .perf-point__item-box-item-cnt-txt {
  width: 360px;
  margin-right: 24px;
}

@media screen and (max-width:786px) {
  #performance .perf-point__item-box-item-cnt-txt {
    width: 100%;
  }
}

#performance .perf-point__item-box-item-cnt-img {
  width: 448px;
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-item-cnt-img {
    width: 100%;
    margin-bottom: 4%;
  }
}

#performance .perf-point__item-box-mechanism {
  background-color: unset;
  padding: 0;
  margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism {
    margin-bottom: 40px;
  }
}

#performance .perf-point__item-box-mechanism-cnt {
  display: block;
  padding-top: 120px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-cnt {
    padding-top: 12%;
  }
}

#performance .perf-point__item-box-mechanism-ttl {
  margin: 0 auto 40px;
  position: relative;
  line-height: 1.6;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-ttl {
    margin: 0 auto 4%;
  }
}

#performance .perf-point__item-box-mechanism-ttl h4 {
  font-weight: 500;
  max-width: fit-content;
  padding: 0 48px;
  background-color: #F6F4F2;
  position: relative;
  font-size: 24px;
  z-index: 2;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-ttl h4 {
    font-size: 20px;
    padding: 0 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-mechanism-ttl h4 {
    font-size: 18px;
    text-align: center;
  }
}

#performance .perf-point__item-box-mechanism-ttl:before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #D3C8BE;
  z-index: 1;
}

#performance .perf-point__item-box-mechanism-cnt-txt {
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  background-color: #F2EEEB;
  padding: 40px 64px;
  max-width: 100%;
  position: relative;
  border-radius: 10px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-cnt-txt {
    padding: 40px 24px;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-mechanism-cnt-txt {
    display: block;
    padding: 4%;
  }
}

#performance .perf-point__item-box-mechanism-cnt-txt:after {
  content: '';
  display: block;
  width: 500px;
  height: 300px;
  background: url(../images/performance/page-performance-vision-bg-icon.png) no-repeat center center;
  background-size: cover;
  position: absolute;
  bottom: -73px;
  left: -200px;
  transform: rotate(180deg);
  z-index: 2;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-mechanism-cnt-txt:after {
    height: 200px;
  }
}

#performance .perf-point__item-box-mechanism-cnt-txt-ttl {
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-cnt-txt-ttl {
    font-size: 18px;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-mechanism-cnt-txt-ttl {
    font-size: 18px;
    margin-bottom: 2%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-mechanism-cnt-txt-ttl {
    font-size: 16px;
  }
}

#performance .perf-point__item-box-mechanism-cnt-txt-txt {
  max-width: 530px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-mechanism-cnt-txt-txt {
    max-width: 100%;
    width: 64%;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-mechanism-cnt-txt-txt {
    width: 100%;
    font-size: 14px;
  }
}

#performance .perf-point__item-box-2col-ttl {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-2col-ttl {
    font-size: 20px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-2col-ttl {
    font-size: 18px;
    margin-bottom: 6%;
  }
}

#performance .perf-point__item-box-2col-ttl::before {
  content: '';
  background-color: #EE7F95;
  display: block;
  width: 5px;
  height: 37px;
  margin-right: 24px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-2col-ttl::before {
    margin-right: 2%;
  }
}

#performance .perf-point__item-box-2col-cnt {
  display: flex;
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-2col-cnt {
    display: block;
  }
}

#performance .perf-point__item-box-2col-cnt-img {
  max-width: 470px;
  margin-right: 56px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-2col-cnt-img {
    max-width: 100%;
    width: 52%;
    margin-right: 4%;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point__item-box-2col-cnt-img {
    margin-right: 0;
    width: 100%;
    margin: 0 auto 4%;
  }
}

/*tab-start*/

#performance .perf-point__tab-list {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 120px 0 87px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__tab-list {
    margin: 12% 0 10%;
  }
}

#performance .perf-point__tab-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 310px;
  width: 100%;
  background-color: #E4DED9;
  border-radius: 10px;
  border: none;
  padding: 48px 0 24px;
  font-size: 24px;
  color: #463A3D;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  z-index: 3;
  transition: opacity 0.3s ease;
}

@media screen and (min-width: 1024px) {
  #performance .perf-point__tab-btn:hover {
    opacity: .6;
  }

  #performance .perf-point__tab-btn.is-active:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__tab-btn {
    padding: 6% 0 4%;
    gap: 12px;
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__tab-btn {
    padding: 8% 0 6%;
    gap: 10px;
    font-size: 14px;
  }
}

#performance .perf-point__tab-btn:after {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../images/performance/page-performance-point-tab-arrow.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

#performance .perf-point__tab-btn.is-active {
  background-color: #A19182;
  color: #FFF;
  cursor: auto;
}

#performance .perf-point__tab-btn.is-active:after {
  background-image: url(../images/performance/page-performance-point-tab-arrow-active.svg);
}

#performance .perf-point__tab-panel {
  display: none;
}

#performance .perf-point__tab-panel.is-active {
  display: block;
}

#performance .perf-point__item-box-list {
  margin-top: 40px;
  background-color: #FFF;
  border-radius: 10px;
  padding: 40px 64px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list {
    padding: 6% 5%;
    margin-top: 6%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-list {
    padding: 10% 7%;
    margin-top: 10%;
  }
}

#performance .perf-point__item-box-list-item h4 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 24px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list-item h4 {
    font-size: 18px;
    margin-bottom: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-list-item h4 {
    margin-bottom: 6%;
  }
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list p {
    font-size: 14px;
  }
}

#performance .perf-point__item-box-list-item ul {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list-item ul {
    gap: 18px;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-list-item ul {
    display: block;
  }
}

#performance .perf-point__item-box-list-item li {
  width: calc((100% - (2 * 40px)) / 3);
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list-item li {
    width: calc((100% - (2 * 18px)) / 3);
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-list-item li {
    width: 100%;
  }

  #performance .perf-point__item-box-list-item li:not(:last-of-type) {
    margin-bottom: 8%;
  }
}

#performance .perf-point__item-box-list-item li h5 {
  font-weight: 500;
  font-size: 20px;
  margin: 16px 0;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-list-item li h5 {
    font-size: 16px;
    margin: 2% 0;
    line-height: 1.6;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-box-list-item li h5 {
    margin: 4% 0;
  }
}

/*tab-end*/

/*slider-start*/

#performance .perf-point-slider {
  position: relative;
}

#performance #perf-point-insulation .perf-point-slider {
  padding-top: 160px;
}

@media screen and (max-width: 1024px) {
  #performance #perf-point-insulation .perf-point-slider {
    padding-top: 16%;
  }
}

#performance .perf-point-slider__nav {
  max-width: 1000px;
  margin: 40px auto 0;
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Abel";
  font-size: 20px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point-slider__nav {
    margin-top: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point-slider__nav {
    margin-top: 6%;
  }
}

#performance .perf-point-slider button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.6rem;
}

#performance .perf-point-slider__count {
  font-weight: 500;
  letter-spacing: 0.05em;
}

/*slider-end*/

#performance .perf-point__item-box-item.--type-b {
  background-color: #E4DED9;
}

#performance .swiper-wrapper {
  display: flex;
}

#performance .perf-point-slider .swiper-slide {
  width: 960px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point-slider .swiper-slide {
    width: 96vw;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point-slider .swiper-slide {
    width: auto;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-point-slider .swiper-slide .perf-point__item-box-item-cnt {
    width: 70vw;
  }
}

#performance .perf-point__item-box-item.--type-b .perf-point__item-box-item-ttl {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px dotted #463A3D;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item.--type-b .perf-point__item-box-item-ttl {
    padding-bottom: 4%;
    margin-bottom: 4%;
    font-size: 16px;
  }
}

#performance .perf-point__item-box-item.--type-b .perf-point__item-box-item-ttl h4 {
  font-size: 20px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-box-item.--type-b .perf-point__item-box-item-ttl h4 {
    font-size: 16px;
  }
}

#performance .perf-point__item-system {
  padding-top: 160px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system {
    padding-top: 16%;
  }
}

#performance #perf-point-seismic .perf-point__item-system {
  margin-bottom: 0;
}

// #performance .perf-point__item-system:before {
//   content: '';
//   position: absolute;
//   top: -300px;
//   right: -400px;
//   width: 610px;
//   height: 610px;
//   background-image: url(../images/performance/page-performance-point-system-bg-bottom.png);
//   background-size: contain;
//   background-position: center;
//   background-repeat: no-repeat;
// }

// @media screen and (max-width: 1024px) {
//   #performance .perf-point__item-system:before {
//     right: -460px;
//   }
// }

// @media screen and (max-width: 640px) {
//   #performance .perf-point__item-system:before {
//     top: 11px;
//   }
// }

// #performance .perf-point__item-system:after {
//   content: '';
//   position: absolute;
//   bottom: -200px;
//   left: -110px;
//   width: 610px;
//   height: 610px;
//   background-image: url(../images/performance/page-performance-point-system-bg-bottom.png);
//   background-size: contain;
//   background-position: center;
//   background-repeat: no-repeat;
// }

#performance .perf-point__item-system-ttl {
  position: relative;
}

#performance .perf-point__item-system-ttl:before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #D3C8BE;
  z-index: 1;
}

#performance .perf-point__item-system-ttl h4 {
  font-size: 24px;
  max-width: fit-content;
  padding: 0 48px;
  background-color: #F6F4F2;
  margin: 0 auto 64px;
  position: relative;
  z-index: 2;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-ttl h4 {
    font-size: 22px;
    padding: 0 4%;
    margin-bottom: 6%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-ttl h4 {
    font-size: 18px;
  }
}

#performance .perf-point__item-system-list {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 48px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-list {
    gap: 18px;
    margin-bottom: 6%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-list {
    display: block;
    margin-bottom: 8%;
  }
}

#performance .perf-point__item-system-item {
  width: calc((100% - (2 * 30px)) / 3);
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-item {
    width: calc((100% - (2 * 18px)) / 3);
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-item {
    width: 100%;
  }

  #performance .perf-point__item-system-item:not(:last-of-type) {
    margin-bottom: 4%;
    padding-bottom: 4%;
    border-bottom: 1px solid #D3C8BE;
  }
}

#performance .perf-point__item-system-item-img {
  margin-bottom: 16px;
}

#performance .perf-point__item-system-item-txt {
  line-height: 1.2;
  letter-spacing: 0;
  font-size: 15px;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-item-txt {
    font-size: 14px;
    line-height: 1.6;
  }
}

#performance .perf-point__item-system-standard {
  background-color: #FFF;
  padding: 40px 64px;
  border-radius: 10px;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-standard {
    padding: 6%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-standard {
    padding: 8%;
  }
}

#performance .perf-point__item-system-standard-ttl h5 {
  font-size: 20px;
  margin-bottom: 24px;
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-standard-ttl h5 {
    font-size: 18px;
    margin-bottom: 2%;
  }
}

#performance .perf-point__item-system-standard-cnt {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-standard-cnt {
    display: block;
  }
}

#performance .perf-point__item-system-standard-cnt-txt {
  max-width: 400px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-standard-cnt-txt {
    max-width: 100%;
    width: 48%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-standard-cnt-txt {
    width: 100%;
    margin-bottom: 4%;
  }
}

#performance .perf-point__item-system-standard-cnt-img {
  max-width: 400px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__item-system-standard-cnt-img {
    max-width: 100%;
    width: 48%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__item-system-standard-cnt-img {
    width: 100%;
  }
}


#performance .perf-point__structure {
  background-color: #FFF;
  padding: 40px 64px;
  margin-top: 80px;
  border-radius: 10px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__structure {
    padding: 6% 5%;
    margin-top: 8%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__structure {
    padding: 10% 7%;
    margin-top: 10%;
  }
}

#performance .perf-point__structure-title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__structure-title {
    font-size: 18px;
    margin-bottom: 4%;
  }
}

#performance .perf-point__structure-text {
  padding-bottom: 40px;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__structure-text {
    padding-bottom: 4%;
  }
}

#performance .perf-point__structure-media {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__structure-media {
    display: block;
  }
}

#performance .perf-point__structure-media-item {
  width: 48%;
}

@media screen and (max-width: 640px) {
  #performance .perf-point__structure-media-item {
    width: 100%;
  }

  #performance .perf-point__structure-media-item:not(:last-of-type) {
    margin-bottom: 6%;
  }
}

#performance .perf-point__structure-media h5 {
  font-size: 20px;
  font-weight: 500;
  margin: 24px 0;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__structure-media h5 {
    font-size: 18px;
    margin: 2% 0;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-point__structure-media h5 {
    font-size: 16px;
    margin: 4% 0;
  }
}

#performance .perf-point__structure-media-caption {
  display: block;
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.4;
}

@media screen and (max-width: 1024px) {
  #performance .perf-point__structure-media-caption {
    font-size: 12px;
    padding-top: 2%;
  }
}

/********point-end********/


/********bnr-start********/

#performance .perf-bnr {
  display: block;
  padding: 64px 0;
  background-image: url(../images/performance/page-performance-bnr-bg_pc.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  width: 100%;
  transition: opacity .3s ease;
  cursor: pointer;
}

@media screen and (min-width: 1024px) {
  #performance .perf-bnr:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 1024px) {
  #performance .perf-bnr {
    padding: 8% 0;
  }
}

@media screen and (max-width: 786px) {
  #performance .perf-bnr {
    background-position: left;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-bnr {
    padding: 10% 0;
  }
}

#performance .perf-bnr__ttl {
  margin-bottom: 24px;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #performance .perf-bnr__ttl {
    margin-bottom: 4%;
  }
}

#performance .perf-bnr__ttl h3 {
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: .04em;
}

@media screen and (max-width: 1024px) {
  #performance .perf-bnr__ttl h3 {
    font-size: 24px;
    line-height: 1.4;
  }
}

#performance .perf-bnr__txt {
  font-size: 14px;
}

#performance .perf-bnr button {
  display: flex;
  align-items: center;
  width: fit-content;
  height: 48px;
  border: 1px solid #463A3D;
  border-radius: 5px;
  margin-top: 24px;
  padding: 0 20px;
  background-color: transparent;
}

@media screen and (max-width: 1024px) {
  #performance .perf-bnr button {
    margin-top: 4%;
  }
}

@media screen and (max-width: 640px) {
  #performance .perf-bnr button {
    margin-top: 6%;
    height: 42px;
  }
}

#performance .perf-bnr button>span {
  display: flex;
  align-items: center;
  font-size: 14px;
}

#performance .perf-bnr button>span::before {
  content: "";
  width: 5px;
  height: 4px;
  border-radius: 1px;
  background: #E85471;
  margin-right: 4px;
}

#performance .perf-bnr button>span::after {
  content: "";
  width: 20px;
  height: 20px;
  margin-left: 10px;
  background: url(../images/performance/page-performance-bnr-arrow_pc.svg) no-repeat center/contain;
}

/********bnr-end********/

/********button-start********/

.perf-button {
  padding: 80px 0;
}

@media screen and (max-width: 1024px) {
  .perf-button {
    padding: 8% 0;
  }
}

@media screen and (max-width: 640px) {
  .perf-button {
    padding: 10% 0;
  }
}

.perf-button__content {
  width: calc((100% - 8px * 2) / 3);
}

@media screen and (max-width: 640px) {
  .perf-button__content {
    width: 100%;
  }
}

.perf-button__inner {
  display: flex;
  justify-content: center;
  gap: 8px;
}

@media screen and (max-width: 640px) {
  .perf-button__inner {
    flex-direction: column;
  }
}

.perf-button__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 112px;
  border-radius: 10px;
  text-decoration: none;
  color: #fff;
  background: #E85471;
  font-weight: 500;
  letter-spacing: 0;
  transition: background .2s ease, color .2s ease;
  padding: 23px 32px;
}

@media screen and (min-width: 1024px) {
  .perf-button__btn {
    padding: 23px 20px;

  }
}

@media screen and (max-width: 768px) {
  .perf-button__btn {
    height: 90px;
    padding: 4% 8%;
  }
}

.perf-button__btn-text-inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.perf-button__btn-text01 {
  display: block;
  letter-spacing: 0;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: .08em;
  font-family: 'Abel';
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .perf-button__btn-text01 {
    font-size: 28px;
  }
}

@media screen and (max-width: 640px) {
  .perf-button__btn-text01 {
    font-size: 20px;
  }
}

.perf-button__btn-text02 {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}

.perf-button__btn-text02::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

@media screen and (min-width: 1024px) {
  .perf-button__btn:hover {
    opacity: .8;
    transition: .4s;
  }
}


/********button-end********/