@charset "UTF-8";
/*====================================================
////アニメーション設定
====================================================*/
/*====================================================
////common
====================================================*/
/* ---------- 基本設定 ----------*/
body {
  overflow-x: hidden;
  font-family: var(--font-family);
  font-size: 1.6rem;
  font-size: 1.6rem;
  font-weight: var(--regular);
  font-style: normal;
  line-height: 1;
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: var(--txt);
  background: var(--white);
  animation: is-fadeIn ease .5s;
  font-optical-sizing: auto;
  line-break: strict;
}
.main {
  width: 100%;
}
.contents {
  transition: .5s;
}
/* .inner_xxx
 * 規則: N = max-width(外側). padding 0 3.5rem (=70px) を共通付与.
 *       実コンテンツ幅 = N - 70px (inner_w1280 のみ padding なし特例)
 *  - inner_w1280: FV / sec05 診断項目       (Figma コンテンツ 1280px・padding なし)
 *  - inner_w1200: 一般セクション           (Figma コンテンツ 1130px)
 *  - inner_w774 : sec07/breadcrumb/footer/cta-section (Figma コンテンツ 704px)
 */
.inner_w1280 {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 3.5rem;
  transition: .5s;
}
.inner_w1200 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 3.5rem;
  transition: .5s;
}
.inner_w774 {
  position: relative;
  width: 100%;
  max-width: 774px;
  margin: 0 auto;
  padding: 0 3.5rem;
  transition: .5s;
}
@media screen and (max-width: 767px) {
  .inner_w1280,
  .inner_w1200,
  .inner_w774 {
    max-width: 88%;
    padding: 0;
  }
}
section {
  margin: 0 auto;
}
sup {
  top: .1rem;
  font-size: 60%;
  vertical-align: super;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  object-fit: contain;
}
a {
  text-decoration: none;
  word-break: break-word;
  color: var(--txt);
  transition: all .3s ease;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: .6;
    filter: alpha(opacity=60);
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* --------------------------------
.pc-only / .sp-only
------------------------------------- */
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
span.pc-only {
  display: inline;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  span.pc-only {
    display: none;
  }
}
/*-------------------------------------------------------------

////リキッドレイアウト

-------------------------------------------------------------*/
/* ルートフォントサイズを10pxに設定*/
html {
  font-size: 62.5%;
}
/* 767px以下 */
@media screen and (max-width: 767px) {
  html {
    font-size: min(2.6666666667vw, 12px);
  }
}
/* 768px以上～インナー幅未満 */
@media screen and (min-width: 768px) and (max-width: 1150px) {
  html {
    font-size: .8695652174vw;
  }
}
/*-------------------------------------------------------------

////共通設定

-------------------------------------------------------------*/
/*カラー変数*/
:root {
    /* font-family */
  --font-family: 'Noto Sans JP', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  --font-roboto: 'Roboto', sans-serif;
  --red: #B80018;
  --white: #fff;
  --black: #000;
  --txt: var(--black);
    /* font-weight */
  --normal: 400;
  --regular: 400;
  --medium: 500;
  --semibold: 600;
  --bold: 700;
}
/*-------------------------------------------------------------

////共通クラス

-------------------------------------------------------------*/
/*====================================================
////class .hidden-sp
====================================================*/
.hidden-sp {
  display: block;
}
@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none;
  }
}
/*====================================================
////class .hidden-pc
====================================================*/
.hidden-pc {
  display: none;
}
@media screen and (max-width: 767px) {
  .hidden-pc {
    display: block;
  }
}
/*====================================================
////class .sa (スクロールアニメーション用)
====================================================*/
.sa {
  opacity: 0;
  transition: all .8s ease;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa-left {
  transform: translate(-5rem, 0);
}
.sa-right {
  transform: translate(5rem, 0);
}
.sa-up {
  transform: translate(0, 5rem);
}
.sa-down {
  transform: translate(0, -5rem);
}
.sa-scaleUp {
  transform: scale(.7);
}
.sa-scaleDown {
  transform: scale(1.5);
}
.sa-rotateL {
  transform: rotate(180deg);
}
.sa-rotateR {
  transform: rotate(-180deg);
}
.delay-01 {
  transition-delay: .1s;
}
.delay-02 {
  transition-delay: .2s;
}
.delay-03 {
  transition-delay: .3s;
}
.delay-04 {
  transition-delay: .4s;
}
.delay-05 {
  transition-delay: .5s;
}
.delay-06 {
  transition-delay: .6s;
}
.delay-07 {
  transition-delay: .7s;
}
.delay-08 {
  transition-delay: .8s;
}
.delay-09 {
  transition-delay: .9s;
}
/* -----------------------------------------
- animation
----------------------------------------- */
.is-fadeUp {
  opacity: 0;
}
.is-fadeUp.active {
  animation: is-fadeUp .8s ease .1s 1 normal forwards;
}
.is-fadeUp.active+:nth-child(2) {
  animation: is-fadeUp .8s ease .5s 1 normal forwards;
}
.is-fadeUp.active+:nth-child(3) {
  animation: is-fadeUp .8s ease .7s 1 normal forwards;
}
@keyframes is-fadeUp {
  0% {
    opacity: 0;
    transform: translate(0, 5rem);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/*-------------------------------------------------------------

////ヘッダー

-------------------------------------------------------------*/
/*====================================================
////class .header
====================================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 7rem;
  background: var(--white);
  border-bottom: .1rem solid var(--gray-light);
  transition: .3s;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 120rem;
  height: inherit;
  margin: 0 auto;
  padding-right: 3.5rem;
  padding-left: 3.5rem;
}
.header__logos {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
}
.header__jhs-logo img {
  display: block;
  width: auto;
  height: 4rem;
}
.header__sep {
  display: block;
  flex-shrink: 0;
  width: .15rem;
  height: 3rem;
  background: var(--text-sub);
}
.header__title {
  display: flex;
  align-items: center;
}
.header__title a {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  text-decoration: none;
  color: var(--black);
}
.header.bg {
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .header {
    height: max(7rem, 64px);
  }
  .header__inner {
    padding-right: max(2rem, 20px);
    padding-left: max(2rem, 20px);
  }
  .header__jhs-logo img {
    height: 4rem;
  }
  .header__sep {
    height: max(3rem, 28px);
  }
  .header__title a {
    font-size: max(1.5rem, 13px);
  }
}
@media screen and (max-width: 767px) {
  .header__inner {
    padding-right: 0;
    padding-left: 1rem;
  }
  .header__logos {
    gap: 1rem;
  }
  .header__sep,
  .header__title {
    display: none;
  }
  .header__jhs-logo img {
    height: 3rem;
  }
}
/*====================================================
////class .pc-nav
====================================================*/
.pc-nav {
  height: 7rem;
}
.pc-nav__inner {
  display: flex;
  align-items: center;
  height: inherit;
}
.pc-nav__list {
  display: flex;
  height: inherit;
}
.pc-nav__item {
  height: inherit;
}
.pc-nav__item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: inherit;
  padding: 0 1.8rem;
  font-size: 1.4rem;
  font-weight: 400;
  white-space: nowrap;
  color: var(--text-sub);
}
/* 2番目以降の li: 縦線セパレータ */
.pc-nav__item + .pc-nav__item {
  position: relative;
}
.pc-nav__item + .pc-nav__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: .1rem;
  height: 1.6rem;
  background: #ccc;
  transform: translateY(-50%);
  content: '';
}
.pc-nav__cta {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15rem;
  height: 3.4rem;
  margin-left: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  color: var(--white);
  background: var(--red);
  border: none;
  border-radius: .4rem;
  transition: opacity .2s;
}
.pc-nav__dl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15rem;
  height: 3.4rem;
  margin-left: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  color: var(--red);
  background: var(--white);
  border: .1rem solid var(--red);
  border-radius: .4rem;
  transition: opacity .2s;
}
@media screen and (min-width: 768px) {
  .pc-nav__item a:hover {
    color: var(--red);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .pc-nav {
    display: none;
  }
}
/*====================================================
////class .sp-nav
====================================================*/
.sp-nav {
  position: fixed;
  top: 7rem;
  right: -29.5rem;
  z-index: 100;
  width: 29.5rem;
  background: var(--black);
  transition: all .3s ease;
}
.sp-nav.open {
  right: 0;
}
.sp-nav__inner {
  padding: 3rem 2rem;
}
.sp-nav__title {
  margin-bottom: 2.5rem;
  font-size: 1.8rem;
  font-weight: 900;
  text-align: left;
  color: var(--white);
}
.sp-nav__title a {
  color: var(--white);
}
.sp-nav__list {
  width: 100%;
  margin-bottom: 3rem;
  border-top: 1px solid var(--gray-dark);
  border-bottom: 1px solid var(--gray-dark);
}
.sp-nav__item + .sp-nav__item {
  border-top: 1px solid var(--gray-dark);
}
.sp-nav__item a {
  display: block;
  padding: 1.6rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--white);
}
.sp-nav__btnlist {
  display: flex;
  flex-direction: column;
  gap: 2rem 0;
  margin-top: 2rem;
}
.sp-nav__btnlist .p-btn {
  width: 100%;
  height: 5rem;
  margin-bottom: 0;
  font-size: 1.5rem;
  border-radius: .4rem;
  box-shadow: none;
}
.sp-nav__btnlist .p-btn.-outline {
  color: var(--red);
  background: var(--white);
  border: .1rem solid var(--red);
}
.sp-nav__btnlist .p-btn::after {
  display: none;
}
/*====================================================
////class .hamburger
====================================================*/
.hamburger {
  position: relative;
  top: auto;
  right: auto;
  z-index: 1000;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  gap: .6rem;
  width: 7rem;
  height: 7rem;
  padding: 1.68rem 0 1.28rem;
  text-align: center;
  background: var(--black);
  transition: all .5s ease;
  cursor: pointer;
}
.hamburger span:nth-of-type(1),
.hamburger span:nth-of-type(2),
.hamburger span:nth-of-type(3) {
  position: relative;
  top: auto;
  left: auto;
  display: inline-block;
  width: 3.1rem;
  height: .42rem;
  background: var(--white);
  border-radius: .4rem;
  transition: all .5s ease;
}
.hamburger span.hamburger__txt {
  width: auto;
  height: auto;
  font-family: var(--font-roboto);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .05em;
  color: var(--white);
  background: transparent;
}
.hamburger.open span:nth-of-type(1) {
  transform: translateY(.98rem) rotate(-45deg);
}
.hamburger.open span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.open span:nth-of-type(3) {
  transform: translateY(-.98rem) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .hamburger {
    display: none;
  }
}
/*-------------------------------------------------------------

//// 共通スタイル

-------------------------------------------------------------*/
/*====================================================
////class .sec / .txt / .p-btn / .l-flex
====================================================*/
.sec {
  overflow: hidden;
  padding: 8rem 0 7rem;
}
.txt {
  font-size: 1.6rem;
  font-weight: var(--regular);
  line-height: 2.8rem;
  text-align: left;
}
.p-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 36rem;
  max-width: 100%;
  height: 6.4rem;
  padding-bottom: .2rem;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  border: .3rem solid transparent;
  border-radius: 50rem;
  text-decoration: none;
  transition: opacity .2s;
}
.p-btn.-red {
  color: var(--white);
  background: var(--red);
  box-shadow: 0 .8rem .8rem rgba(0,0,0,.25);
}
.p-btn.-outline {
  color: var(--red);
  background: var(--white);
  border: .3rem solid var(--red);
}
.l-flex {
  display: flex;
}
@media screen and (max-width: 767px) {
  .sec {
    padding: 4rem 0;
  }
  .txt {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .p-btn {
    width: 33rem;
    height: auto;
    padding: 1.9rem 4rem 2.1rem;
    font-size: 1.8rem;
  }
}
/*====================================================
//// AIエージェント LP カラー変数
====================================================*/
:root {
  /* テキスト */
  --text-sub:        #555;     /* 本文テキスト */
  /* グレースケール */
  --gray:       #86898E;  /* バッジ・サブテキスト・強調枠 */
  --gray-dark:  #333;     /* ダーク背景・CTA */
  --gray-mid:   #999;     /* ボーダー (breadcrumb 区切り等) */
  --gray-light: #ddd;     /* 画像placeholder・薄ボーダー */
  /* 背景 */
  --bg-gray:    #F5F5F5;  /* セクション背景・FAQ item */
  /* UI */
  --faq-txt:    #4B5563;  /* FAQ回答テキスト */
  --border-card: #555555; /* カードボーダー */
}
/*====================================================
//// FV
====================================================*/
.sec.fv {
  position: relative;
  overflow: hidden;
  padding: calc(7rem + 8rem) 0 8rem;
  background-image: url(../img/fv_bg_gradation.png);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: auto 100%;
}
.sec.fv::before {
  position: absolute;
  top: 7rem;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-image: url(../img/fv_bg.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: auto 100%;
  pointer-events: none;
  content: '';
}
.fv .inner_w1280 {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 100%;
}
.fv__content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: 79rem;
}
.fv__badges {
  display: flex;
  gap: 0 2rem;
}
.fv__badge {
  display: inline-flex;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.fv__badge--gray {
  color: var(--white);
  background: var(--gray);
}
.fv__badge--outline {
  color: var(--gray);
  background: var(--white);
  border: .2rem solid var(--gray);
}
.fv__title {
  margin-bottom: 0;
  font-size: 7.2rem;
  font-weight: 900;
  line-height: 1.2;
  color: var(--black);
}
.fv__title-sub {
  color: var(--gray);
}
.fv__lead {
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--black);
}
.fv__btnwrap {
  display: flex;
  flex-direction: column;
  gap: 3rem 0;
  margin-top: 1rem;
}
.fv__note {
  position: absolute;
  right: 0;
  bottom: -4rem;
  z-index: 2;
  padding-right: 3.5rem;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: right;
  color: var(--white);
}
.fv__note span {
  display: block;
  padding-left: 2.06em;
  text-indent: -2.06em;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .fv__title {
    font-size: 5.6rem;
  }
  .fv__lead {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .sec.fv {
    height: auto;
    padding: 12rem 0 5rem;
    background-image: url(../img/fv_bg_sp.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
  }
  .sec.fv::before,
  .sec.fv::after {
    content: none;
  }
  .fv__content {
    align-items: center;
    gap: 2rem;
    max-width: 100%;
    text-align: center;
  }
  .fv__badges {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 1rem;
  }
  .fv__badge {
    padding: .6rem 1rem;
    font-size: 1.4rem;
  }
  .fv__title {
    font-size: 3rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  .fv__lead {
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
  }
  .fv__btnwrap {
    gap: 2rem 0;
    width: 100%;
    margin-top: 28rem;
  }
  .fv .inner_w1280 {
    flex-direction: column;
  }
  .fv__note {
    position: static;
    width: 100%;
    padding-right: 0;
    margin-top: 3rem;
    font-size: 1rem;
    text-align: left;
  }
}
/*====================================================
//// 共通: セクションタイトル (badge + heading + desc)
====================================================*/
.sec-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2rem;
}
.sec-head__badge {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.sec-head__badge--gray {
  color: var(--white);
  background: var(--gray);
}
.sec-head__title {
  margin-bottom: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--black);
}
.sec-head__desc {
  max-width: 128rem;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  color: var(--text-sub);
}
@media screen and (max-width: 767px) {
  .sec-head {
    gap: 2rem;
  }
  .sec-head__badge {
    padding: .6rem 1rem;
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .sec-head__title {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .sec-head__desc {
    max-width: 33rem;
    margin: 0 auto;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
  }
}
/*====================================================
//// SECTION_01 社会課題
====================================================*/
.sec.sec01 {
  padding: 8rem 0;
}
.sec01 .inner_w1200 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}
.reason {
  display: flex;
  align-items: center;
  gap: 4rem;
  width: 100%;
  max-width: 113rem;
}
.reason__img {
  flex: 0 0 50rem;
  width: 50rem;
  aspect-ratio: 1000 / 558;
}
.reason__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reason__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3rem;
}
.reason__title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.reason__title {
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 3.2rem;
  color: var(--red);
}
.reason__line {
  display: block;
  width: 56rem;
  max-width: 100%;
  height: .2rem;
  background: var(--red);
}
.reason-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 0;
  list-style: none;
}
.reason-item {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
.reason-item__body {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.reason-item__num {
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 3.1rem;
  height: 3.1rem;
  padding-top: .3rem;
  font-family: var(--font-roboto);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--white);
  background: var(--red);
  border-radius: 9999px;
}
.reason-item__title {
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--text-sub);
}
.reason-item__txt {
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: left;
  color: var(--text-sub);
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .reason__img {
    flex: 0 0 40rem;
    width: 40rem;
    height: auto;
    aspect-ratio: 1000 / 558;
  }
}
@media screen and (max-width: 767px) {
  .sec.sec01 {
    padding: 5rem 0;
  }
  .sec01 .inner_w1200 {
    gap: 4rem;
  }
  .reason {
    flex-direction: column;
    gap: 4rem;
  }
  .reason__img {
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 1000 / 558;
  }
  .reason__body {
    gap: 3rem;
  }
  .reason__title-wrap {
    gap: .8rem;
  }
  .reason__title {
    font-size: 2rem;
    line-height: 1.6;
    text-align: center;
  }
  .reason__line {
    width: 100%;
  }
  .reason-list {
    gap: 3rem;
  }
  .reason-item {
    gap: 1rem;
  }
  .reason-item__title {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .reason-item__txt {
    margin-left: -3.8rem;
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: left;
  }
  .reason-item__num {
    width: 2.8rem;
    height: 2.8rem;
    padding-top: .1rem;
    font-size: 1.44rem;
  }
}
/*====================================================
//// SECTION_02 住宅劣化推定AIエージェントとは
====================================================*/
.sec.sec02 {
  padding: 8rem 0;
  background: var(--bg-gray);
}
.sec02 .about-figure {
  margin-top: 6rem;
}
.sec02 .about-figure img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .sec.sec02 {
    padding: 5rem 0 3rem;
  }
  .sec02 .about-figure {
    margin-top: 4rem;
    padding: 0 2rem;
  }
}
/*====================================================
//// SECTION_03 導入シーン (6 cards)
====================================================*/
.sec.sec03 {
  padding: 8rem 0;
  background: var(--white);
}
.sec03 .inner_w1200 {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.sec03 .sec-head__title {
  font-weight: 900;
  line-height: 1.2;
}
.scene-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  padding: 0;
  list-style: none;
}
.scene-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
  padding: 2.5rem 3rem 3.5rem;
  background: var(--white);
  border: .1rem solid var(--border-card);
  border-radius: 1.6rem;
  box-shadow: 0 .2rem .4rem -.2rem rgba(0,0,0,.1), 0 .4rem .6rem -.1rem rgba(0,0,0,.1);
}
.scene-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem 0;
}
.scene-card__num {
  display: block;
  font-family: var(--font-roboto);
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--black);
}
.scene-card__title {
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.2rem;
  text-align: center;
  color: var(--black);
}
.scene-card__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2.4rem;
  padding: 0 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  color: var(--white);
  background: var(--black);
}
.scene-card__txt {
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--text-sub);
}
.scene-card__img {
  width: 100%;
  aspect-ratio: 288 / 200;
}
.scene-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .scene-cards {
    gap: 3rem;
  }
  .scene-card {
    padding: 2.5rem 2rem;
  }
  .scene-card__num {
    font-size: 4rem;
  }
  .scene-card__title {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec.sec03 {
    padding: 5rem 0;
  }
  .sec03 .sec-head__title {
    line-height: 1.4;
  }
  .sec03 .inner_w1200 {
    gap: 4rem;
  }
  .scene-cards {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .scene-card__num {
    font-size: 4rem;
    line-height: 2.8rem;
  }
  .scene-card__title {
    font-size: 2rem;
    line-height: 3.2rem;
  }
  .scene-card__img {
    aspect-ratio: 270 / 180;
  }
  .scene-card__tag {
    height: 2.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .scene-card__txt {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
/*====================================================
//// SECTION_04 Homilleリノベナビ
====================================================*/
.sec.sec04 {
  padding: 8rem 0;
  background-color: var(--gray-dark);
  background-image: url(../img/sec04_bg.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.sec04 .inner_w1200 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}
.sec-head--light .sec-head__badge--white {
  color: var(--black);
  background: var(--white);
}
.sec-head--light .sec-head__title {
  color: var(--white);
}
.sec-head--light .sec-head__desc {
  color: var(--white);
}
.sec04 .sec-head__title {
  line-height: 1.2;
}
.sec04__img {
  width: 80rem;
  max-width: 100%;
  aspect-ratio: 800 / 431;
}
.sec04__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec04__btnwrap {
  text-align: center;
}
.sec04__note {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--white);
}
.sec04__note span {
  display: block;
  padding-left: 2.06em;
  text-indent: -2.06em;
}
@media screen and (max-width: 767px) {
  .sec.sec04 {
    padding: 5rem 0;
  }
  .sec04 .inner_w1200 {
    gap: 6rem;
  }
  .sec04 .sec-head__title {
    line-height: 1.5;
  }
  .sec04__note {
    font-size: 1rem;
    text-align: left;
  }
  .sec04__img {
    width: 100%;
    aspect-ratio: 330 / 178;
  }
}
/*====================================================
//// SECTION_05 信頼の根拠
====================================================*/
.sec.sec05 {
  padding: 8rem 0;
}
.sec05 .inner_w1200 {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.trust {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  width: 100%;
  max-width: 113rem;
  margin: 0 auto;
}
.trust-row {
  display: flex;
  align-items: center;
  gap: 5rem;
}
.trust-row__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2rem;
}
.trust-row__head {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: .2rem solid var(--red);
}
.trust-row__num {
  flex-shrink: 0;
  width: 5.8rem;
  font-family: var(--font-roboto);
  font-size: 5rem;
  font-weight: 700;
  line-height: 2.8rem;
  color: var(--red);
}
.trust-row__title {
  margin-bottom: 0;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 3.2rem;
  color: var(--red);
}
.trust-row__title sup {
  top: -.3rem;
  font-size: 1rem;
}
.trust-row__lead {
  margin-bottom: 0;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--gray);
}
.trust-row__txt {
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--text-sub);
}
.trust-row__txt strong {
  font-weight: 700;
}
.trust-row__note {
  margin-bottom: 0;
  padding-left: 1em;
  font-size: 1.2rem;
  line-height: 1.5;
  text-indent: -1em;
  color: var(--text-sub);
}
.trust-row__img {
  flex-shrink: 0;
  overflow: hidden;
  width: 52rem;
  aspect-ratio: 520 / 400;
  border-radius: 2rem;
}
.trust-row__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .trust-row,
  .trust-row--reverse {
    gap: 3rem;
  }
  .trust-row__img {
    width: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .sec.sec05 {
    padding: 5rem 0;
  }
  .sec05 .inner_w1200 {
    gap: 6rem;
  }
  .trust {
    gap: 6rem;
  }
  .trust-row {
    flex-direction: column;
    gap: 3rem;
  }
  .trust-row--reverse {
    flex-direction: column-reverse;
    gap: 3rem;
  }
  .trust-row__body {
    gap: 2rem;
  }
  .trust-row__head {
    gap: 1rem;
  }
  .trust-row__num {
    font-size: 4rem;
  }
  .trust-row__title {
    font-size: 2.2rem;
    line-height: 2.8rem;
  }
  .trust-row__lead {
    font-size: 1.9rem;
    line-height: 1.5;
  }
  .trust-row__txt {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .trust-row__note {
    font-size: 1rem;
  }
  .trust-row__img {
    width: 100%;
    aspect-ratio: 330 / 254;
  }
}
/*====================================================
//// SECTION_06 診断項目 17
====================================================*/
.sec.sec06 {
  padding: 8rem 0;
  background: var(--bg-gray);
}
.sec06 .inner_w1280 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}
.diagnosis {
  display: flex;
  align-items: stretch;
  gap: 4rem;
  width: 100%;
}
.diagnosis__col {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  min-width: 0;
}
.diagnosis__head {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 7rem;
  padding-top: .3rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: var(--white);
  background: var(--red);
  border-radius: 2rem 2rem 0 0;
}
.diagnosis__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .6rem;
  padding: 2rem 4rem 3rem;
  background: var(--white);
  border: .4rem solid var(--red);
  border-radius: 0 0 2rem 2rem;
}
.diag-item {
  padding-bottom: 1rem;
  border-bottom: .1rem solid #ccc;
}
.diag-item__title {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 3.2rem;
  color: var(--black);
}
.diag-item__txt {
  margin-bottom: 0;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--text-sub);
}
.sec06__screenshot {
  width: 70rem;
  max-width: 100%;
  aspect-ratio: 700 / 405;
}
.sec06__screenshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .diagnosis {
    gap: 2rem;
  }
  .diagnosis__head {
    height: 6rem;
    font-size: 1.8rem;
  }
  .diag-item__title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .sec.sec06 {
    padding: 5rem 0;
  }
  .sec06 .inner_w1280 {
    gap: 4rem;
  }
  .sec06 .diagnosis + .sec-head {
    margin-top: 2rem;
  }
  .diagnosis {
    flex-direction: column;
    gap: 4rem;
  }
  .diagnosis__head {
    height: 6rem;
    font-size: 1.8rem;
  }
  .diagnosis__body {
    gap: .4rem;
    padding: 2rem 2rem 3rem;
  }
  .diag-item__title {
    font-size: 1.8rem;
    line-height: 3.2rem;
  }
  .diag-item__txt {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .sec06__screenshot {
    width: 100%;
    aspect-ratio: 330 / 191;
  }
}
/*====================================================
//// SECTION_07 技術提携 (API)
====================================================*/
.sec.sec07 {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  padding: 8rem 0 0;
  background-color: var(--gray-dark);
  background-image: url(../img/sec07_bg.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.sec07__api {
  display: flex;
  align-items: stretch;
  gap: 2rem;
  margin-top: 1rem;
}
.sec07__api-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .7rem;
  width: 19.8rem;
  padding: 1.6rem 1rem 1.7rem;
  text-align: center;
  color: var(--white);
  border: .2rem solid var(--white);
}
.sec07__api-label {
  font-family: var(--font-roboto);
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1;
}
.sec07__api-txt {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.sec07__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 100%;
  padding: 8rem 0;
  background: linear-gradient(90deg, rgba(69,69,69,.6) 0%, rgba(136,136,136,.6) 50%, rgba(69,69,69,.6) 100%);
}
.sec07__cta-title {
  margin-bottom: 0;
  font-family: var(--font-roboto);
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  color: var(--white);
}
.sec07__cta-btnlist {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .sec.sec07 {
    padding: 5rem 0 0;
  }
  .sec07__api {
    flex-direction: row;
    gap: 1.6rem;
    width: 33rem;
    max-width: 100%;
  }
  .sec07__api-box {
    width: 50%;
    padding: 1.3rem 1rem;
  }
  .sec07__api-label {
    font-size: 2.2rem;
  }
  .sec07__api-txt {
    font-size: 1rem;
    line-height: 1.5;
  }
  .sec07__cta {
    padding: 3rem 0 4rem;
    gap: 3rem;
  }
  .sec07__cta-title {
    font-size: 3.8rem;
    line-height: 1.5;
  }
  .sec07__cta-btnlist {
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    padding: 0 2rem;
  }
}
/*====================================================
//// SECTION_08 FAQ アコーディオン
====================================================*/
.sec.sec08 {
  padding: 8rem 0;
  background: var(--white);
}
.sec08 .inner_w774 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.sec08 .sec-head {
  margin-bottom: 1rem;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
}
.faq-item {
  overflow: hidden;
  background: var(--bg-gray);
  border: .1rem solid var(--black);
  border-radius: .8rem;
}
.faq-q {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: 2rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--black);
}
.faq-q > span:first-child {
  flex-shrink: 0;
  width: 2.4rem;
  font-weight: 700;
  color: var(--black);
}
.faq-a {
  background: var(--bg-gray);
}
.faq-a__row {
  padding: 0 2.4rem 2.2rem 5.2rem;
}
.faq-a__txt {
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--faq-txt);
}
@media screen and (max-width: 767px) {
  .sec.sec08 {
    padding: 5rem 0;
  }
  .sec08 .inner_w774 {
    gap: 2.2rem;
  }
  .faq-list {
    gap: 2.2rem;
  }
  .faq-item {
    border-radius: .8rem;
  }
  .faq-q {
    gap: .5rem;
    padding: 1.5rem 2rem;
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
  .faq-a__row {
    padding: 0 2rem 1.7rem;
  }
  .faq-a__txt {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}
/*====================================================
//// SECTION_09 展望
====================================================*/
.sec.sec09 {
  padding: 8rem 0;
  background: var(--bg-gray);
}
@media screen and (max-width: 767px) {
  .sec.sec09 {
    padding: 5rem 0;
  }
}
.sec09 .sec-head__title {
  font-weight: 900;
}
.sec-head__badge--black {
  color: var(--white);
  background: var(--black);
}
/*====================================================
//// CTA Section
====================================================*/
.sec.cta-section {
  padding: 0;
  background: var(--gray-dark);
  background-image: url(../img/cta_bg.png);
  background-repeat: no-repeat;
  background-position: center 45%;
  background-size: cover;
}
.cta-section__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5rem 0;
  min-height: 47.2rem;
  padding: 10rem 2rem;
  text-align: center;
}
.cta-section__title {
  margin-bottom: 0;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.5;
  color: var(--white);
}
.cta-section__txt {
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--white);
}
.cta-section__btnwrap {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .cta-section__inner {
    gap: 3.2rem 0;
    min-height: auto;
    padding: 8rem 2rem;
  }
  .cta-section__title {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .cta-section__txt {
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
  }
  .cta-section__btnwrap {
    margin-top: 1rem;
  }
}
/*====================================================
//// breadcrumb
====================================================*/
.breadcrumb {
  border-bottom: 1px solid var(--gray-mid);
}
.nav__breadcrumb {
  height: 6rem;
}
.nav__breadcrumb ol {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;
}
.nav__breadcrumb li {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6rem;
  color: var(--black);
}
.nav__breadcrumb li a {
  font-weight: 700;
  color: var(--gray-mid);
}
.nav__breadcrumb li a:hover {
  font-weight: bold;
  color: var(--red);
}
.nav__breadcrumb li::after {
  display: inline-block;
  width: 1rem;
  height: .2rem;
  margin: .65rem 1rem;
  background: #969696;
  transform: translateY(2px);
  content: "";
}
.nav__breadcrumb li:last-child::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .nav__breadcrumb ol {
    justify-content: center;
  }
}
/*-------------------------------------------------------------

////フッター

-------------------------------------------------------------*/
/*====================================================
////class .footer
====================================================*/
.footer {
  padding: 5rem 0;
}
.footer .l-flex {
  display: flex;
  align-items: center;
}
.footer__logo {
  display: block;
  width: 20.4rem;
}
.footer__linklist {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 5rem 0 0;
  font-size: 1.4rem;
}
.footer__linklist li + li::before {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 1px;
  height: 1.6rem;
  margin: 0 1.5rem;
  vertical-align: middle;
  background: var(--black);
  content: "";
}
.footer__linklist a {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2rem;
  color: var(--black);
}
.footer__linklist a:hover {
  color: var(--red);
}
@media screen and (max-width: 767px) {
  .footer .l-flex {
    flex-direction: column;
  }
  .footer__company_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5rem 0;
  }
  .footer__linklist {
    margin: 0;
  }
  .footer__linklist a {
    font-size: 1.4rem;
  }
}
/*====================================================
////class .page-top
====================================================*/
.page-top {
  position: fixed;
  right: 0;
  bottom: 0;
  display: none;
  width: 4.4rem;
  height: 4.4rem;
}
.page-top a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--red);
}
.page-top a::before {
  position: absolute;
  top: .3rem;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: .8rem;
  height: .8rem;
  margin: auto;
  border-top: 2px solid var(--white);
  border-right: 2px solid var(--white);
  transform: rotate(-45deg);
  content: "";
}
/*====================================================
////class .copyright
====================================================*/
.copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.4rem;
  padding: 0 1rem;
  font-size: 1.2rem;
  font-weight: var(--normal);
  text-align: center;
  color: var(--white);
  background: var(--black);
}
.copyright small {
  font-size: inherit;
}
@media screen and (max-width: 767px) {
  .copyright {
    padding: 1rem .5rem;
    font-size: 1rem;
  }
  .copyright small {
    font-size: .6rem;
  }
}
