@charset "UTF-8";
/**
 * .about_page base_wrap
 * aboutページ 共通画面幅
 * 他ページと異なり間延びすると文字が読みにくいため狭める
**/
.about_page .base_wrap {
  max-width: 1440px;
}

/**
 * .about_title__type00
 * aboutページ 共通タイトル
 * 共通スタイルのためflex内を想定したorder、widthは以下に記述しない
 * flex内を想定したorder、width付与する場合は
 * 親要素（もしくはグループ名）のクラス名を前方に付加、もしくは別クラス名をHTMLへ新たに追記し、CSS内該当パーツ記述箇所にて調整
**/
.about_title__type01 {
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.2ex;
  text-align: center;
  margin: 0 0 48px;
}

.about_title__type01::before {
  content: attr(data-small);
  display: block;
  color: #6fc3fe;
  font-size: 12px;
  font-family: "Segoe UI", "San Francisco", "Roboto", Arial, Helvetica, sans-serif;
  font-feature-settings: "palt";
  letter-spacing: normal;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 28px;
}

@media (max-width: 767.98px) {
  .about_title__type01 {
    font-size: 20px;
    line-height: 28px;
    margin: 0 0 24px;
  }
  .about_title__type01::before {
    font-size: 8px;
    margin: 0 0 16px;
  }
}
.about_title__type02 {
  color: inherit;
  font-size: 24px;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 32px;
  text-align: center;
  margin: 0 0 32px;
  padding: 0 16px;
}

.about_title__type01 + .about_title__type02 {
  margin-top: -24px;
}

@media (max-width: 767.98px) {
  .about_title__type02 {
    font-size: 16px;
    line-height: 32px;
    margin: 12px 0 0;
    padding: 0 16px;
  }
}
.about_title__type03 {
  display: inline-block;
  border-bottom: 4px double var(--site-c-sub);
  color: var(--site-c-sub);
  font-size: 22px;
  font-weight: 700;
  padding-bottom: 4px;
  margin: 10px 0 8px;
}

@media (max-width: 959.98px) {
  .about_title__type03 {
    font-size: 20px;
    padding-bottom: 4px;
    margin: 16px 0 8px;
  }
}
/**
 * .about_box__type00
 * aboutページ 共通囲みスタイル
**/
.about_box__type01 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: flex-end;
  align-items: flex-end;
}

.about_box__type01.many_letters {
  align-content: flex-start;
  align-items: flex-start;
}

.about_box__type01 + .about_box__type01 {
  margin-top: 96px;
}

.about_box__type01_image {
  position: relative;
  width: 50%;
}

.about_box__type01_image::before {
  content: "";
  display: block;
  padding: 66.66% 0 0;
  position: relative;
  z-index: 1;
}

.about_box__type01_image img {
  border-radius: 8px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about_box__type01_text {
  width: calc(50% - 64px);
  padding-bottom: 48px;
}

.about_box__type01.many_letters .about_box__type01_text {
  padding-top: 48px;
  padding-bottom: 0;
}

.about_box__type01:nth-child(even) .about_box__type01_image {
  order: 2;
}

.about_box__type01:nth-child(even) .about_box__type01_text {
  order: 1;
}

.about_box__type01_title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.1ex;
  line-height: 1.5;
  margin: 0 0 14px;
}

.about_box__type01_title::before {
  content: "";
  display: block;
  border-radius: 4px;
  border-top: solid 3px;
  width: 2em;
  height: 0;
  margin: 0 0 48px;
}

.about_box__type01_text p,
.about_box__type01_text ol,
.about_box__type01_text ul {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.about_box__type01_text p + p {
  margin-top: 16px;
}

@media (max-width: 767.98px) {
  .about_box__type01 {
    align-content: flex-start;
    align-items: flex-start;
  }
  .about_box__type01 + .about_box__type01 {
    margin-top: 48px;
  }
  .about_box__type01_image {
    order: 2;
    width: 100%;
  }
  .about_box__type01_text {
    order: 1;
    padding-top: 16px;
    padding-bottom: 32px;
    width: 100%;
  }
  .about_box__type01.many_letters .about_box__type01_text {
    padding-top: 16px;
    padding-bottom: 32px;
  }
  .about_box__type01_title {
    font-size: 20px;
    margin: 0 0 24px;
  }
  .about_box__type01_title::before {
    border-top: solid 2px;
    width: 2em;
    margin: 0 0 24px;
  }
  .about_box__type01_text p,
  .about_box__type01_text ol,
  .about_box__type01_text ul {
    font-size: 14px;
    line-height: 2;
  }
  .about_box__type01_text *+p,
  .about_box__type01_text *+ol,
  .about_box__type01_text *+ul {
    margin-top: 16px;
  }
}

.about_box__type02 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  position: relative;
}

.about_box__type02 + .about_box__type02 {
  margin-top: 96px;
}

.about_box__type02_image {
  position: relative;
  width: 50%;
  order: 2;
  pointer-events: none;
}

.about_box__type02_image::before {
  content: "";
  display: block;
  padding: 100% 0 0;
  position: relative;
  z-index: 1;
}

.about_box__type02_image img {
  border-radius: 8px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
  transform: translate(12.5%, 39%) rotate(30deg) scale(1.5);
  filter: drop-shadow(8px 8px 8px #ddd);
}

.about_box__type02_text {
  width: 50%;
  position: relative;
  z-index: 5;
  order: 1;
}

.about_box__type02_title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.1ex;
  line-height: 1.5;
  margin: 0 0 24px;
}

.about_box__type02_text p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.about_box__type02_text p + p {
  margin-top: 16px;
}

@media (max-width: 767.98px) {
  .about_box__type02 {
    align-content: flex-start;
    align-items: flex-start;
  }
  .about_box__type02 + .about_box__type02 {
    margin-top: 48px;
  }
  .about_box__type02_image {
    order: 2;
    width: 100%;
  }
  .about_box__type02_text {
    order: 1;
    width: 100%;
    padding-bottom: 16px;
  }
  .about_box__type02_title {
    font-size: 24px;
    line-height: 1.5;
    margin: 0 0 20px;
  }
  .about_box__type02_text p {
    font-size: 14px;
    line-height: 2;
  }
}
/**
 * .about_section__base
 * aboutページ 共通セクション
 * 
 * 使用範囲が広いため、全て共通の場合以外、画像・色の設定はしない
**/
.about_section__base {
  padding: 48px 0;
}

@media (max-width: 767.98px) {
  .about_section__base {
    padding: 32px 0;
  }
}
/**
 * .plan_list
 * aboutページ 掲載プラン
**/
.plan_list > table {
  table-layout: fixed;
  border-collapse: collapse;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}

.plan_list > table > thead > tr > th,
.plan_list > table > thead > tr > td {
  background-color: rgba(0, 0, 0, 0.66);
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 12px 16px;
}

.plan_list > table > tbody > tr > th,
.plan_list > table > tbody > tr > td {
  font-weight: 700;
  font-feature-settings: "palt";
  padding: 12px 16px;
  border-left: solid 1px rgba(0, 0, 0, 0.13);
}

.plan_list > table > tbody > tr > th {
  text-align: left;
}

.plan_list > table > tbody > tr > td {
  text-align: center;
}

.plan_list > table > tbody > tr:nth-child(even) > th,
.plan_list > table > tbody > tr:nth-child(even) > td {
  background-color: rgba(229, 240, 248, 0.66);
}

.plan_list_option {
  display: inline-block;
  border-radius: 3px;
  border: solid 1px #6fc3fe;
  background: #6fc3fe;
  color: #ff8d98;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.05ex;
  line-height: 14px;
  padding: 4px 8px;
  margin-top: 4px;
}

@media (min-width: 768px) {
  .plan_list > table > tbody > tr:nth-child(even) > :first-child {
    background-color: rgba(192, 214, 231, 0.66);
  }
}
@media (max-width: 767.98px) {
  .plan_list > table {
    font-size: 11px;
  }
  .plan_list > table > thead > tr > :first-child,
  .plan_list > table > tbody > tr > :first-child {
    width: 144px;
  }
}
.plan_list > p {
  color: rgba(0, 0, 0, 0.56);
  font-size: 16px;
  text-align: center;
  margin: 16px 0 0;
}

.plan_list table i {
  display: inline-block;
  transform: scale(1.5);
}

/**
 * .about_cta__box_btn
 * aboutページ CTA
**/
.about_cta {
  padding: 40px;
  background: #fff;
  border-radius: 5px;
  max-width: 980px;
  margin: 0 auto 40px;
}

*+.about_cta {
  margin: 40px auto;
}

.about_cta > p {
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  text-align: center;
}

.about_cta > p small {
  color: rgba(0, 0, 0, 0.56);
  font-size: inherit;
}

@media (max-width: 767.98px) {
  .about_cta {
    margin: 24px auto 24px;
    padding: 24px;
  }
  .about_cta > p {
    font-size: 14px;
    line-height: 28px;
  }
}
.about_cta__box_btn {
  margin: 40px 0 0;
}

.about_cta .about_cta__box_btn {
  margin-top: 24px;
}

.about_cta__box_btn a {
  display: block;
  border-radius: 5px;

  box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.2);
  background: linear-gradient(45deg, var(--site-c-sub) 0%, #f9c270 100%);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  max-width: 500px;
  width: 100%;
  padding: 20px 50px;
  margin: 0 auto;
}

.about_cta__box_btn a:hover {
  opacity: 0.9;
}

@media (max-width: 767.98px) {
  .about_cta__box_btn {
    margin: 20px 0 0;
  }
  .about_cta__box_btn a {
    font-size: 16px;
    padding: 20px 8px;
  }
}

/**
 * /about/ページ
**/
#about_benefit {
  background-color: #fff;
}

#about_useful {
  background-color: #fff;
}

.about_howtosearch {
  display: flex;
  justify-content: space-evenly;
  margin: 70px 0;
}

.about_howtosearch > div {
  width: 15%;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  align-content: center;
}

.about_howtosearch :first-child {
  position: relative;
}

.about_howtosearch > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  background: #fff;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.about_howtosearch > div > div > img {
  width: 90px;
  height: 95px;
  object-fit: contain;
}

.about_howtosearch > div > span {
  font-size: 18.5px;
  font-weight: 500;
  background: #fdfc78;
  color: var(--site-c-sub);
  padding: 2px 12px;
  position: absolute;
  left: 0;
  top: 10px;
}

.about_howtosearch > div > p {
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  margin: 20px 0;
}

@media (max-width: 767.98px) {
  .about_howtosearch {
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: flex-start;
    margin: 30px 0;
  }
  .about_howtosearch > div {
    width: 32%;
    margin: 0 20px;
  }
  .about_howtosearch > div > span {
    font-size: 10px;
    padding: 0 5px;
    top: 5px;
  }
  .about_howtosearch > div > div {
    padding: 20px 23px;
  }
  .about_howtosearch > div > div > img {
    width: 60px;
    height: 65px;
  }
  .about_howtosearch > div > p {
    font-size: 14px;
    margin: 15px 0;
  }
}
/**
* /about_services/ページ
**/
#about_service_elaborate {
  background-color: #fff;
}

#about_service_plans {
  background-color: #e5f0f8;
}

/**
* /about_kuchikomi/ページ
**/
#about_kuchikomi_3point {
  background-color: #fff;
}

#about_kuchikomi_3point .base_wrap {
  max-width: 1280px;
}

.about_kuchikomi_3point_parts {
  counter-reset: kuchikomi-3point;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: stretch;
  align-items: stretch;
}

.about_kuchikomi_3point_parts > dl {
  border-radius: 8px;
  border: solid 4px var(--site-border-c);
  background: #fff;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.06);
  padding: 24px 24px 96px;
  position: relative;
}

.about_kuchikomi_3point_parts > dl::before {
  counter-increment: kuchikomi-3point;
  content: "0" counter(kuchikomi-3point);
  display: block;
  color: var(--site-c-disabledgray);
  font-family: "Segoe UI", "San Francisco", "Roboto", Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 64px;
  line-height: 1;
  text-align: right;
  padding: 0 20px 20px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

.about_kuchikomi_3point_parts > dl > dt {
  color: var(--site-c-sub);
  font-size: 20px;
  font-feature-settings: "palt";
  font-weight: 700;
  line-height: 32px;
}

.about_kuchikomi_3point_parts > dl > dd {
  color: rgba(0, 0, 0, 0.56);
  font-size: 14px;
  font-weight: 500;
  line-height: 28px;
  margin-top: 16px;
}

@media (min-width: 768px) {
  .about_kuchikomi_3point_parts {
    margin: 0 -24px;
  }
  .about_kuchikomi_3point_parts > dl {
    width: calc((100% - 144px) / 3);
    margin: 0 24px;
  }
}
@media (max-width: 767.98px) {
  .about_kuchikomi_3point_parts {
    margin: 0;
  }
  .about_kuchikomi_3point_parts > dl + dl {
    margin-top: 24px;
  }
}
#about_kuchikomi_equally {
  background-color: #fff;
  overflow: hidden;
}

@media (min-width: 768px) {
  #about_kuchikomi_equally {
    padding: 0;
  }
}
@media (max-width: 767.98px) {
  #about_kuchikomi_equally {
    padding-top: 48px;
  }
}
#about_kuchikomi_equally .about_box__type02 {
  min-height: 640px;
}

#about_kuchikomi_equally .about_box__type02_title > img {
  width: auto;
  height: 48px;
  vertical-align: top;
  margin: 0 0 32px;
}

#about_kuchikomi_equally .about_box__type02_title > span {
  display: block;
}

@media (max-width: 767.98px) {
  #about_kuchikomi_equally .about_box__type02 {
    min-height: 0;
  }
  #about_kuchikomi_equally .about_box__type02_title {
    text-align: center;
  }
  #about_kuchikomi_equally .about_box__type02_title > img {
    width: auto;
    height: 28px;
    margin: 0 0 16px;
  }
}
.about_disclaimer_parts {
  color: rgba(0, 0, 0, 0.56);
  font-size: 14px;
  font-weight: 500;
  line-height: 28px;
}

.about_disclaimer_parts .title_parts {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5ex;
  text-align: center;
}

.about_disclaimer_parts > *+* {
  margin-top: 28px;
}

@media (max-width: 767.98px) {
  .about_disclaimer_parts {
    font-size: 12px;
    line-height: 24px;
  }
  .about_disclaimer_parts .title_parts {
    font-size: 12px;
  }
  .about_disclaimer_parts > *+* {
    margin-top: 16px;
  }
}

/**
 * メリットセクション ハイライト文字
**/
.about_merit_highlight {
  color: #000;
  background: linear-gradient(transparent 70%, rgba(11, 218, 218, 0.3) 70%);
  padding: 0 2px;
}