/* セットLP専用。共通ヘッダー・フッターの文字サイズは変更しない。 */

.lp65 { --lp65-unit: 2.6666667vw; }
@media (min-width: 768px) {
.lp65 { --lp65-unit: min(0.6944444vw, 10px); }            
}
.lp65 {
  --navy:         #00233a;   
  --navy-deep:    #001e6f;   
  --magenta:      #b50081;   
  --bg-blue:      #e0f8ff;
  --bg-cream:     #fffad2;
  --bg-pink:      #ffedf4;
  --bg-lavender:  #f0f4ff;
  --bg-gray:      #f5f7f7;
}
.lp65 :where(*:not(.modal *):not(.modal):not(.lp65Campaigns *):not(.lp65Campaigns)) { margin: 0; padding: 0; box-sizing: border-box; }
.lp65 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  color: var(--navy);
  background: #fff;
  line-height: 1.45;
}
.lp65 img { display: block; border: 0; width: 100%; height: auto; margin-inline: auto; }
.lp65 a { text-decoration: none; color: inherit; }
.lp65 ul { list-style: none; }
.lp65 button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}
.lp65 {
  width: 100%;
  overflow-x: hidden;
}
.lp65 > * { display: flow-root; }
.lp65 .pickup, .lp65 .sec__intro, .lp65 .band { margin-inline: auto; }
.lp65 .sec { position: relative; }
.lp65 .sec--aircon1 { background: var(--bg-blue); }
.lp65 .sec--top5 { background: var(--bg-cream); }
.lp65 .sec--aircon { background: var(--bg-pink); }
.lp65 .sec--washer { background: var(--bg-cream); }
.lp65 .sec--other { background: var(--bg-pink); }
.lp65 .site-header, .lp65 .banners, .lp65 .appeal, .lp65 .band, .lp65 .service-links, .lp65 .cospa, .lp65 .waon, .lp65 .flow, .lp65 .feature, .lp65 .services, .lp65 .page-bottom, .lp65 .site-footer { background: #fff; }
.lp65 .fv {
  position: relative;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-color: #7fd2f3;
  overflow: hidden;
}
.lp65 .fv__content {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.lp65 .pickup {
  position: relative;
  background: var(--magenta);
  border-radius: calc(0.5 * var(--lp65-unit));
}
.lp65 .pickup__badge {                    
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  color: var(--magenta);
  border-radius: 999px;
  font-weight: 700;
  text-align: center;
  letter-spacing: .02em;
  border: 1px solid;
}
.lp65 .pickup__text {
  position: absolute;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.lp65 .pickup::after {
    content: "";
    position: absolute;
    left: 50%;
    /* 端数ピクセルによる白い隙間を防ぐため、見出しに1px重ねる。 */
    top: calc(100% - 1px);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: calc(1.4 * var(--lp65-unit)) solid transparent;
    border-right: calc(1.4 * var(--lp65-unit)) solid transparent;
    border-top: calc(1.7 * var(--lp65-unit)) solid var(--magenta);
    
}
.lp65 .band {
  position: relative;          
  height: calc(8 * var(--lp65-unit));
  border-top:    1px solid #d6d6d6;
  border-bottom: 1px solid #d6d6d6;
}
.lp65 .lp64ServiceLinks { display: grid; }
.lp65 .lp64ServiceLinks a {
  display: flex;
  align-items: center;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  text-align: left;
  transition: opacity .2s;
}
.lp65 .lp64ServiceLinks a:hover { opacity: .8; }
.lp65 .lp64ServiceLinks img {
  flex: none;
  margin-inline: 0;      
  object-fit: contain;
  border-radius: 50%;
  background: #fff;
}
.lp65 .accent { color: var(--magenta); }
@media (max-width: 767px) {
.lp65 .pc-only { display: none; }
.lp65 .fv {
    aspect-ratio: 375 / 376;
    background-image: url("../images/sp/fv-bg.png");
  }
.lp65 .banners { margin-top: calc(3.1 * var(--lp65-unit)); }
.lp65 .sec--aircon1 { margin-top: calc(7.4 * var(--lp65-unit)); padding-bottom: calc(3.7 * var(--lp65-unit)); }
.lp65 .sec--top5 { padding-bottom: calc(3.2 * var(--lp65-unit)); }
.lp65 .sec--aircon { padding-bottom: calc(3.4 * var(--lp65-unit)); }
.lp65 .sec--washer { padding-bottom: calc(3.1 * var(--lp65-unit)); }
.lp65 .sec--other { padding-bottom: calc(3.1 * var(--lp65-unit)); }
.lp65 .lp64Plans { margin-top: calc(2.3 * var(--lp65-unit)); }
.lp65 .sec--washer .lp64Plans { margin-top: calc(2.1 * var(--lp65-unit)); }
.lp65 .sec--other  .lp64Plans { margin-top: calc(2.4 * var(--lp65-unit)); }
.lp65 .lp64Plans--ac1 { margin-top: calc(3.6 * var(--lp65-unit)); }
.lp65 .pickup { margin-top: calc(-7.4 * var(--lp65-unit)); width: calc(32 * var(--lp65-unit)); height: calc(5 * var(--lp65-unit)); }
.lp65 .pickup__badge {
    top: calc(-1.1 * var(--lp65-unit));
    width: calc(8.7 * var(--lp65-unit));
    height: calc(2.2 * var(--lp65-unit));
    font-size: calc(1.4 * var(--lp65-unit));
    line-height: calc(2.2 * var(--lp65-unit));
  }
.lp65 .pickup__text {
    left: calc(1.6 * var(--lp65-unit));
    top: calc(1.6 * var(--lp65-unit));
    width: calc(28.8 * var(--lp65-unit));
    font-size: calc(1.8 * var(--lp65-unit));
    line-height: 1.45;
  }
.lp65 .sec__intro { width: calc(33.5 * var(--lp65-unit)); margin-top: calc(2.4 * var(--lp65-unit)); }
/* 旧80px帯の下余白を維持し、上余白をその2倍にする（枠線分を補正）。 */
.lp65 .band {
    --band-bottom-gap: calc(1.41 * var(--lp65-unit) - 1.875px);
    width: 100%;
    height: auto;
    padding-top: calc(2 * var(--band-bottom-gap));
    padding-bottom: var(--band-bottom-gap);
  }
.lp65 .band--single { --band-bottom-gap: calc(2.755 * var(--lp65-unit) - 1.45px); }
.lp65 .band__title {
    position: relative;
    margin-inline: auto;
    width: 90.4%;
    font-size: calc(2.1 * var(--lp65-unit));
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .01em;
  }
.lp65 .band--single .band__title { width: 93.9%; }
/* 見出しとキャラクターの領域を分け、末尾の文字が隠れないようにする。 */
.lp65 .sec--top5 .band {
    display: flex;
    align-items: center;
    gap: calc(0.8 * var(--lp65-unit));
    padding-inline: 4.8%;
  }
.lp65 .sec--top5 .band__title { flex: 1; min-width: 0; width: auto; text-align: center; }
.lp65 .band__chr { flex: none; width: calc(8.5 * var(--lp65-unit)); margin-inline: 0; }
.lp65 .service-links { margin-top: calc(3.1 * var(--lp65-unit)); }
.lp65 .lp64ServiceLinks {
    grid-template-columns: repeat(2, calc(17.5 * var(--lp65-unit)));
    column-gap: calc(1.5 * var(--lp65-unit));
    row-gap: calc(1.2 * var(--lp65-unit));
    width: calc(36.5 * var(--lp65-unit));
    margin-inline: auto;
  }
.lp65 .lp64ServiceLinks a {
    gap: calc(1 * var(--lp65-unit));
    padding: 0 calc(0.5 * var(--lp65-unit));
    min-height: calc(4.4 * var(--lp65-unit));
    border-radius: calc(2.2 * var(--lp65-unit));
    font-size: calc(1.2 * var(--lp65-unit));
    line-height: 1.45;
  }
.lp65 .lp64ServiceLinks img { width: calc(3 * var(--lp65-unit)); height: calc(3 * var(--lp65-unit)); padding: calc(0.4 * var(--lp65-unit)); }
.lp65 .lp64ServiceLinks span { width: calc(12.4 * var(--lp65-unit)); }
.lp65 .cospa { margin-top: calc(3.1 * var(--lp65-unit)); }
.lp65 .cospa img { width: calc(35.5 * var(--lp65-unit)); }
.lp65 .waon { margin-top: calc(3.2 * var(--lp65-unit)); }
.lp65 .flow { margin-top: calc(6.2 * var(--lp65-unit)); }
.lp65 .feature { margin-top: calc(2.9 * var(--lp65-unit)); }
}
@media (min-width: 768px) {
.lp65 .band__chr { display: none; }
.lp65 img { max-width: calc(144 * var(--lp65-unit)); }
.lp65 .fv {
    height: calc(57 * var(--lp65-unit));
    background-image: url("../images/fv-bg.png");
  }
.lp65 .banners { margin-top: calc(1.3 * var(--lp65-unit)); }
.lp65 .banners img { width: calc(80 * var(--lp65-unit)); }
.lp65 .appeal { margin-top: calc(-0.7 * var(--lp65-unit)); }
.lp65 .appeal img { width: calc(108 * var(--lp65-unit)); }
.lp65 .sec--aircon1 { margin-top: calc(5.1 * var(--lp65-unit)); padding-bottom: calc(10.81 * var(--lp65-unit)); }
.lp65 .lp64Plans { margin-top: calc(4 * var(--lp65-unit)); }
.lp65 .lp64Plans--ac1 { margin-top: calc(5.3 * var(--lp65-unit)); }
.lp65 .sec--top5 { padding-bottom: calc(11 * var(--lp65-unit)); }
.lp65 .sec--aircon { padding-bottom: calc(10.9 * var(--lp65-unit)); }
.lp65 .sec--washer { padding-bottom: calc(10.9 * var(--lp65-unit)); }
.lp65 .sec--other { padding-bottom: calc(6.6 * var(--lp65-unit)); }
.lp65 .pickup { margin-top: calc(-3.5 * var(--lp65-unit)); width: calc(43.2 * var(--lp65-unit)); height: calc(7.9 * var(--lp65-unit)); }
.lp65 .pickup__badge {
    top: calc(-1.5 * var(--lp65-unit));
    width: calc(11.4 * var(--lp65-unit));
    height: calc(3.1 * var(--lp65-unit));
    font-size: calc(2 * var(--lp65-unit));
    line-height: calc(3.1 * var(--lp65-unit));
  }
.lp65 .pickup__text {
    left: calc(4 * var(--lp65-unit));
    top: calc(2.6 * var(--lp65-unit));
    width: calc(35.2 * var(--lp65-unit));
    font-size: calc(2.2 * var(--lp65-unit));
    line-height: 1.6;
  }
.lp65 .sec__intro { width: calc(80 * var(--lp65-unit)); margin-top: calc(3.35 * var(--lp65-unit)); }
.lp65 .band {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(111 * var(--lp65-unit));
  }
.lp65 .band__title {
    font-size: calc(2.8 * var(--lp65-unit));
    font-weight: 900;
    letter-spacing: .02em;
  }
.lp65 .band__title br { display: none; }
.lp65 .sec--top5   .band, .lp65 .sec--washer .band, .lp65 .sec--other  .band { margin-top: calc(-3.7 * var(--lp65-unit)); }
.lp65 .sec--aircon .band { margin-top: calc(-3.9 * var(--lp65-unit)); }
.lp65 .service-links { padding: calc(5.8 * var(--lp65-unit)) 0 calc(5.9 * var(--lp65-unit)); }
.lp65 .lp64ServiceLinks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(2 * var(--lp65-unit));
    justify-content: start;
    
    width: 75%;
    margin-inline: auto;
  }
.lp65 .lp64ServiceLinks a {
    gap: calc(1 * var(--lp65-unit));
    padding: calc(1 * var(--lp65-unit));
    min-height: calc(6 * var(--lp65-unit));
    border-radius: calc(4 * var(--lp65-unit));
    font-size: calc(1.6 * var(--lp65-unit));
    line-height: 1.2;
  }
.lp65 .lp64ServiceLinks img { width: calc(4 * var(--lp65-unit)); height: calc(4 * var(--lp65-unit)); padding: calc(0.5 * var(--lp65-unit)); }
.lp65 .cospa { padding-bottom: calc(8.3 * var(--lp65-unit)); }
.lp65 .cospa img { width: calc(111 * var(--lp65-unit)); }
.lp65 .flow { padding: calc(11.6 * var(--lp65-unit)) 0 calc(3.4 * var(--lp65-unit)); }
.lp65 .flow img { width: calc(102.4 * var(--lp65-unit)); }
.lp65 .services {
    background: var(--bg-gray);
    margin-top: calc(-0.7 * var(--lp65-unit));
    padding: calc(1 * var(--lp65-unit)) 0 calc(6.3 * var(--lp65-unit));
  }
.lp65 .services img { width: calc(102.4 * var(--lp65-unit)); }
}


/* キャンペーンカルーセル：lp-00064と同じ幅・余白・操作部 */
.lp65 .lp65Campaigns { background: #f5f7f7; }
.lp65 .lp65Campaigns .lp_cp_bnr_slick {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto 50px;
  opacity: 0;
  transition: opacity .3s linear;
}
.lp65 .lp65Campaigns .lp_cp_bnr_slick.slick-initialized { opacity: 1; }
.lp65 .lp65Campaigns .lp_cp_bnr_slick_item { margin: 0 10px; }
.lp65 .lp65Campaigns .slick-arrow { font-size: 0; line-height: 0; }
.lp65 .lp65Campaigns .slick-prev::before,
.lp65 .lp65Campaigns .slick-next::before { color: #ccc; }
.lp65 .lp65Campaigns .slick-dots li button::before { font-size: 10px; }
@media (max-width: 767px) {
  .lp65 .lp65Campaigns .slick-prev { left: -15px; }
  .lp65 .lp65Campaigns .slick-next { right: -15px; }
}

/* lp-00063と共通の流れ画像。LP本体の外側なので専用クラスで指定。 */
.lp65Flow { padding: 25px 0 20px; background: #fff; }
.lp65Flow__inner { box-sizing: border-box; max-width: 801px; margin: 0 auto; padding: 0 15px; }
.lp65Flow picture, .lp65Flow img { display: block; }
.lp65Flow img { width: 100%; max-width: 100%; height: auto; }
.lp65FlowGuide { padding: 0 15px 40px; background: #fff; text-align: center; }
.lp65FlowGuide .contBtn02 { margin-top: 0; }
.lp65FlowGuide .contBtn02 a { max-width: 100%; }
@media (min-width: 768px) {
  .lp65Flow__inner { max-width: 1184px; padding: 0 30px; }
  .lp65FlowGuide { margin-top: -30px; }
}

/* 共通サービス一覧・TOPボタン：lp-00064と同じ背景・寸法・余白。 */
.lp65Services { background: #f5f7f7; }
.lp65Services, .lp65Services *, .lp65Services *::before, .lp65Services *::after { box-sizing: border-box; }
.lp65Services .contBlockWrap01 { margin-top: 0; padding-top: 20px; }
.lp65Services .contBlockWrap01::before { display: none; }
.lp65Services .contBlock01 { position: relative; padding-bottom: 20px; }
.lp65Services .h2Wrap01 { margin-top: 0; }
.lp65Services .btn_group_outer { padding: 15px 0 20px; }
.lp65Services .btn_group_inner { max-width: 740px; margin: 0 auto; padding: 0 20px; }
.lp65Services .btn_group_inner .maintop { margin-top: 0; }
.lp65Services .maintop img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) {
  .lp65Services .contBlock01 { padding-bottom: 15px; }
  .lp65Services .h2Wrap01::before { left: -15px; }
  .lp65Services .h2Wrap01::after { right: -15px; }
  .lp65Services .btn_group_outer { padding: 10px 0 15px; }
  .lp65Services .btn_group_inner { padding: 0 min(5.333333vw, 40px); }
}

.contBlock05 {
  margin-top: 0;
  padding-top: 50px;
  border-radius: 0;
}
@media (max-width: 767px) {
.contBlock05 {
  padding-top: 30px;
}
.lp65 {
  padding-bottom: 30px;
}
}