@charset "UTF-8";
/**
 * レスポンシブのブレイクポイント設定
 */
/*
COLORS
================================================ */
:root {
  --pink: #F279A2;
  --blue: #1B6EB1;
  --sky-blue: #56ADF0;
  --orange: #ED794D;
  --green: #008B80;
  --yellow: #FFDC5A;
  --light-blue: #F2FAFF;
  --light-green: #E4E8E5;
  --light-grey: #F7F7F7;
  --placeholder: #9B9B9B;
  --grey: #ddd;
  --navy: #2E3180;
  --black: #333;
  --white: #fff;
  --gradation-orange: linear-gradient(180deg, #EA8863, #CC5223);
  --gradation-orange_hover: linear-gradient(180deg, #ea7b52, #cd4510);
  --gradation-blue: linear-gradient(180deg, #1C96CE, #1F67AF);
  --gradation-blue_hover: linear-gradient(180deg, #0b8fcc, #0154a7);
  --compare-pink: #FDF0F5;
  --compare-blue: #EDF7FF;
}

/*
フラット35
================================================ */
#flat-35 {
  /* ===== タブ ===== */
  /* ===== フラット35の特徴 ===== */
  /* ===== 下部タイトル ===== */
  /* ===== 取扱商品 ===== */
  /* ===== アコーディオン ===== */
  /* 見出し（クリック部分） */
  /* 開閉アイコン（三角形） */
  /* コンテンツ部分 */
  /* ===== 商品の違い ===== */
}
@media (769px <= width) {
  #flat-35 {
    padding-bottom: 40px;
  }
}
@media (width < 769px) {
  #flat-35 {
    margin-inline: auto;
    padding-bottom: 10.667vw;
    width: 90%;
  }
}
#flat-35 .service-tit {
  text-align: center;
}
@media (769px <= width) {
  #flat-35 .service-tit {
    margin: 0 auto 20px auto;
  }
}
@media (width < 769px) {
  #flat-35 .service-tit {
    max-width: 90%;
    margin: 10.667vw auto 5%;
  }
}
@media (769px <= width) {
  #flat-35 .service-tit img {
    max-width: 287px;
  }
}
@media (width < 769px) {
  #flat-35 .service-tit img {
    max-width: 66.667vw;
  }
}
#flat-35 .service-tit .service-tit__text {
  color: var(--blue);
  font-weight: bold;
}
@media (769px <= width) {
  #flat-35 .service-tit .service-tit__text {
    margin-bottom: 20px;
    font-size: 2rem;
  }
}
@media (width < 769px) {
  #flat-35 .service-tit .service-tit__text {
    margin-bottom: 5.333vw;
    font-size: 5.333vw;
    line-height: 1.5;
  }
}
@media (769px <= width) {
  #flat-35 .lead {
    margin-bottom: 3em;
    text-align: center;
  }
}
@media (width < 769px) {
  #flat-35 .lead {
    text-align: left;
    margin: 5% 5% 3em;
  }
}
#flat-35 .tabs {
  margin-inline: auto;
}
@media (769px <= width) {
  #flat-35 .tabs {
    max-width: 600px;
  }
}
@media (width < 769px) {
  #flat-35 .tabs {
    width: 100%;
  }
}
#flat-35 .tabs input[name=tab__item] {
  display: none;
}
#flat-35 .tabs .note {
  text-align: left;
}
@media (769px <= width) {
  #flat-35 .tabs .note {
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media (width < 769px) {
  #flat-35 .tabs .note {
    margin: 4vw auto 8vw;
    font-size: 2.667vw;
    line-height: 1.7;
  }
}
#flat-35 .tab__item {
  background-color: var(--grey);
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: 600;
  transition: all 0.2s ease;
}
@media (769px <= width) {
  #flat-35 .tab__item {
    width: calc(50% - 10px);
    height: 50px;
    line-height: 50px;
    border-radius: 10px 10px 0 0;
  }
}
@media (width < 769px) {
  #flat-35 .tab__item {
    width: calc(50% - 1.333vw);
    height: 13.333vw;
    line-height: 13.333vw;
    font-size: 3.2vw;
    border-radius: 2.133vw 2.133vw 0 0;
  }
}
@media (769px <= width) {
  #flat-35 .tab__item span {
    font-size: 2.4rem;
  }
}
@media (width < 769px) {
  #flat-35 .tab__item span {
    font-size: 4.8vw;
  }
}
@media (769px <= width) {
  #flat-35 .tab__item--warranty {
    margin-left: 20px;
  }
}
@media (width < 769px) {
  #flat-35 .tab__item--warranty {
    margin-left: 2.667vw;
  }
}
#flat-35 .tab__content {
  display: none;
  clear: both;
  font-weight: 600;
  overflow: hidden;
}
@media (769px <= width) {
  #flat-35 .tab__content {
    margin-bottom: 80px;
    padding: 20px 0 0;
    border-top: 4px solid var(--blue);
  }
}
@media (width < 769px) {
  #flat-35 .tab__content {
    padding: 5.333vw 0 0;
    font-size: 3.733vw;
    border-top: 1.067vw solid var(--blue);
  }
}
#flat-35 .tab__content .tab__text {
  text-align: center;
}
#flat-35 .tab__content .tab__text + .tab__text {
  margin-top: 0.5em;
}
#flat-35 .tab__content .tab__text.emphasis {
  margin-bottom: 1em;
  color: var(--blue);
}
#flat-35 .tab__content .l-type {
  display: flex;
  justify-content: center;
  margin-bottom: 1em;
}
@media (769px <= width) {
  #flat-35 .tab__content .l-type {
    gap: 120px;
  }
}
@media (width < 769px) {
  #flat-35 .tab__content .l-type {
    gap: 10.667vw;
  }
}
#flat-35 .tab__content .type {
  text-align: center;
}
@media (width < 769px) {
  #flat-35 .tab__content .type {
    font-size: 3.733vw;
  }
}
#flat-35 .tab__content .rate {
  color: var(--orange);
  line-height: 1;
  font-weight: 700;
  background: var(--orange);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (769px <= width) {
  #flat-35 .tab__content .rate {
    font-size: 2.5rem;
  }
  #flat-35 .tab__content .rate span {
    font-size: 6.5rem;
  }
}
@media (width < 769px) {
  #flat-35 .tab__content .rate span {
    font-size: 8.533vw;
  }
}
#flat-35 .tab__content .ttl__note {
  font-weight: normal;
  text-align: center;
}
@media (769px <= width) {
  #flat-35 .tab__content .ttl__note {
    margin-bottom: 18px;
    font-size: 1.4rem;
  }
}
@media (width < 769px) {
  #flat-35 .tab__content .ttl__note {
    margin-bottom: 2.667vw;
    font-size: 3.733vw;
  }
}
#flat-35 #purchase:checked ~ #purchase_content,
#flat-35 #warranty:checked ~ #warranty_content {
  display: block;
}
#flat-35 .tabs input:checked + .tab__item {
  background-color: var(--yellow);
}
#flat-35 .features_wrap {
  display: grid;
  align-items: stretch;
}
@media (769px <= width) {
  #flat-35 .features_wrap {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 auto 50px;
    max-width: 600px;
  }
}
@media (width < 769px) {
  #flat-35 .features_wrap {
    grid-template-columns: 1fr;
    gap: 5.333vw;
    margin: 0 auto 10.667vw;
  }
}
#flat-35 .features_wrap div {
  margin: 0;
  width: auto;
  min-height: auto;
}
@media (width < 769px) {
  #flat-35 .service-sub-tit {
    margin: 13.333vw auto 8vw;
  }
}
#flat-35 .service-sub-tit span {
  color: var(--blue);
}
#flat-35 .handling-tit,
#flat-35 .compare-tit {
  font-weight: bold;
  text-align: center;
  margin: 0 0 1em;
}
@media (769px <= width) {
  #flat-35 .handling-tit,
#flat-35 .compare-tit {
    font-size: 2.4rem;
  }
}
@media (width < 769px) {
  #flat-35 .handling-tit,
#flat-35 .compare-tit {
    font-size: 5.333vw;
  }
}
@media (769px <= width) {
  #flat-35 .handling {
    margin: 70px auto;
    max-width: 800px;
  }
}
@media (width < 769px) {
  #flat-35 .handling {
    margin: 10.667vw auto;
  }
}
#flat-35 .accordion-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  border-bottom: 1px solid var(--grey);
}
@media (769px <= width) {
  #flat-35 .accordion-header {
    padding: 18px 56px 18px 24px;
    gap: 20px;
  }
}
@media (width < 769px) {
  #flat-35 .accordion-header {
    padding: 4.267vw 13.333vw 4.267vw 5.333vw;
    gap: 2.667vw;
  }
}
#flat-35 .tag-flat {
  display: block;
}
@media (769px <= width) {
  #flat-35 .tag-flat {
    width: 182px;
  }
}
@media (width < 769px) {
  #flat-35 .tag-flat {
    width: 42.667vw;
  }
}
#flat-35 .tag-type {
  font-weight: 700;
  color: var(--pink);
}
@media (769px <= width) {
  #flat-35 .tag-type {
    font-size: 2.5rem;
  }
}
@media (width < 769px) {
  #flat-35 .tag-type {
    font-size: 5.867vw;
  }
}
#flat-35 .tag-type.guarantee {
  color: var(--sky-blue);
}
#flat-35 .tag-type.refinance {
  color: var(--navy);
}
#flat-35 .accordion-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  border-style: solid;
  border-color: var(--navy) transparent transparent transparent;
  transition: transform 0.2s ease;
}
@media (769px <= width) {
  #flat-35 .accordion-icon {
    right: 18px;
    border-width: 18px 10px 0 10px;
  }
}
@media (width < 769px) {
  #flat-35 .accordion-icon {
    right: 4.267vw;
    border-width: 4.267vw 2.4vw 0 2.4vw;
  }
}
#flat-35 .accordion-header[aria-expanded=true] .accordion-icon {
  transform: translateY(-50%) rotate(180deg);
}
#flat-35 .accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}
@media (769px <= width) {
  #flat-35 .accordion-panel-inner {
    padding: 30px;
  }
}
@media (width < 769px) {
  #flat-35 .accordion-panel-inner {
    padding: 5.333vw 0;
  }
}
#flat-35 .accordion-subcopy {
  margin-bottom: 0.5em;
  text-align: center;
  font-weight: bold;
  color: var(--blue);
}
@media (769px <= width) {
  #flat-35 .accordion-description {
    margin-bottom: 40px;
  }
}
@media (width < 769px) {
  #flat-35 .accordion-description {
    margin-bottom: 8vw;
    font-size: 3.733vw;
  }
}
#flat-35 .feature {
  display: grid;
  align-items: center;
}
@media (769px <= width) {
  #flat-35 .feature {
    grid-template-columns: 100px 1fr;
    gap: 20px;
  }
}
@media (width < 769px) {
  #flat-35 .feature {
    grid-template-columns: 1fr;
    gap: 2.667vw;
  }
}
@media (769px <= width) {
  #flat-35 .feature + .feature {
    margin-top: 30px;
  }
}
@media (width < 769px) {
  #flat-35 .feature + .feature {
    margin-top: 8vw;
  }
}
@media (769px <= width) {
  #flat-35 .feature-icon {
    width: 100px;
    height: 100px;
  }
}
@media (width < 769px) {
  #flat-35 .feature-icon {
    margin-inline: auto;
    width: 26.667vw;
    height: 26.667vw;
  }
}
#flat-35 .feature-title {
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media (769px <= width) {
  #flat-35 .feature-title {
    font-size: 2rem;
  }
}
@media (width < 769px) {
  #flat-35 .feature-title {
    line-height: 1.5;
    text-align: center;
  }
}
#flat-35 .feature-text {
  line-height: 1.8;
}
@media (769px <= width) {
  #flat-35 .feature-text {
    font-size: 1.4rem;
  }
}
@media (width < 769px) {
  #flat-35 .feature-text {
    font-size: 3.733vw;
  }
}
@media (769px <= width) {
  #flat-35 .compare-wrapper {
    max-width: 800px;
    margin: 0 auto 70px;
  }
}
@media (width < 769px) {
  #flat-35 .compare-wrapper {
    margin: 0 auto 10.667vw;
  }
}
#flat-35 .compare-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  text-align: center;
}
@media (769px <= width) {
  #flat-35 .compare-header__col {
    padding: 28px 20px;
  }
}
@media (width < 769px) {
  #flat-35 .compare-header__col {
    padding: 5.333vw;
  }
}
#flat-35 .compare-header__col--left {
  background: var(--compare-pink);
}
#flat-35 .compare-header__col--right {
  background: var(--compare-blue);
}
#flat-35 .compare-product-name {
  display: block;
  margin-inline: auto;
}
@media (769px <= width) {
  #flat-35 .compare-product-name {
    width: 182px;
    margin-bottom: 10px;
  }
}
@media (width < 769px) {
  #flat-35 .compare-product-name {
    margin-bottom: 2.667vw;
  }
}
#flat-35 .compare-product-type--left,
#flat-35 .compare-product-type--right {
  font-weight: 600;
}
@media (769px <= width) {
  #flat-35 .compare-product-type--left,
#flat-35 .compare-product-type--right {
    font-size: 2.5rem;
  }
}
@media (width < 769px) {
  #flat-35 .compare-product-type--left,
#flat-35 .compare-product-type--right {
    font-size: 5.333vw;
  }
}
#flat-35 .compare-product-type--left {
  color: var(--pink);
}
#flat-35 .compare-product-type--right {
  color: var(--sky-blue);
}
#flat-35 .compare-section__label {
  background: var(--blue);
  color: var(--white);
  text-align: center;
  font-weight: 600;
}
@media (769px <= width) {
  #flat-35 .compare-section__label {
    padding: 10px 20px;
  }
}
@media (width < 769px) {
  #flat-35 .compare-section__label {
    padding: 2.667vw 5.333vw;
    font-size: 4vw;
  }
}
#flat-35 .compare-section__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#flat-35 .section-col {
  line-height: 1.5;
}
@media (769px <= width) {
  #flat-35 .section-col {
    padding: 20px 16px 24px;
    font-size: 1.3rem;
  }
}
@media (width < 769px) {
  #flat-35 .section-col {
    padding: 5.333vw 3.733vw;
    font-size: 3.467vw;
  }
}
#flat-35 .section-col--left {
  background: var(--compare-pink);
}
#flat-35 .section-col--right {
  background: var(--compare-blue);
}
#flat-35 .section-heading {
  font-weight: 600;
  text-align: center;
}
@media (769px <= width) {
  #flat-35 .section-heading {
    margin-bottom: 20px;
    font-size: 2rem;
  }
}
@media (width < 769px) {
  #flat-35 .section-heading {
    margin-bottom: 2.667vw;
    font-size: 4vw;
  }
}
@media (769px <= width) {
  #flat-35 .section-body-text {
    font-size: 1.3rem;
  }
}
@media (width < 769px) {
  #flat-35 .section-body-text {
    font-size: 1.3rem;
  }
}