/* FREEZETECH共通フッターを使うページでは既存フッターを隠す */
.c-footer {
  display: none !important;
}

/* ===== FREEZE TECH 共通フッター ===== */
.ftLineup-footer {
  background: #000;
  color: #fff;
}

.ftLineup-footer__inner {
  width: min(1036px, calc(100% - 64px));
  margin: 0 auto;
  padding: 80px 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.ftLineup-footer__brandHead {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 133px;
}

.ftLineup-footer__brandHeadLogo {
  display: block;
}

.ftLineup-footer__brandHeadLogo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ftLineup-footer__brandHeadLogo.-lidef {
  width: 261px;
  height: 71px;
}

.ftLineup-footer__brandHeadLogo.-freeze {
  width: 489px;
  height: 57.154px;
}

.ftLineup-footer__navRow {
  width: 100%;
  padding: 34px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ftLineup-footer__nav {
  flex: 1;
  min-width: 0;
}

.ftLineup-footer__navList {
  display: flex;
  align-items: center;
  gap: 39px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ftLineup-footer__navItem {
  flex-shrink: 0;
}

.ftLineup-footer__navLink {
  display: block;
  color: #fff;
  text-decoration: none;
  font-family: "Geist", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}

.ftLineup-footer__navLink:hover {
  opacity: 0.7;
}

.ftLineup-footer__cartBtn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
}

.ftLineup-footer__cartIcon,
.ftLineup-footer__cartIcon img {
  display: block;
}

.ftLineup-footer__cartIcon img {
  width: 19.98px;
  height: auto;
}

.ftLineup-footer__cartText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
}

.ftLineup-footer__socials {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex-shrink: 0;
  width: 136px;
  justify-content: flex-end;
}

.ftLineup-footer__socialLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ftLineup-footer__socialLink img {
  display: block;
  width: 29.5px;
  height: 29.5px;
  object-fit: contain;
}

.ftLineup-footer__brandLinks {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ftLineup-footer__brandLinkItem {
  flex-shrink: 0;
}

.ftLineup-footer__brandLink {
  width: 196.261px;
  min-height: 69px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ftLineup-footer__brandLink img {
  display: block;
  max-width: 100%;
  object-fit: contain;
}

.ftLineup-footer__brandLinkItem.-heatmaster .ftLineup-footer__brandLink img {
  width: 196.261px;
  height: 51.365px;
}

.ftLineup-footer__brandLinkItem.-renergy .ftLineup-footer__brandLink img {
  width: 196.261px;
  height: 68.998px;
}

.ftLineup-footer__brandLinkItem.-deodorize .ftLineup-footer__brandLink img {
  width: 196.261px;
  height: 52.03px;
}

.ftLineup-footer__brandLinkItem.-thermone .ftLineup-footer__brandLink img {
  width: 196.261px;
  height: 52.324px;
}

.ftLineup-footer__bottom {
  border-top: 1px solid #fff;
  padding: 11px 0 24px;
}

.ftLineup-footer__copy {
  display: block;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}

@media screen and (max-width: 1200px) {
  .ftLineup-footer__inner {
    width: min(100%, calc(100% - 64px));
  }

  .ftLineup-footer__brandHead {
    gap: clamp(32px, 6vw, 80px);
  }

  .ftLineup-footer__navRow {
    gap: 32px;
  }

  .ftLineup-footer__navList {
    flex-wrap: wrap;
    row-gap: 20px;
  }

  .ftLineup-footer__brandLinks {
    gap: clamp(24px, 4vw, 48px);
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 1024px) {
  .ftLineup-footer__navLink {
    font-size: 15px;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.5px;
  }

  .ftLineup-footer__inner {
    padding-top: 72px;
    gap: 32px;
  }

  .ftLineup-footer__brandHeadLogo.-lidef {
    width: 176px;
    height: auto;
  }

  .ftLineup-footer__brandHeadLogo.-freeze {
    width: 330px;
    height: auto;
  }

  .ftLineup-footer__navRow {
    min-height: 0;
    padding: 0;
    flex-direction: column;
    justify-content: flex-start;
  }

  .ftLineup-footer__nav {
    width: 100%;
  }

  .ftLineup-footer__navList {
    justify-content: center;
    column-gap: 32px;
  }

  .ftLineup-footer__socials {
    justify-content: center;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .ftLineup-footer__inner {
    width: 100%;
    padding: 80px 32px 31px;
    gap: 0;
  }

  .ftLineup-footer__inner>*+* {
    margin-top: 24px;
  }

  .ftLineup-footer__inner>.ftLineup-footer__navRow {
    margin-top: 80px;
  }

  .ftLineup-footer__brandHead {
    gap: 24px;
  }

  .ftLineup-footer__brandHeadLogo.-lidef {
    width: 104.278px;
    height: 28.367px;
  }

  .ftLineup-footer__brandHeadLogo.-freeze {
    width: 197.218px;
    height: 22.964px;
  }

  .ftLineup-footer__navList {
    justify-content: center;
    column-gap: 24px;
    row-gap: 24px;
  }

  .ftLineup-footer__navItem.-cart {
    display: flex;
    align-items: center;
  }

  .ftLineup-footer__socials {
    width: 100%;
    justify-content: center;
  }

  .ftLineup-footer__brandLinks {
    display: grid;
    grid-template-columns: repeat(2, 136px);
    gap: 0 54px;
  }

  .ftLineup-footer__brandLink {
    width: 136px;
    min-height: 48px;
  }

  .ftLineup-footer__brandLinkItem.-heatmaster .ftLineup-footer__brandLink img {
    width: 136px;
    height: 36px;
  }

  .ftLineup-footer__brandLinkItem.-renergy .ftLineup-footer__brandLink img {
    width: 136px;
    height: 48px;
  }

  .ftLineup-footer__brandLinkItem.-deodorize .ftLineup-footer__brandLink img {
    width: 136px;
    height: 36px;
  }

  .ftLineup-footer__brandLinkItem.-thermone .ftLineup-footer__brandLink img {
    width: 136px;
    height: 36px;
  }

  .ftLineup-footer__bottom {
    padding-top: 11px;
  }
}

/* 新規実装: FREEZETECHお問い合わせセクション */
.ftLineup-contact {
  width: 100%;
  background: #fff;
  color: #000;
  padding-bottom: 120px;
}

.ftLineup-contact__inner {
  width: min(calc(100% - 40px), 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 897px) minmax(190px, 239px);
  align-items: flex-end;
  justify-content: center;
  gap: 30px;
}

.ftLineup-contact__item.-corporation {
  width: min(100%, 777px);
  aspect-ratio: 897 / 555;
  transform: translateX(-20px);
}

.ftLineup-contact__item.-general {
  width: min(100%, 239px);
  aspect-ratio: 239 / 480;
  position: relative;
  top: 88px;
  overflow: hidden;
}

.ftLineup-contact__device {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.ftLineup-contact__frameWrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.ftLineup-contact__device.-monitor .ftLineup-contact__frameWrap {
  bottom: auto;
  height: clamp(319px, 38.541667vw, 555px);
}

.ftLineup-contact__frame {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ftLineup-contact__device.-monitor .ftLineup-contact__frame {
  height: 100%;
  object-fit: fill;
}

.ftLineup-contact__device.-phone .ftLineup-contact__frameWrap>picture {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
}

.ftLineup-contact__device.-phone .ftLineup-contact__frameWrap>picture .ftLineup-contact__frame {
  width: 100%;
  height: 100%;
}

.ftLineup-contact__device.-monitor {
  --contact-screen-top: 3.06%;
  --contact-screen-right: 2.5%;
  --contact-screen-bottom: 23.42%;
  --contact-screen-left: 3%;
}

.ftLineup-contact__device.-monitor .ftLineup-contact__screen {
  position: absolute;
  top: var(--contact-screen-top);
  right: var(--contact-screen-right);
  bottom: var(--contact-screen-bottom);
  left: var(--contact-screen-left);
  z-index: 1;
  display: grid;
  overflow: hidden;
  clip-path: inset(0);
  contain: paint;
  background: #fff;
}

.ftLineup-contact__device.-phone {
  --contact-screen-top: 27px;
  --contact-screen-left: 18px;
  --contact-screen-width: 183px;
  --contact-screen-height: 392px;
}

.ftLineup-contact__device.-phone .ftLineup-contact__screen {
  position: absolute;
  top: var(--contact-screen-top);
  left: var(--contact-screen-left);
  width: var(--contact-screen-width);
  height: var(--contact-screen-height);
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  clip-path: inset(0 round 22px);
  contain: paint;
  border-radius: 22px;
  background: #fff;
}

.ftLineup-contact__screenImg,
.ftLineup-contact__screenOverlay {
  position: absolute;
  inset: 0;
  grid-area: 1 / 1 / -1 / -1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.ftLineup-contact__screenImg {
  z-index: 0;
  max-width: none;
  object-fit: cover;
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__screenImg {
  object-position: 50% 45%;
}

.ftLineup-contact__screen.-general .ftLineup-contact__screenImg {
  object-position: 50% 45%;
}

@media screen and (max-width: 768px) {
  .ftLineup-contact__screen.-general .ftLineup-contact__screenImg {
    object-position: 50% 35%;
  }
}


.ftLineup-contact__screenOverlay {
  z-index: 2;
  background: rgba(0, 0, 0, 0.42);
}

.ftLineup-contact__device:hover .ftLineup-contact__screenImg,
.ftLineup-contact__device:hover .ftLineup-contact__screenOverlay {
  opacity: 1;
}

.ftLineup-contact__content {
  grid-area: 1 / 1;
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: max-content;
  max-width: 100%;
  line-height: 1;
}

.ftLineup-contact__screenBody {
  grid-area: 1 / 1;
  position: relative;
  z-index: 4;
  display: grid;
  width: 100%;
  height: 100%;
}

.ftLineup-contact__title {
  margin: 0;
  font-family: "Geist", sans-serif;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0;
}

.ftLineup-contact__line {
  display: block;
  height: 5px;
  margin-top: 9px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% 100%;
}

.ftLineup-contact__text {
  margin-top: 28px;
  margin-top: clamp(15px, 28/1440*100vw, 28px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}

.ftLineup-contact__arrow {
  grid-area: 1 / 1;
  position: relative;
  z-index: 5;
  display: block;
  width: clamp(56px, 5.555556vw, 80px);
  height: clamp(56px, 5.555556vw, 80px);
  border-radius: 50%;
  background: #000;
}

.ftLineup-contact__arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translate(-65%, -50%) rotate(45deg);
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__content {
  justify-self: center;
  align-self: start;
  margin-top: clamp(30px, calc(80/1440 * 100vw), 100px);
  color: #000;
  text-align: center;
}

.ftLineup-contact__device:hover .ftLineup-contact__screen.-corporation .ftLineup-contact__content {
  color: #fff;
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__title {
  font-size: clamp(42px, 5.208333vw, 75px);
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__line {
  width: clamp(135px, 16.736111vw, 241px);
  background-image: url("../img/item/freezetech/contact-heading-line--corporation.svg");
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__text {
  font-size: clamp(13px, 1.111111vw, 16px);
}

.ftLineup-contact__screen.-corporation .ftLineup-contact__arrow {
  justify-self: center;
  align-self: center;
  margin-top: clamp(20px, 210/1440*100vw, 210px);
}

.ftLineup-contact__screen.-general .ftLineup-contact__screenBody {
  justify-self: center;
  align-self: start;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: max-content;
  height: auto;
  margin-top: clamp(56px, 122/1440 * 100vw, 122px);
}

.ftLineup-contact__screen.-general .ftLineup-contact__content {
  margin-top: 0;
  color: #000;
  text-align: center;
}

.ftLineup-contact__device:hover .ftLineup-contact__screen.-general .ftLineup-contact__content {
  color: #fff;
}

.ftLineup-contact__screen.-general .ftLineup-contact__title {
  font-size: clamp(18px, 1.666667vw, 24px);
}

.ftLineup-contact__screen.-general .ftLineup-contact__line {
  width: clamp(68px, 6.319444vw, 91px);
  height: 5px;
  margin-top: 11px;
  background-image: url("../img/item/freezetech/contact-heading-line--contact.svg");
}

.ftLineup-contact__screen.-general .ftLineup-contact__text {
  margin-top: 7px;
  font-size: clamp(12px, 0.972222vw, 14px);
}

.ftLineup-contact__screen.-general .ftLineup-contact__arrow {
  margin-bottom: 0;
  width: clamp(44px, 76/1440 * 100vw, 76px);
  height: clamp(44px, 76/1440 * 100vw, 76px);
}

.ftLineup-contact__screen.-general .ftLineup-contact__arrow::after {
  width: 6px;
  height: 6px;
}

@media screen and (max-width: 1439px) and (min-width: 768px) {

  .ftLineup-contact__inner {
    padding-top: clamp(74px, calc(170px - 6.67vw), 80px);
    position: relative;
    right: calc(-30 / 1440 * 100vw);
  }

  /* 1440px の実サイズをそのまま vw に換算してスケール */
  .ftLineup-contact__item.-corporation {
    width: calc(777 / 1440 * 100vw);
    height: auto;
    aspect-ratio: 897 / 555;
    transform: translateX(calc(-20 / 1440 * 100vw));
  }

  .ftLineup-contact__item.-general {
    width: calc(239 / 1440 * 100vw);
    height: auto;
    aspect-ratio: 239 / 480;
    top: calc(88 / 1440 * 100vw);
  }

  /* monitor: screen 変数はパーセント指定のまま維持（frameWrap 高さは base のまま触らない） */
  .ftLineup-contact__device.-monitor {
    --contact-screen-top: 3.06%;
    --contact-screen-right: 2.5%;
    --contact-screen-bottom: 23.42%;
    --contact-screen-left: 3%;
  }

  /* phone: 1440px 比率そのまま維持 */
  .ftLineup-contact__device.-phone {
    --contact-screen-top:    5.625%;    /* 27 / 480 */
    --contact-screen-left:   7.531%;    /* 18 / 239 */
    --contact-screen-width:  76.569%;   /* 183 / 239 */
    --contact-screen-height: 81.667%;   /* 392 / 480 */
  }

  /* arrow は比率スケール */
  .ftLineup-contact__screen.-corporation .ftLineup-contact__arrow {
    margin-top: calc(210 / 1440 * 100vw);
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__arrow {
    margin-bottom: calc(28 / 1440 * 100vw);
  }
}

@media (1025px <=width <= 1200px) {
  .ftLineup-contact__inner{
    width: clamp(900px, calc(900/1200*100vw), 1000px);
  }
}
/* 1024px〜768px：SP と同様にホバー後の画像を常時表示し、contact を左に寄せる */
@media screen and (min-width: 768px) and (max-width: 1024px) {

  /* 背景画像とオーバーレイを常時表示 */
  .ftLineup-contact__screenImg,
  .ftLineup-contact__screenOverlay {
    opacity: 1;
  }

  /* テキストカラーを白に（ホバー後の状態） */
  .ftLineup-contact__screen.-corporation .ftLineup-contact__content,
  .ftLineup-contact__screen.-general .ftLineup-contact__content {
    color: #fff;
  }

  /* corporation を右に寄せて全体のバランスを取る */
  .ftLineup-contact__item.-corporation {
    transform: translateX(calc(40 / 1440 * 100vw));
  }

  /* contact (general) を corporation に近づける */
  .ftLineup-contact__item.-general {
    left: calc(-50 / 1440 * 100vw);
  }
}

/* 820px 以下：phone スクリーンの右余白 1〜2px を補正 */
@media screen and (min-width: 769px) and (max-width: 820px) {
  .ftLineup-contact__device.-phone {
    --contact-screen-width: 78.5%;
  }
}

/* 768px のみ：820px 時と同じ実サイズ・位置に固定してレイアウトを揃える */
@media screen and (min-width: 768px) and (max-width: 768px) {
  /* gap を広げる */
  .ftLineup-contact__inner {
    gap: 45px;
  }

  /* 幅・高さを 820px 時の値に固定 */
  .ftLineup-contact__item.-corporation {
    width: 442px;        /* 777 / 1440 * 820 */
    height: 273px;       /* 442 * 555 / 897 */
    transform: translateX(22.8px);
  }

  .ftLineup-contact__item.-general {
    width: 136px;        /* 239 / 1440 * 820 */
    height: 273px;       /* 136 * 480 / 239 */
    top: 50px;           /* 88 / 1440 * 820 */
    left: 0;
  }

  /* phone スクリーン幅補正 */
  .ftLineup-contact__device.-phone {
    --contact-screen-width: 78.5%;
  }

  /* screenBody margin-top を 820px 値に固定 */
  .ftLineup-contact__screen.-general .ftLineup-contact__screenBody {
    margin-top: 70px;    /* 122 / 1440 * 820 ≈ 69.5px */
  }

  /* 矢印位置を 820px 値に固定 */
  .ftLineup-contact__screen.-corporation .ftLineup-contact__arrow {
    margin-top: 120px;   /* 210 / 1440 * 820 ≈ 119.6px */
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__arrow {
    margin-bottom: 16px; /* 28 / 1440 * 820 ≈ 15.9px */
  }
}

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

  .ftLineup-contact {
    overflow-x: hidden;
    padding-bottom: 66px;
  }

  .ftLineup-contact__inner {
    width: min(100%, clamp(393px, 100vw, 767px));
    max-width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    position: revert;
  }

  .ftLineup-contact__item.-general {
    order: 1;
    width: clamp(480px, 122.14vw, 936.8px);
    max-width: none;
    aspect-ratio: 480 / 239;
    margin-left: clamp(56px, 14.25vw, 109.3px);
    top: 0;
  }

  .ftLineup-contact__item.-corporation {
    order: 2;
    width: clamp(478px, 121.63vw, 932.9px);
    max-width: none;
    aspect-ratio: 478 / 319;
    margin-top: clamp(13px, 3.31vw, 25.4px);
    margin-left: clamp(-185.4px, -24.17vw, -95px);
    transform: none;
    position: relative;
    top: 0;
  }

  .ftLineup-contact__device.-phone .ftLineup-contact__frameWrap>picture .ftLineup-contact__frame {
    width: 100%;
    height: 100%;
    object-fit: fill;
    transform: none;
  }

  .ftLineup-contact__device.-phone .ftLineup-contact__frameWrap>picture {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
  }

  .ftLineup-contact__device.-phone {
    position: relative;
    display: block;
  }

  .ftLineup-contact__device.-phone .ftLineup-contact__screen {
    position: absolute;
    z-index: 1;
    top: clamp(38px, 9.67vw, 74.1px);
    right: clamp(60px, 15.27vw, 117.1px);
    bottom: clamp(18px, 4.58vw, 35.1px);
    left: clamp(27px, 6.87vw, 52.7px);
    width: auto;
    height: auto;
    border-radius: clamp(30px, 7.63vw, 58.5px);
    clip-path: inset(0 round clamp(30px, 7.63vw, 58.5px));
  }

  .ftLineup-contact__screen.-general {
    position: relative;
    box-sizing: border-box;
    padding: 0;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__screenBody {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: grid;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__screenImg,
  .ftLineup-contact__screen.-general .ftLineup-contact__screenOverlay {
    position: absolute;
    inset: 0;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__screenImg {
    object-position: 50% 35%;
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__screenImg {
    top: -1px;
    bottom: auto;
    height: calc(100% + 1px);
    object-position: 50% 45%;
  }

  .ftLineup-contact__screenImg,
  .ftLineup-contact__screenOverlay {
    opacity: 1;
  }

  .ftLineup-contact__screenOverlay {
    background: rgba(0, 0, 0, 0.48);
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__content {
    align-items: flex-start;
    justify-self: start;
    align-self: start;
    margin-top: clamp(58px, 14.76vw, 113.2px);
    margin-left: clamp(50px, 12.72vw, 97.6px);
    color: #fff;
    text-align: left;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__title {
    font-size: clamp(33px, 8.4vw, 64.4px);
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__line {
    width: clamp(62px, 15.78vw, 121px);
    height: clamp(4px, 1.02vw, 7.8px);
    margin-top: clamp(3px, 0.76vw, 5.85px);
    background-image: url("../img/item/freezetech/contact-heading-line--contact-sp.svg");
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__text {
    margin-top: clamp(14px, 3.56vw, 27.3px);
    font-size: clamp(13px, 3.31vw, 25.4px);
    line-height: 1.45;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__text br {
    display: none;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__arrow {
    justify-self: start;
    align-self: end;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 20px;
    margin-left: clamp(230px, 58.52vw, 467.9px);
    width: 52px;
    height: 52px;
    transform: none;
  }

  .ftLineup-contact__device.-monitor {
    --contact-screen-top: clamp(13px, 3.31vw, 25.4px);
    --contact-screen-right: clamp(37px, 9.41vw, 72.1px);
    --contact-screen-bottom: clamp(76px, 19.34vw, 148.3px);
    --contact-screen-left: clamp(22px, 5.6vw, 42.9px);
  }

  .ftLineup-contact__device.-monitor .ftLineup-contact__frameWrap {
    height: 100%;
  }

  .ftLineup-contact__device.-monitor .ftLineup-contact__screen {
    top: var(--contact-screen-top);
    right: var(--contact-screen-right);
    bottom: var(--contact-screen-bottom);
    left: var(--contact-screen-left);
  }

  .ftLineup-contact__device.-monitor .ftLineup-contact__frame {
    width: 93.44%;
    height: 100%;
    margin-left: 1.77%;
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__content {
    align-items: flex-start;
    justify-self: start;
    margin-top: clamp(64px, 16.29vw, 124.9px);
    margin-left: clamp(98px, 24.94vw, 191.3px);
    color: #fff;
    text-align: left;
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__title {
    font-size: clamp(40px, 10.18vw, 78.1px);
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__line {
    width: clamp(163px, 41.48vw, 318.1px);
    height: clamp(4px, 1.02vw, 7.8px);
    margin-top: clamp(1px, 0.25vw, 1.95px);
    background-image: url("../img/item/freezetech/contact-heading-line--corporation-sp.svg");
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__text {
    margin-top: clamp(15px, 3.82vw, 29.3px);
    font-size: clamp(14px, 3.56vw, 27.3px);
  }

  .ftLineup-contact__screen.-corporation .ftLineup-contact__arrow {
    justify-self: start;
    align-self: start;
    margin-top: clamp(170px, 43.26vw, 331.8px);
    margin-left: clamp(346px, 88.04vw, 675.2px);
    width: 52px;
    height: 52px;
    transform: none;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__arrow,
  .ftLineup-contact__screen.-corporation .ftLineup-contact__arrow {
    width: 52px;
    height: 52px;
  }

  .ftLineup-contact__screen.-general .ftLineup-contact__arrow::after,
  .ftLineup-contact__screen.-corporation .ftLineup-contact__arrow::after {
    width: 6px;
    height: 6px;
    transform: translate(-65%, -50%) rotate(45deg);
  }
}

/* 新規実装: FREEZETECHトップ専用フッターブランド見出し */
.ftLineup-footer__topBrandHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 90px;
  width: 100%;
}

.ftLineup-footer__topBrandLogo {
  display: block;
  width: min(1450px, 100vw);
  height: auto;
  color: inherit;
  text-decoration: none;
}

.ftLineup-footer__topBrandLogo img {
  display: block;
  width: 100%;
  height: auto;
}

.ftLineup-footer__topBrandLine {
  display: block;
  width: min(722px, 50vw);
  height: auto;
}

.ftLineup-footer__topBrandLine img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .ftLineup-footer.-top .ftLineup-footer__inner {
    padding-top: 270px;
    gap: 24px;
  }

  .ftLineup-footer.-top .ftLineup-footer__topBrandHead {
    gap: 90px;
    margin-bottom: 200px;
  }
}

@media screen and (max-width: 1200px) {
  .ftLineup-footer__topBrandHead {
    gap: clamp(48px, 6.25vw, 90px);
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .ftLineup-footer.-top .ftLineup-footer__topBrandHead {
    gap: 90px;
  }
}

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

  .ftLineup-footer.-top .ftLineup-footer__inner {
    padding-top: 150px;
  }

  .ftLineup-footer.-top .ftLineup-footer__brandHead {
    margin-top: 138px;
  }

  .ftLineup-footer__topBrandHead {
    gap: 32px;
  }

  .ftLineup-footer__topBrandLine {
    width: 222px;
    height: 15px;
    background: url("../img/item/freezetech/footer-ft-logo-top-line-sp.svg") no-repeat center / contain;
  }

  .ftLineup-footer__topBrandLine img {
    opacity: 0;
  }

  .ftLineup-footer.-top .ftLineup-footer__bottom {
    padding-bottom: 134px;
  }

}
