/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 versions,Safari >= 8,iOS >= 8,Android >= 4.4
*/

@charset "utf-8";

/*=================================================
 *  CSS Custom Properties
 *================================================*/
:root {
  /* --- 初期値設定 ここから ------------------------ */
  --font-family-base: "Noto Sans JP", sans-serif; /* FontFamily（日本語） */
  --font-family-second: "YuMincho", serif; /* FontFamily（日本語） */
  --font-family-en: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif; /* FontFamily（英字） */
  --line-height-base: 1.6; /* 基本のline-height */
  --color-bg: #fff; /* 背景色 */
  --color-accent: #b62b2b; /* アクセントカラー */
  --color-font-base: #333; /* 文字色 */
  --color-font-btn: var(--color-accent); /* ボタン文字色 */
  --height-header: 0; /* SP表示時のヘッダーの高さ */
  --padding-inline: 20px; /* SP表示時の左右余白 */
  --width-max-img: 600px; /* SP表示時の最大画像幅 */
  --l-inner-xs: 900; /* PC表示時のインナー幅 - 極小 */
  --l-inner-s: 1000; /* PC表示時のインナー幅 - 小 */
  --l-inner: 1200; /* PC表示時のインナー幅 - 基本 */
  --space-xs: 20; /* 項目間のスペース - 極小 */
  --space-sm: 40; /* 項目間のスペース - 小 */
  --space-md: 80; /* 項目間のスペース - 中 */
  --space-lg: 100; /* 項目間のスペース - 大 */
  --space-xl: 140; /* 項目間のスペース - 極大 */
  /* --- 初期値設定 ここまで ------------------------ */

  /* z-index */
  --l-layer__modal: 100;
  --l-layer__drawer: 40;
  --l-layer__header: 20;
  --l-layer__floating: 10;
  --l-layer__default: 1;
}

/* PC */
@media screen and (min-width: 768px) {
  :root {
    --height-header: 0; /* PC表示時のヘッダーの高さ */
    --padding-inline: 25px; /* PC表示時の左右余白 */
    --width-max-img: 100%; /* PC表示時の最大画像幅 */
  }
}

/*=================================================
 *  Base ベーススタイル
 *================================================*/
html {
  font-size: 1em;
  min-height: -webkit-fill-available;
}

body {
  font-family: var(--font-family-base);
  font-weight: 500;
  line-height: var(--line-height-base);
  color: var(--color-font-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--color-bg);
  word-wrap: break-word;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

/* reset.css で h2 や p が normal に戻されるので追加しました */
body * {
  font-weight: inherit;
}

[lang="en"] {
  font-family: var(--font-family-en);
  text-transform: uppercase;
}

img {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

a {
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
  transition: 0.2s linear;
}

/* フォーカス時のアウトライン */
:focus-visible {
  outline: 1px solid var(--color-accent);
}

/* アンカー位置をヘッダーの高さ分ずらす */
:target {
  scroll-margin-top: calc(var(--height-header) * 1px);
}

/* PC */
@media screen and (min-width: 768px) {
  html {
    font-size: min(calc(8 / var(--l-inner) * 100vw + 0.5em), 1em);
  }
  /* 電話番号リンクをクリック不可 */
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/*=================================================
 *  Utility ユーティリティ
 *================================================*/

/* float関連 */
.u-cf::before,
.u-cf::after {
  clear: both;
  content: "";
  display: block;
}
.u-fl {
  float: left;
}
.u-fr {
  float: right;
}

/* 左寄せ、中央、右寄せ */
.u-left {
  text-align: left;
}
.u-center {
  text-align: center;
}
.u-right {
  text-align: right;
}

/* 太字 */
.u-bold {
  font-weight: 700;
}

/* Word Break（親要素にクラス指定） */
.u-wbr {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* スクリーンリーダー向け */
.u-screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}

/* 表示／非表示 切り替え */
.u-pc-only {
  display: none;
}

/* PC */
@media screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
  .u-sp-only {
    display: none;
  }
}

.u-dib {
  display: inline-block;
}

.u-external-link::after {
  content: "";
  display: inline-block;
  width: calc(15 / 16 * 1em);
  aspect-ratio: 1;
  margin-left: 0.3em;
  background-color: currentColor;
  -webkit-mask: url("../img/common/icon-external-link.svg") no-repeat center center / contain;
  mask: url("../img/common/icon-external-link.svg") no-repeat center center / contain;
  vertical-align: middle;
}

/*=================================================
 *  Layout レイアウト
 *================================================*/

/* インナー - 標準 */
.l-inner {
  width: 100%;
  max-width: calc(var(--l-inner) * 1px + var(--padding-inline) * 2);
  padding-inline: var(--padding-inline);
  margin-inline: auto;
  overflow: hidden;
}

/* main - TOPページ*/
.l-top-main {
  padding-top: calc(var(--height-header) / 16 * 1rem);
}

/* main - 下層ページ*/
.l-sub-main {
  padding-top: calc(var(--height-header) / 16 * 1rem);
}

/* セクション */
.l-section {
  /* margin-top: calc(var(--space-md) / 16 * 1rem); */
}

/* セクション - 下層ページ */
.l-sub-section {
  /* margin-top: calc(var(--space-md) / 16 * 1rem); */
}

/* ボタンエリア */
.l-btn-area {
  margin-top: calc(var(--space-xs) / 16 * 1rem);
  text-align: center;
}

/* PC */
@media screen and (min-width: 768px) {
  /* インナー - 極小 */
  .l-inner-xs {
    margin-inline: auto;
    max-width: calc(var(--l-inner-xs) * 1px);
  }
  /* インナー - 小 */
  .l-inner-s {
    margin-inline: auto;
    max-width: calc(var(--l-inner-s) * 1px);
  }
}

/*=================================================
 *  Component 共通部品
 *================================================*/

/*------------------------------------------
 *  パンくず
 *------------------------------------------*/
.c-breadcrumb {
  /* margin-top: 4px; */
  margin-block: calc(20 / 16 * 1rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c-breadcrumb__item {
  position: relative;
  line-height: 1;
}
.c-breadcrumb__item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.8em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #7a7b8d;
  border-bottom: 1px solid #7a7b8d;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.c-breadcrumb__item + .c-breadcrumb__item {
  margin-left: 1.2em;
}
.c-breadcrumb__item a {
  font-size: 0.85rem;
  line-height: 1;
  color: #7a7b8d;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-breadcrumb {
    margin-top: calc(30 / 16 * 1rem);
  }
  .c-breadcrumb__item:not(:first-child)::before {
    left: -0.9em;
    width: 7px;
    height: 7px;
    border-right: 2px solid #7a7b8d;
    border-bottom: 2px solid #7a7b8d;
    -webkit-transform: translateY(-30%) rotate(-45deg);
    transform: translateY(-30%) rotate(-45deg);
  }
  .c-breadcrumb__item + .c-breadcrumb__item {
    margin-left: 1.5em;
  }
}

/*------------------------------------------
 *  ページタイトル
 *------------------------------------------*/
.c-page-ttl {
}
/* PC */
@media screen and (min-width: 768px) {
  .c-page-ttl {
  }
}

/*------------------------------------------
 *  セクションタイトル
 *------------------------------------------*/
.c-sec-ttl {
  margin-right: -0.05em;
  font-size: calc(24 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-sec-ttl {
    font-size: calc(42 / 16 * 1rem);
  }
}

/*------------------------------------------
 *  ボタン
 *------------------------------------------*/
/* ベーシックなボタン */
.c-btn {
  display: inline-block;
  width: 100%;
  max-width: calc(300 / 16 * 1rem);
  --border-width: 1px;
  border: var(--border-width) solid var(--color-accent);
  padding-block: calc(20 / 16 * 1rem - (0.5lh - 0.5cap) - var(--border-width));
  padding-inline: calc(10 / 16 * 1rem);
  background-color: var(--color-accent);
  position: relative;
  color: #fff;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  text-align: center;
  -webkit-transition: ease 0.2s;
  -o-transition: ease 0.2s;
  transition: ease 0.2s;
}
.c-btn--bg-white {
  border-color: #fff;
  background-color: #fff;
  color: var(--color-font-btn);
}
.c-btn--free {
  max-width: calc(280 / 16 * 1rem);
}
.c-btn::after {
  content: "";
  display: block;
  width: calc(10 / 16 * 1rem);
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  aspect-ratio: 12.26 / 14.3;
  background-color: currentColor;
  margin-block: auto;
  position: absolute;
  inset-block: 0;
  right: calc(16 / 16 * 1rem);
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
}
.c-btn__balloon {
  display: block;
  padding-block: calc(8 / 16 * 1rem - (0.5lh - 0.5em));
  padding-inline: calc(18 / 16 * 1rem) calc(15 / 16 * 1rem - 0.05em);
  position: absolute;
  top: calc(-32 / 16 * 1rem);
  left: calc(-16 / 16 * 1rem);
  color: var(--color-font-btn);
  font-size: calc(22 / 16 * 1rem);
  letter-spacing: 0.05em;
  isolation: isolate;
}
.c-btn__balloon::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 145 / 88;
  background: url("../img/common/icon-balloon.svg") no-repeat center center / 100% 100%;
  /* margin-bottom: -10px; */
  position: absolute;
  inset: 0;
  bottom: auto;
  z-index: -1;
}
.c-btn:hover,
.c-btn:focus-visible {
  background-color: #fff;
  color: var(--color-font-btn);
}
.c-btn--bg-white:hover,
.c-btn--bg-white:focus-visible {
  background-color: var(--color-font-btn);
  color: #fff;
}
/* PC */
@media screen and (min-width: 768px) {
  .c-btn {
    max-width: calc(520 / 16 * 1rem);
    --border-width: 2px;
    padding-block: calc(32 / 16 * 1rem - (0.5lh - 0.5cap) - var(--border-width));
    font-size: calc(32 / 16 * 1rem);
  }
  .c-btn--free {
    max-width: calc(480 / 16 * 1rem);
  }
  .c-btn::after {
    width: calc(12.26 / 16 * 1rem);
    right: calc(21 / 16 * 1rem);
  }
  .c-btn__balloon {
    padding-block: calc((13 + 2) / 16 * 1rem - (0.5lh - 0.5em));
    padding-inline: calc((25 + 2) / 16 * 1rem) calc((25 + 2) / 16 * 1rem - 0.05em);
    top: calc(-56 / 16 * 1rem);
    left: calc(-44 / 16 * 1rem);
    font-size: calc(44 / 16 * 1rem);
  }
}

/*------------------------------------------
 *  Call to Action
 *------------------------------------------*/
.c-cta {
  background-color: var(--color-accent);
  color: #fff;
}
.c-cta__inner {
  padding-block: calc(60 / 16 * 1rem);
}
.c-cta__ttl {
  margin-right: -0.05em;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.c-cta__btn-area {
  margin-top: calc(45 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .c-cta__inner {
    padding-block: calc(93 / 16 * 1rem) calc(100 / 16 * 1rem);
  }
  .c-cta__ttl {
    font-weight: 700;
    font-size: calc(32 / 16 * 1rem);
  }
  .c-cta__btn-area {
    margin-top: calc(82 / 16 * 1rem);
  }
}

/*=================================================
 *  Project ページ固有
 *================================================*/
#wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 100vh;
}

/*------------------------------------------
 *  ヘッダー
 *------------------------------------------*/

/*------------------------------------------
 *  フッター
 *------------------------------------------*/
.p-footer {
}
.p-footer__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto auto;
  -ms-grid-columns: auto;
  grid-template:
    "main"
    "menu"
    "sub " / auto;
  padding-block: calc(50 / 16 * 1rem);
}
.p-footer__inner a:hover {
  opacity: 0.7;
}
.p-footer__main {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: main;
}
.p-footer__logo-en {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-footer__logo-ja {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: calc(15 / 16 * 1rem);
}
.p-footer__c-link{
  margin-top: 10px;
  color: #b62b2b;
  border: 2px solid #b62b2b;
  padding: 4px 12px;
  display: inline-block;
  }

.p-footer__c-link::after {
  content: "";
  display: inline-block;
  width: calc(15 / 16 * 1em);
  aspect-ratio: 1;
  margin-left: 0.3em;
  background-color: currentColor;
  -webkit-mask: url("../img/common/icon-external-link.svg") no-repeat center center / contain;
  mask: url("../img/common/icon-external-link.svg") no-repeat center center / contain;
  vertical-align: middle;
}

.p-footer__tel {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-block: calc(27.35 / 24 * 1em + 0.5em - 0.5lh) calc(0.5em - 0.5lh);
  margin-right: -0.08em;
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: calc(24 / 16 * 1rem);
  letter-spacing: 0.08em;
}
.p-footer__tel::before {
  content: "";
  display: block;
  width: calc(29 / 24 * 1em);
  aspect-ratio: 29 / 18;
  margin-right: calc(5.43 / 24 * 1em);
  background: url("../img/common/icon-freedial.svg") no-repeat center center / contain;
}
.p-footer__info {
  margin-top: calc(13 / 16 * 1rem);
  margin-right: -0.08em;
  color: #555;
  line-height: 1.8;
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.08em;
}
.p-footer__sub {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: sub;
}
.p-footer__sns {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  -webkit-column-gap: calc(20 / 16 * 1rem);
  -moz-column-gap: calc(20 / 16 * 1rem);
  column-gap: calc(20 / 16 * 1rem);
  margin-top: calc(19 / 16 * 1rem);
}
.p-footer__sns_item {
}
.p-footer__sns_item a:focus-visible {
  outline: auto;
}
.p-footer__sns_item img {
  display: block;
}
.p-footer__copyright {
  margin-block: calc(11 / 16 * 1rem + 0.5em - 0.5lh) calc(0.5em - 0.5lh);
  margin-right: -0.05em;
  color: #999;
  font-size: calc(12 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-footer__menu {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: menu;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-content: start;
  -ms-flex-line-pack: start;
  align-content: start;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  row-gap: 0.8em;
  -webkit-column-gap: 2em;
  -moz-column-gap: 2em;
  column-gap: 2em;
  margin-top: calc(30 / 16 * 1rem);
  color: var(--color-accent);
  line-height: 1.5;
  font-size: calc(15 / 16 * 1rem);
  letter-spacing: 0.08em;
}
.p-footer__menu_item {
  margin-right: -0.08em;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-footer__inner {
    -ms-grid-rows: auto auto;
    -ms-grid-columns: auto auto;
    grid-template:
      "main menu"
      "sub  menu" / auto auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-block: calc(60 / 16 * 1rem);
  }
  .p-footer__logo-ja {
    margin-top: calc(15 / 16 * 1rem);
  }
  .p-footer__tel {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-block: calc(27.35 / 24 * 1em + 0.5em - 0.5lh) calc(0.5em - 0.5lh);
    margin-right: -0.08em;
    font-family: var(--font-family-en);
    font-weight: 700;
    font-size: calc(24 / 16 * 1rem);
    letter-spacing: 0.08em;
  }
  .p-footer__tel::before {
    content: "";
    display: block;
    width: calc(29 / 24 * 1em);
    aspect-ratio: 29 / 18;
    margin-right: calc(5.43 / 24 * 1em);
    background: url("../img/common/icon-freedial.svg") no-repeat center center / contain;
  }
  .p-footer__info {
    margin-top: calc(13 / 16 * 1rem);
    margin-right: -0.08em;
    color: #555;
    line-height: 1.8;
    font-size: calc(14 / 16 * 1rem);
    letter-spacing: 0.08em;
  }
  .p-footer__sub {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    grid-area: sub;
  }
  @media screen and (min-width: 768px) {
    .p-footer__sub {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
  }
  .p-footer__sns {
    -webkit-column-gap: calc(23 / 16 * 1rem);
    -moz-column-gap: calc(23 / 16 * 1rem);
    column-gap: calc(23 / 16 * 1rem);
    margin-top: calc(19 / 16 * 1rem);
  }
  .p-footer__copyright {
    margin-block: calc(11 / 16 * 1rem + 0.5em - 0.5lh) calc(0.5em - 0.5lh);
    font-size: calc(12 / 16 * 1rem);
  }
  .p-footer__menu {
    -webkit-column-gap: 3.18em;
    -moz-column-gap: 3.18em;
    column-gap: 3.18em;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
  .p-footer__main {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-footer__sub {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .p-footer__menu {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
}

/*------------------------------------------
 *  TOPページ
 *------------------------------------------*/

/*----------------- MV -----------------*/
.p-top-mv {
  container-type: size;
  height: 100svh;
  max-height: calc(545 / 375 * 100vw);
  position: relative;
  isolation: isolate;
}
.p-top-mv::before {
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-top-mv__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 51fr auto 290fr;
  -ms-grid-columns: 100%;
  grid-template:
    "..." 51fr
    "box"
    "..." 290fr / 100%;
  height: 100%;
}
.p-top-mv__box {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: box;
  width: calc(800 / 16 * 1rem);
  max-width: 100%;
  margin-inline: auto;
  padding-block: calc(37 / 545 * 100svh) calc(23 / 545 * 100svh);
  padding-block: calc(37 / 545 * 100cqh) calc(23 / 545 * 100cqh);
  background-color: rgba(255, 255, 255, 0.9);
}
.p-top-mv__ttl {
}
.p-top-mv__ttl_line {
  display: block;
  margin-right: -0.05em;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-mv__ttl_line--01 {
  font-size: calc(14 / 375 * 100vw);
}
.p-top-mv__ttl_line--02 {
  margin-top: calc(25 / 545 * 100svh);
  margin-top: calc(25 / 545 * 100cqh);
  line-height: 1.2;
  font-size: calc(20 / 375 * 100vw);
}
.p-top-mv__ttl_line--03 {
  margin-top: calc(25 / 545 * 100svh);
  margin-top: calc(25 / 545 * 100cqh);
  font-size: calc(15 / 375 * 100vw);
}
.p-top-mv__bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: -2;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-mv {
    max-height: auto;
  }
  .p-top-mv__inner {
    -ms-grid-rows: 186fr auto 334fr;
    grid-template-rows: 186fr auto 334fr;
  }
  .p-top-mv__box {
    padding-block: calc(42 / 16 * 1rem);
  }
  .p-top-mv__ttl_line--01 {
    font-size: calc(22 / 16 * 1rem);
  }
  .p-top-mv__ttl_line--02 {
    margin-top: calc(23 / 16 * 1rem + (0.5em - 0.5lh));
    margin-bottom: calc(0.5em - 0.5lh);
    font-size: calc(40 / 16 * 1rem);
  }
  .p-top-mv__ttl_line--03 {
    margin-top: calc(23 / 16 * 1rem);
    font-size: calc(22 / 16 * 1rem);
  }
}

/*----------------- worry -----------------*/
.p-top-worry {
  padding-block: calc(60 / 16 * 1rem) calc(10 / 16 * 1rem);
}
.p-top-worry__inner {
}
.p-top-worry__subttl {
  margin-right: -0.05em;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-worry__ttl {
  margin-top: calc(30 / 16 * 1rem);
  font-weight: inherit;
}
.p-top-worry__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr) [1];
  grid-template-columns: repeat(1, 1fr);
  margin-top: calc(40 / 16 * 1rem);
}
.p-top-worry__item {
  -ms-grid-row-span: 3;
  grid-row: span 3;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  padding: calc(30 / 16 * 1rem);
}
.p-top-worry__item:where(:nth-child(odd)) {
  background-color: #f6f6f6;
}
.p-top-worry__item_icon {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
  width: calc(150 / 16 * 1rem);
  margin-inline: auto;
}
.p-top-worry__item_ttl {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  margin-top: calc(20 / 16 * 1rem);
  font-weight: 700;
  font-size: calc(18 / 16 * 1rem);
  text-align: center;
}
.p-top-worry__item_text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: calc(20 / 16 * 1rem);
  margin-inline: auto;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-worry {
    padding-block: calc(120 / 16 * 1rem) calc(100 / 16 * 1rem);
  }
  .p-top-worry__subttl {
    font-size: calc(28 / 16 * 1rem);
  }
  .p-top-worry__ttl {
    margin-top: calc(50 / 16 * 1rem);
  }
  .p-top-worry__list {
    -ms-grid-columns: (1fr) [4];
    grid-template-columns: repeat(4, 1fr);
    margin-top: calc(100 / 16 * 1rem);
  }
}

/*----------------- awareness -----------------*/
.p-top-awareness {
  position: relative;
  isolation: isolate;
  color: #fff;
}
/* 白三角形 */
.p-top-awareness::before {
  content: "";
  display: block;
  height: calc(var(--space-sm) * 1px);
  background-color: #fff;
  -webkit-clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
  clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
}
/* 黒半透明オーバーレイ */
.p-top-awareness::after {
  content: "";
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  inset: 0;
  z-index: -1;
}
/* 背景画像 */
.p-top-awareness__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: -2;
}
.p-top-awareness__inner {
  padding-block: calc(50 / 16 * 1rem) calc(60 / 16 * 1rem);
}
.p-top-awareness__ttl {
  margin-block: calc(0.5em - 0.5lh); /* デザイン上は行間1なので余白で調整 */
  margin-right: 0;
  letter-spacing: 0;
}
.p-top-awareness__text {
  margin-top: calc(41 / 16 * 1rem);
  line-height: 1.8;
  font-size: calc(15 / 16 * 1rem);
  text-align: center;
}
.p-top-awareness__text_strong {
  margin-top: calc(7 / 16 * 1rem);
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  /* 白三角形 */
  .p-top-awareness::before {
    height: calc(61 / 16 * 1rem);
  }
  .p-top-awareness__inner {
    padding-block: calc(100 / 16 * 1rem) calc(95 / 16 * 1rem);
  }
  .p-top-awareness__text {
    font-size: calc(20 / 16 * 1rem);
  }
  .p-top-awareness__text_strong {
    font-size: calc(32 / 16 * 1rem);
  }
}

/*----------------- solution -----------------*/
.p-top-solution__head {
  background-color: #fff;
}
.p-top-solution__head_inner {
  padding-block: calc(40 / 16 * 1rem) calc(10 / 16 * 1rem);
}
.p-top-solution__body {
  background-color: #f6f6f6;
}
/* 白三角形 */
.p-top-solution__body::before {
  content: "";
  display: block;
  height: calc(var(--space-sm) * 1px);
  background-color: #fff;
  -webkit-clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
  clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
}
.p-top-solution__body_inner {
  padding-block: calc(30 / 16 * 1rem) calc(50 / 16 * 1rem);
}
.p-top-solution__lead01 {
  display: -ms-grid;
  display: grid;
  row-gap: calc(4 / 16 * 1rem);
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-solution__lead01_line {
  margin-right: -0.05em;
}
.p-top-solution__lead02 {
  margin-top: calc(6 / 16 * 1rem);
  margin-right: -0.05em;
  color: var(--color-accent);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-solution__lead02_marker {
  --marker-color: #f5dada;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.28em, transparent), color-stop(0.28em, var(--marker-color)), color-stop(0.65em, transparent)) no-repeat center bottom / calc(100% - 0.07em * 2) 50%;
  background: -o-linear-gradient(top, transparent 0.28em, var(--marker-color) 0.28em 0.65em, transparent 0.65em) no-repeat center bottom / calc(100% - 0.07em * 2) 50%;
  background: linear-gradient(to bottom, transparent 0.28em, var(--marker-color) 0.28em 0.65em, transparent 0.65em) no-repeat center bottom / calc(100% - 0.07em * 2) 50%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone; /* 一応 */
}
.p-top-solution__contents {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-solution__img {
}
.p-top-solution__text {
  line-height: 2;
  font-size: calc(15 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-solution__head_inner {
    padding-block: calc(100 / 16 * 1rem) calc(68 / 16 * 1rem);
  }
  /* 白三角形 */
  .p-top-solution__body::before {
    height: calc(61 / 16 * 1rem);
  }
  .p-top-solution__body_inner {
    padding-block: calc(61 / 16 * 1rem) calc(70 / 16 * 1rem);
  }
  .p-top-solution__lead01 {
    font-size: calc(30 / 16 * 1rem);
  }
  .p-top-solution__lead02 {
    margin-top: calc(6 / 16 * 1rem);
  }
  .p-top-solution__contents {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, -webkit-max-content);
    grid-auto-columns: minmax(0, max-content);
    -webkit-column-gap: calc(10 / 16 * 1rem);
    -moz-column-gap: calc(10 / 16 * 1rem);
    column-gap: calc(10 / 16 * 1rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(70 / 16 * 1rem);
  }
  .p-top-solution__text {
    width: calc(600 / 16 * 1rem);
    max-width: 100%;
    font-size: calc(20 / 16 * 1rem);
    text-align: center;
  }
}

/*----------------- case -----------------*/
.p-top-case {
}
.p-top-case::before {
  content: "";
  display: block;
  height: calc(var(--space-sm) * 1px);
  background-color: #f6f6f6;
  -webkit-clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
  clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
}
.p-top-case + .p-top-case::before {
  content: none;
}
.p-top-case__inner {
  padding-block: calc(60 / 16 * 1rem);
}
.p-top-case + .p-top-case .p-top-case__inner {
  padding-top: calc(20 / 16 * 1rem);
}
.p-top-case__visual {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1200 / 476;
  padding-block: calc(40 / 16 * 1rem);
  padding-inline: var(--padding-inline);
  position: relative;
  isolation: isolate;
}
.p-top-case__head {
  width: calc(900 / 16 * 1rem);
  max-width: 100%;
  margin-inline: auto;
  padding-block: calc(30 / 16 * 1rem);
  background-color: rgba(255, 255, 255, 0.9);
}
.p-top-case__ttl {
}
.p-top-case__ttl_num {
  display: block;
  color: var(--color-accent);
  font-weight: 700;
  text-align: center;
}
.p-top-case__ttl_main {
  display: block;
  margin-top: calc(6 / 16 * 1rem);
  margin-right: -0.05em;
  font-size: calc(17 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-case__visual_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: -1;
}
.p-top-case__voice {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(26 / 16 * 1rem);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-case__voice_profile {
}
.p-top-case__voice_profile_icon {
  display: block;
  width: calc(100 / 16 * 1rem);
  margin-inline: auto;
}
.p-top-case__voice_profile_caption {
  margin-block: calc((15 / 16 * 1rem) + (0.5em - 0.5lh)) calc(0.5em - 0.5lh);
  font-size: calc(12 / 16 * 1rem);
  text-align: center;
}
.p-top-case__voice_text {
  line-height: 1.8;
  font-size: calc(15 / 16 * 1rem);
}
.p-top-case__layout {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(52 / 16 * 1rem);
  margin-top: calc(50 / 16 * 1rem);
}
.p-top-case__point {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
}
.p-top-case__point_box {
  --border-width: 1px;
  border: var(--border-width) solid var(--color-accent);
  padding-block: calc(30 / 16 * 1rem - var(--border-width));
  padding-inline: calc(var(--padding-inline) - var(--border-width));
}
.p-top-case__point_ttl {
  color: var(--color-accent);
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
  text-align: center;
}
.p-top-case__point_list {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: 0.4em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-top: calc(10 / 16 * 1rem);
  margin-inline: auto;
}
.p-top-case__point_item {
  padding-left: 1em;
  line-height: 1.8;
  font-size: calc(15 / 16 * 1rem);
  text-indent: -1em;
}
.p-top-case__point_item > * {
  text-indent: 0;
}
.p-top-case__point_item::before {
  content: "・";
}
.p-top-case__point_img {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
}
.p-top-case__info {
  display: -ms-grid;
  display: grid;
  row-gap: calc(30 / 16 * 1rem);
}
.p-top-case__info_box {
  --border-width: 1px;
  border: var(--border-width) solid var(--color-accent);
  padding-block: calc(20 / 16 * 1rem - var(--border-width));
  padding-inline: calc(var(--padding-inline) - var(--border-width));
}
.p-top-case__info_list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(auto, auto) 1.4em minmax(0, auto);
  grid-template-columns: minmax(auto, auto) minmax(0, auto);
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  -webkit-column-gap: 1.4em;
  -moz-column-gap: 1.4em;
  column-gap: 1.4em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  line-height: 2;
  font-size: calc(14 / 16 * 1rem);
}
.p-top-case__info_term {
  color: var(--color-accent);
}
.p-top-case__info_desc {
}
.p-top-case__info_img {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-case::before {
    height: calc(61 / 16 * 1rem);
  }
  .p-top-case__inner {
    padding-block: calc(120 / 16 * 1rem);
  }
  .p-top-case + .p-top-case .p-top-case__inner {
    padding-top: calc(30 / 16 * 1rem);
  }
  .p-top-case__visual {
    padding-block: calc(100 / 16 * 1rem);
  }
  .p-top-case__head {
    padding-block: calc(33 / 16 * 1rem) calc(50 / 16 * 1rem);
  }
  .p-top-case__ttl_num {
    font-size: calc(20 / 16 * 1rem);
  }
  .p-top-case__ttl_main {
    margin-top: calc(15 / 16 * 1rem);
    font-size: calc(28 / 16 * 1rem);
  }
  .p-top-case__voice {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, -webkit-max-content);
    grid-auto-columns: minmax(0, max-content);
    -webkit-column-gap: calc(60 / 16 * 1rem);
    -moz-column-gap: calc(60 / 16 * 1rem);
    column-gap: calc(60 / 16 * 1rem);
    margin-top: calc(70 / 16 * 1rem);
  }
  .p-top-case__voice_profile_icon {
    width: calc(120 / 16 * 1rem);
  }
  .p-top-case__voice_profile_caption {
    font-size: calc(13 / 16 * 1rem);
  }
  .p-top-case__voice_text {
    width: calc(800 / 16 * 1rem);
    max-width: 100%;
    font-size: calc(16 / 16 * 1rem);
  }
  .p-top-case__layout {
    grid-auto-columns: minmax(0, -webkit-max-content);
    grid-auto-columns: minmax(0, max-content);
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: calc(52 / 16 * 1rem);
    -webkit-column-gap: var(--padding-inline);
    -moz-column-gap: var(--padding-inline);
    column-gap: var(--padding-inline);
    margin-top: calc(80 / 16 * 1rem);
  }
  .p-top-case__point {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-columns: subgrid;
    grid-template-columns: subgrid;
    place-items: center;
  }
  .p-top-case__point_box {
    max-width: calc(480 / 16 * 1rem);
    padding-block: calc(40 / 16 * 1rem - var(--border-width));
    padding-inline: calc(46 / 16 * 1rem - var(--border-width));
  }
  .p-top-case__point_ttl {
    font-size: calc(18 / 16 * 1rem);
  }
  .p-top-case__point_list {
    row-gap: calc(20 / 16 * 1rem);
    margin-top: calc(20 / 16 * 1rem);
  }
  .p-top-case__point_item {
    font-size: calc(16 / 16 * 1rem);
  }
  .p-top-case__point_img {
    -webkit-box-ordinal-group: revert;
    -webkit-order: revert;
    -ms-flex-order: revert;
    order: revert;
  }
  .p-top-case__info {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: subgrid;
    grid-template-columns: subgrid;
    place-items: center;
  }
  .p-top-case__info_box {
    padding-block: calc(35 / 16 * 1rem - var(--border-width));
    padding-inline: calc(40 / 16 * 1rem - var(--border-width));
  }
}

/*----------------- fact -----------------*/
.p-top-fact {
}
.p-top-fact__lead {
  padding-block: calc(40 / 16 * 1rem) calc(10 / 16 * 1rem);
}
.p-top-fact__lead_inner {
}
.p-top-fact__lead_text {
}
.p-top-fact__main {
  background-color: #f6f6f6;
}
.p-top-fact__main::before {
  content: "";
  display: block;
  height: calc(var(--space-sm) * 1px);
  background-color: #fff;
  -webkit-clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
  clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
}
.p-top-fact__main_inner {
  max-width: none;
  padding-block: calc(30 / 16 * 1rem) calc(30 / 16 * 1rem);
}
.p-top-fact__ttl {
  margin-right: -0.05em;
  font-size: calc(22 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-fact__ttl_marker {
  --marker-color: #f5dada;
  margin-inline: 5px;
  padding-inline: 5px calc(5px - 0.05em);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.28em, transparent), color-stop(0.28em, var(--marker-color)), color-stop(0.65em, transparent)) no-repeat center bottom / 100% 50%;
  background: -o-linear-gradient(top, transparent 0.28em, var(--marker-color) 0.28em 0.65em, transparent 0.65em) no-repeat center bottom / 100% 50%;
  background: linear-gradient(to bottom, transparent 0.28em, var(--marker-color) 0.28em 0.65em, transparent 0.65em) no-repeat center bottom / 100% 50%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone; /* 一応 */
  color: var(--color-accent);
}
.p-top-fact__contents {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
  margin-top: calc(40 / 16 * 1rem);
}
.p-top-fact__img {
}
.p-top-fact__text {
  line-height: 2;
  font-size: calc(15 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-fact__lead {
    padding-block: calc(73 / 16 * 1rem) calc(58 / 16 * 1rem);
  }
  .p-top-fact__main::before {
    height: calc(61 / 16 * 1rem);
  }
  .p-top-fact__main_inner {
    padding-block: calc(100 / 16 * 1rem) calc(75 / 16 * 1rem);
  }
  .p-top-fact__ttl {
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-fact__contents {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, -webkit-max-content);
    grid-auto-columns: minmax(0, max-content);
    -webkit-column-gap: calc(44 / 16 * 1rem);
    -moz-column-gap: calc(44 / 16 * 1rem);
    column-gap: calc(44 / 16 * 1rem);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(100 / 16 * 1rem);
  }
  .p-top-fact__img {
  }
  .p-top-fact__text {
    width: calc(600 / 16 * 1rem);
    max-width: 100%;
    font-size: calc(20 / 16 * 1rem);
    text-align: center;
  }
}

/*----------------- answer -----------------*/
.p-top-answer {
  background-color: #f6f6f6;
}
.p-top-answer__inner {
  padding-block: calc(30 / 16 * 1rem) calc(60 / 16 * 1rem);
}
.p-top-answer__ttl {
  margin-right: -0.05em;
  font-size: calc(22 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-answer__subttl {
  margin-right: -0.05em;
  margin-top: calc(24 / 16 * 1rem);
  font-size: calc(18 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-answer__cases {
  margin-top: calc(40 / 16 * 1rem);
}
.p-top-answer__case {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
}
.p-top-answer__case + .p-top-answer__case {
  margin-top: calc(50 / 16 * 1rem);
  border-top: 1px solid #d9d9d9;
  padding-top: calc(50 / 16 * 1rem);
}
.p-top-answer__case_contents {
}
.p-top-answer__case_ttl {
  margin-block: calc(0.5em - 0.5lh);
  color: var(--color-accent);
  font-weight: 700;
  font-size: calc(17 / 16 * 1rem);
}
.p-top-answer__case_text {
  margin-top: calc(17 / 16 * 1rem);
  font-size: calc(15 / 16 * 1rem);
}
.p-top-answer__case_box {
  margin-top: calc(25 / 16 * 1rem);
  --border-width: 1px;
  border: var(--border-width) solid var(--color-accent);
  padding-block: calc(26 / 16 * 1rem - var(--border-width));
  padding-inline: calc(var(--padding-inline) - var(--border-width));
}
.p-top-answer__case_list {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(8 / 16 * 1rem);
  margin-top: calc(18 / 16 * 1rem);
}
.p-top-answer__case_item {
  padding-left: 1em;
  font-size: calc(15 / 16 * 1rem);
  text-indent: -1em;
}
.p-top-answer__case_item > * {
  text-indent: 0;
}
.p-top-answer__case_item::before {
  content: "・";
}
.p-top-answer__case_img {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
  -ms-flex-order: -1;
  order: -1;
}
.p-top-answer__case_body {
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-answer__inner {
    padding-block: calc(75 / 16 * 1rem) calc(100 / 16 * 1rem);
  }
  .p-top-answer__ttl {
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-answer__subttl {
    margin-top: calc(30 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
  .p-top-answer__cases {
    margin-top: calc(100 / 16 * 1rem);
  }
  .p-top-answer__case {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, -webkit-max-content);
    grid-auto-columns: minmax(0, max-content);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: var(--padding-inline);
    -moz-column-gap: var(--padding-inline);
    column-gap: var(--padding-inline);
  }
  .p-top-answer__case + .p-top-answer__case {
    margin-top: calc(70 / 16 * 1rem);
    padding-top: calc(70 / 16 * 1rem);
  }
  .p-top-answer__case_contents {
    max-width: calc(600 / 16 * 1rem);
  }
  .p-top-answer__case_ttl {
    font-size: calc(18 / 16 * 1rem);
  }
  .p-top-answer__case_text {
    font-size: calc(16 / 16 * 1rem);
  }
  .p-top-answer__case_box {
    padding-inline: calc(26 / 16 * 1rem - var(--border-width));
  }
  .p-top-answer__case_list {
    row-gap: calc(12 / 16 * 1rem);
  }
  .p-top-answer__case_item {
    font-size: calc(16 / 16 * 1rem);
  }
}

/*----------------- compare -----------------*/
.p-top-compare {
}
.p-top-compare__inner {
  padding-inline: 0;
  padding-block: calc(60 / 16 * 1rem);
}
.p-top-compare__ttl {
  margin-right: -0.05em;
  padding-inline: var(--padding-inline);
  font-size: calc(22 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-compare__slider {
  margin-top: calc(40 / 16 * 1rem);

  --color-reliability: #558cc5;
  --color-flexibility: #df8383;
}
.p-top-compare__slider .splide__list {
  /* SP時、subgridで見出しの高さを揃えるためにgridにしました。 */
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto 1fr;
  grid-template-rows: auto 1fr;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
}
.p-top-compare__slider .splide__slide {
  -ms-grid-row-span: 2;
  grid-row: span 2;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  grid-auto-columns: 100%;
}
.p-top-compare__slider .splide__arrows {
  display: contents;
}
.p-top-compare__slider .splide__arrow {
  width: calc(23 / 16 * 1rem);
  height: auto;
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  aspect-ratio: 1;
  background-color: var(--color-font-base);
  margin-block: auto;
  position: absolute;
  inset-block: 0;
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
.p-top-compare__slider .splide__arrow:disabled {
  opacity: 0.1;
}
.p-top-compare__slider .splide__arrow:hover:not(:disabled) {
  opacity: 0.7;
}
.p-top-compare__slider .splide__arrow--prev {
  left: calc(6 / 16 * 1rem);
}
.p-top-compare__slider .splide__arrow--next {
  right: calc(6 / 16 * 1rem);
}
.p-top-compare__slider .splide__arrow::before {
  content: "";
  display: block;
  width: calc(10 / 16 * 1rem);
  aspect-ratio: 12.26 / 14.3;
  margin: auto;
  background-color: #fff;
  position: absolute;
  inset: 0;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
}
.p-top-compare__slider .splide__arrow--prev::before {
  scale: -1 1;
}
.p-top-compare__slider .splide__arrow svg {
  display: none;
}
.p-top-compare__item {
  -ms-grid-row-span: 2;
  grid-row: span 2;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  grid-auto-columns: 100%;
  /* grid-template-rows: auto 1fr; */
  height: 100%;
}
.p-top-compare__item_ttl {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-block: calc(15 / 16 * 1rem - (0.5lh - 0.5em)); /* デザイン上は行間が1なので余白で調整 */
  padding-inline: var(--padding-inline) calc(var(--padding-inline) - 0.05em);
  background-color: var(--color-accent);
  color: #fff;
  line-height: 1.4;
  font-size: calc(18 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
.p-top-compare__item_body {
  display: -ms-grid;
  display: grid;
  -webkit-align-content: space-evenly;
  -ms-flex-line-pack: space-evenly;
  align-content: space-evenly;
  grid-auto-columns: 100%;
  row-gap: calc(25 / 16 * 1rem);
  padding-block: calc(25 / 16 * 1rem);
  padding-inline: calc(35 / 16 * 1rem);
  background-color: #f6f6f6;
}
.p-top-compare__icons {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, auto);
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-column-gap: calc(15 / 16 * 1rem);
  -moz-column-gap: calc(15 / 16 * 1rem);
  column-gap: calc(15 / 16 * 1rem);
}
.p-top-compare__icons_item {
}
.p-top-compare__icon {
}
.p-top-compare__icon--builder {
  --icon-color: #3b699e;
}
.p-top-compare__icon--contractor {
  --icon-color: #d18e08;
}
.p-top-compare__icon--architect {
  --icon-color: #b05a5a;
}
.p-top-compare__icon_img {
  display: -ms-grid;
  display: grid;
  place-items: center;
  width: calc(65 / 16 * 1rem);
  max-width: 100%;
  aspect-ratio: 1;
  margin-inline: auto;
  border: 1px solid var(--icon-color);
  border-radius: 50%;
  background-color: #fff;
}
.p-top-compare__icon--in-figure-01 .p-top-compare__icon_img {
  width: calc(65 / 16 * 1rem);
}
.p-top-compare__icon--in-figure-02 .p-top-compare__icon_img {
  width: calc(65 / 16 * 1rem);
}
.p-top-compare__icon--in-table .p-top-compare__icon_img {
  width: calc(56 / 16 * 1rem);
}
.p-top-compare__icon_img img {
  width: calc(68 / (166 - 2 * 2) * 100%);
}
.p-top-compare__icon_caption {
  margin-top: calc(6 / 16 * 1rem);
  margin-inline: -1.2em -1.25em;
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-compare__icon--with-comment .p-top-compare__icon_caption {
  margin-top: calc(5 / 16 * 1rem);
  font-size: calc(13 / 16 * 1rem);
}
.p-top-compare__icon--in-figure-01 .p-top-compare__icon_caption {
  margin-top: calc(2 / 16 * 1rem);
  font-size: calc(13 / 16 * 1rem);
}
.p-top-compare__icon--in-figure-02 .p-top-compare__icon_caption {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 2lh;
  margin-top: calc(2 / 16 * 1rem);
  font-weight: 700;
  font-size: calc(13 / 16 * 1rem);
}
.p-top-compare__icon--in-table .p-top-compare__icon_caption {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: calc(5 / 16 * 1rem);
  min-height: 2lh;
  line-height: 1.2;
  font-size: calc(12 / 16 * 1rem);
}
.p-top-compare__bottom {
  margin-right: -0.05em;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-compare__comment-wrapper {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, auto);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: calc(18 / 16 * 1rem);
  -moz-column-gap: calc(18 / 16 * 1rem);
  column-gap: calc(18 / 16 * 1rem);
}
.p-top-compare__comment {
  width: calc(534 / 16 * 1rem);
  max-width: 100%;
  margin-right: -0.05em;
  font-weight: 700;
  font-size: calc(15 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-compare__text {
  max-width: calc(750 / 16 * 1rem + 0.05em);
  margin-inline: auto;
  line-height: 1.8;
  font-size: calc(14 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-compare__text_marker {
  --marker-color: #f5dada;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.1em, transparent), color-stop(0.1em, var(--marker-color)), color-stop(0.77em, transparent)) no-repeat center bottom / 100% 50%;
  background: -o-linear-gradient(top, transparent 0.1em, var(--marker-color) 0.1em 0.77em, transparent 0.77em) no-repeat center bottom / 100% 50%;
  background: linear-gradient(to bottom, transparent 0.1em, var(--marker-color) 0.1em 0.77em, transparent 0.77em) no-repeat center bottom / 100% 50%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone; /* 一応 */
}
.p-top-compare__figure-01 {
  display: block;
  width: 100%;
}
.p-top-compare__figure-01_head {
  display: block;
  padding-top: calc(10 / 16 * 1rem);
  position: relative;
  isolation: isolate;
}
.p-top-compare__figure-01_head::before,
.p-top-compare__figure-01_head::after {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50%;
  height: calc(30 / 16 * 1rem);
  position: absolute;
  top: 0;
  color: #fff;
  font-size: calc(18 / 16 * 1rem);
  letter-spacing: 0.05em;
  z-index: -1;
}
.p-top-compare__figure-01_head::before {
  content: "S";
  justify-items: start;
  padding-left: calc(10 / 16 * 1rem);
  background-color: var(--color-reliability);
  left: 0;
}
.p-top-compare__figure-01_head::after {
  content: "N";
  justify-items: end;
  padding-right: calc(10 / 16 * 1rem - 0.05em);
  background-color: var(--color-flexibility);
  right: 0;
}
.p-top-compare__figure-01_body {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  --row-gap: calc(15 / 16 * 1rem);
  row-gap: var(--row-gap);
  margin-top: calc(25 / 16 * 1rem);
  position: relative;
}
.p-top-compare__figure-01_row {
  pointer-events: none;
}
.p-top-compare__figure-01_row > * {
  pointer-events: auto;
}
.p-top-compare__figure-01_row--head {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-column-gap: calc(10 / 16 * 1rem);
  -moz-column-gap: calc(10 / 16 * 1rem);
  column-gap: calc(10 / 16 * 1rem);
}
.p-top-compare__figure-01_row--body {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: calc(6 / 16 * 1rem);
  -moz-column-gap: calc(6 / 16 * 1rem);
  column-gap: calc(6 / 16 * 1rem);
}
.p-top-compare__figure-01_cell {
}
.p-top-compare__figure-01_cell--icon {
}
.p-top-compare__figure-01_cell--catch {
  margin-top: 0.85em;
  margin-right: -0.05em;
  font-weight: 700;
  font-size: calc(18 / 16 * 1rem);
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: center;
}
.p-top-compare__figure-01_cell--term {
  width: calc(60 / 16 * 1rem);
  margin-inline: calc(10 / 16 * 1rem);
  padding-block: calc(4 / 16 * 1rem - (0.5lh - 0.5em)) calc(5 / 16 * 1rem - (0.5lh - 0.5em));
  padding-left: 0.05em;
  background-color: #8a8a8a;
  position: relative;
  color: #fff;
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.05em;
  isolation: isolate;
  text-align: center;
}
.p-top-compare__figure-01_cell--ls-n5 {
  padding-left: 0;
  padding-right: 0.05em;
  letter-spacing: -0.05em;
}
.p-top-compare__figure-01_cell--term::before {
  content: "";
  display: block;
  height: 2px;
  border-radius: 1px;
  background-color: inherit;
  margin: auto;
  position: absolute;
  inset: 0 calc(-10 / 16 * 1rem);
  z-index: -1;
}
.p-top-compare__figure-01_cell--desc {
  margin-block: calc(0.5em - 0.5lh);
  font-size: calc(15 / 16 * 1rem);
  white-space: nowrap;
}
.p-top-compare__figure-01_label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: calc(10 / 16 * 1rem);
  margin-inline: auto;
  padding-block: calc(6 / 16 * 1rem - (0.5lh - 0.5em));
  padding-inline: calc(10 / 16 * 1rem) calc(10 / 16 * 1rem - 0.05em);
  color: #fff;
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.05em;
  text-align: center;
}
.p-top-compare__figure-01_label--reliability {
  background-color: var(--color-reliability);
}
.p-top-compare__figure-01_label--flexibility {
  background-color: var(--color-flexibility);
}
.p-top-compare__figure-02 {
  display: block;
  width: 100%;
  max-width: calc(876 / 16 * 1rem);
  margin-inline: auto;
}
.p-top-compare__figure-02_head {
  display: block;
  padding-top: calc(20 / 16 * 1rem);
  position: relative;
  isolation: isolate;
}
.p-top-compare__figure-02_head::before,
.p-top-compare__figure-02_head::after {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50%;
  height: calc(30 / 16 * 1rem);
  position: absolute;
  top: 0;
  color: #fff;
  font-size: calc(18 / 16 * 1rem);
  letter-spacing: 0.05em;
  z-index: -1;
}
.p-top-compare__figure-02_head::before {
  content: "S";
  justify-items: start;
  padding-left: calc(10 / 16 * 1rem);
  background-image: -webkit-gradient(linear, left top, right top, from(var(--color-reliability)), color-stop(200%, var(--color-flexibility)));
  background-image: -o-linear-gradient(left, var(--color-reliability), var(--color-flexibility) 200%);
  background-image: linear-gradient(to right, var(--color-reliability), var(--color-flexibility) 200%);
  left: 0;
}
.p-top-compare__figure-02_head::after {
  content: "N";
  justify-items: end;
  padding-right: calc(10 / 16 * 1rem - 0.05em);
  background-image: -webkit-gradient(linear, right top, left top, from(var(--color-flexibility)), color-stop(200%, var(--color-reliability)));
  background-image: -o-linear-gradient(right, var(--color-flexibility), var(--color-reliability) 200%);
  background-image: linear-gradient(to left, var(--color-flexibility), var(--color-reliability) 200%);
  right: 0;
}
.p-top-compare__figure-02_body {
  display: block;
  margin-top: calc(10 / 16 * 1rem);
}
.p-top-compare__figure-02_row {
}
.p-top-compare__figure-02_row--head {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-column-gap: calc(10 / 16 * 1rem);
  -moz-column-gap: calc(10 / 16 * 1rem);
  column-gap: calc(10 / 16 * 1rem);
}
.p-top-compare__figure-02_row--body {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: calc(16 / 16 * 1rem);
  -moz-column-gap: calc(16 / 16 * 1rem);
  column-gap: calc(16 / 16 * 1rem);
}
.p-top-compare__figure-02_cell {
}
.p-top-compare__figure-02_cell--icon {
}
.p-top-compare__figure-02_label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-block: calc(6 / 16 * 1rem - (0.5lh - 0.5em));
  padding-inline: calc(10 / 16 * 1rem) calc(10 / 16 * 1rem - 0.05em);
  color: #fff;
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: center;
}
.p-top-compare__figure-02_label--reliability {
  background-color: var(--color-reliability);
}
.p-top-compare__figure-02_label--flexibility {
  background-color: var(--color-flexibility);
}
.p-top-compare__figure-02_arrow {
  width: calc(100 / 16 * 1rem);
  height: 2px;
  background-color: #8a8a8a;
  padding-inline: calc(5 / 16 * 1rem);
  background-clip: content-box;
  position: relative;
}
.p-top-compare__figure-02_arrow::before,
.p-top-compare__figure-02_arrow::after {
  content: "";
  display: block;
  width: calc(13 / 16 * 1rem);
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  aspect-ratio: 17 / 20;
  margin-block: auto;
  background-color: inherit;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 25% 50%);
  position: absolute;
  inset-block: 0;
}
.p-top-compare__figure-02_arrow::before {
  scale: -1 1;
  left: 0;
}
.p-top-compare__figure-02_arrow::after {
  right: 0;
}
.p-top-compare__table {
  width: 100%;
  table-layout: fixed;
}
.p-top-compare__table_head {
}
.p-top-compare__table_row {
}
.p-top-compare__table_cell {
  padding-block: calc(6 / 16 * 1rem);
  border: 1px solid #8a8a8a;
  background-color: #fff;
  vertical-align: middle;
  text-align: center;
}
.p-top-compare__table_cell:empty {
  border: none;
  background-color: transparent;
}
.p-top-compare__table_cell--term {
  padding-left: 0.05em;
  font-weight: 700;
  font-size: calc(12 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-compare__table_head .p-top-compare__table_cell--term {
  padding-block: calc(9 / 16 * 1rem) calc(8 / 16 * 1rem);
}
.p-top-compare__table_cell--desc {
}
.p-top-compare__table_cell_text {
  display: -ms-inline-grid;
  display: inline-grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 2lh;
  line-height: 1.2;
}
.p-top-compare__table_body {
}
.p-top-compare__mark-cross,
.p-top-compare__mark-circle,
.p-top-compare__mark-doublecircle,
.p-top-compare__mark-triangle {
  display: inline-block;
  width: calc(18 / 16 * 1rem);
  --border-width: 2px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: middle;
}
.p-top-compare__mark-cross {
  aspect-ratio: 1;
  position: relative;
  rotate: 45deg;
}
.p-top-compare__mark-cross::before,
.p-top-compare__mark-cross::after {
  content: "";
  display: block;
  width: 100%;
  height: var(--border-width);
  margin: auto;
  background-color: currentColor;
  position: absolute;
  inset: 0;
}
.p-top-compare__mark-cross::after {
  rotate: 90deg;
}
.p-top-compare__mark-circle {
  aspect-ratio: 1;
  border: var(--border-width) solid;
  border-radius: 50%;
}
.p-top-compare__mark-doublecircle {
  aspect-ratio: 1;
  border: var(--border-width) solid;
  border-radius: 50%;
  position: relative;
}
.p-top-compare__mark-doublecircle::before {
  content: "";
  display: block;
  /* width: calc(18 / (38 - 4 * 2) * 100%); */
  aspect-ratio: 1;
  margin: auto;
  border: inherit;
  border-radius: 50%;
  position: absolute;
  inset: calc(2 / 16 * 1rem);
}
.p-top-compare__mark-triangle {
  aspect-ratio: 38 / 33;
  background-color: currentColor;
  position: relative;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
.p-top-compare__mark-triangle::before {
  content: "";
  display: block;
  aspect-ratio: 38 / 33;
  height: calc(100% - var(--border-width) * 3);
  margin-inline: auto;
  position: absolute;
  top: calc(var(--border-width) * 2);
  inset-inline: 0;
  bottom: var(--border-width);
  background-color: #fff;
  -webkit-clip-path: inherit;
  clip-path: inherit;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-compare__inner {
    padding-inline: var(--padding-inline);
    padding-block: calc(150 / 16 * 1rem);
  }
  .p-top-compare__ttl {
    padding-inline: 0;
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-compare__slider {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    -ms-grid-columns: auto calc(30 / 16 * 1rem) minmax(0, calc(1000 / 16 * 1rem)) calc(30 / 16 * 1rem) auto;
    grid-template: "prev track next" / auto minmax(0, calc(1000 / 16 * 1rem)) auto;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: calc(30 / 16 * 1rem);
    -moz-column-gap: calc(30 / 16 * 1rem);
    column-gap: calc(30 / 16 * 1rem);
    margin-top: calc(70 / 16 * 1rem);
  }
  .p-top-compare__slider .splide__arrow {
    width: calc(46 / 16 * 1rem);
    position: relative;
    inset: auto;
  }
  .p-top-compare__slider .splide__arrow--prev {
    grid-area: prev;
  }
  .p-top-compare__slider .splide__arrow--next {
    grid-area: next;
  }
  .p-top-compare__slider .splide__arrow::before {
    width: calc(12.26 / 16 * 1rem);
  }
  .p-top-compare__slider .splide__track {
    grid-area: track;
  }
  .p-top-compare__item_ttl {
    padding-block: calc(42 / 16 * 1rem - (0.5lh - 0.5em)); /* デザイン上は行間が1なので余白で調整 */
    line-height: 1.6;
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-compare__item_body {
    padding-inline: var(--padding-inline);
  }
  .p-top-compare__icons {
    -webkit-column-gap: var(--padding-inline);
    -moz-column-gap: var(--padding-inline);
    column-gap: var(--padding-inline);
  }
  .p-top-compare__icon_img {
    width: calc(166 / 16 * 1rem);
    border-width: 5px;
  }
  .p-top-compare__icon--in-figure-01 .p-top-compare__icon_img {
    width: calc(166 / 16 * 1rem);
  }
  .p-top-compare__icon--in-figure-02 .p-top-compare__icon_img {
    width: calc(150 / 16 * 1rem);
  }
  .p-top-compare__icon--in-table .p-top-compare__icon_img {
    width: calc(80 / 16 * 1rem);
  }
  .p-top-compare__icon_caption {
    margin-inline: 0 -0.05em;
    margin-top: calc(20 / 16 * 1rem);
    font-size: calc(24 / 16 * 1rem);
  }
  .p-top-compare__icon--with-comment .p-top-compare__icon_caption {
    margin-top: calc(10 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
  }
  .p-top-compare__icon--in-figure-01 .p-top-compare__icon_caption {
    margin-top: calc(10 / 16 * 1rem);
    font-size: calc(15 / 16 * 1rem);
  }
  .p-top-compare__icon--in-figure-02 .p-top-compare__icon_caption {
    min-height: auto;
    margin-top: calc(8 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
  .p-top-compare__icon--in-table .p-top-compare__icon_caption {
    min-height: auto;
    margin-top: calc(8 / 16 * 1rem);
    font-size: 1em;
  }
  .p-top-compare__bottom {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-top-compare__comment-wrapper {
    -webkit-column-gap: calc(50 / 16 * 1rem);
    -moz-column-gap: calc(50 / 16 * 1rem);
    column-gap: calc(50 / 16 * 1rem);
  }
  .p-top-compare__comment {
    font-size: calc(24 / 16 * 1rem);
  }
  .p-top-compare__text {
    font-size: calc(18 / 16 * 1rem);
  }
  .p-top-compare__figure-01 {
    max-width: calc(876 / 16 * 1rem);
    margin-inline: auto;
  }
  .p-top-compare__figure-01_head {
    padding-top: 0;
  }
  .p-top-compare__figure-01_head::before,
  .p-top-compare__figure-01_head::after {
    height: calc(60 / 16 * 1rem);
    top: calc(18 / 16 * 1rem);
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-compare__figure-01_head::before {
    padding-left: calc(15 / 16 * 1rem);
  }
  .p-top-compare__figure-01_head::after {
    padding-right: calc(15 / 16 * 1rem - 0.05em);
  }
  .p-top-compare__figure-01_body {
    --row-gap: calc(15 / 16 * 1rem);
    margin-top: 0;
  }
  .p-top-compare__figure-01_row--head {
    -webkit-column-gap: calc(20 / 16 * 1rem);
    -moz-column-gap: calc(20 / 16 * 1rem);
    column-gap: calc(20 / 16 * 1rem);
  }
  .p-top-compare__figure-01_row--body {
    -webkit-column-gap: calc(10 / 16 * 1rem);
    -moz-column-gap: calc(10 / 16 * 1rem);
    column-gap: calc(10 / 16 * 1rem);
  }
  .p-top-compare__figure-01_row--body:first-child {
    margin-bottom: var(--row-gap);
    position: absolute;
    inset-inline: 0;
    bottom: 100%;
  }
  .p-top-compare__figure-01_cell--catch {
    margin-top: 0.85em;
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-compare__figure-01_cell--term {
    width: calc(90 / 16 * 1rem);
    margin-inline: calc(30 / 16 * 1rem);
    padding-block: calc(6 / 16 * 1rem - (0.5lh - 0.5em));
    font-size: calc(20 / 16 * 1rem);
  }
  .p-top-compare__figure-01_cell--term::before {
    inset: 0 calc(-30 / 16 * 1rem);
  }
  .p-top-compare__figure-01_cell--desc {
    margin-right: -0.05em;
    font-size: calc(20 / 16 * 1rem);
    letter-spacing: 0.05em;
  }
  .p-top-compare__figure-01_label {
    margin-top: calc(20 / 16 * 1rem);
    padding-block: calc(9 / 16 * 1rem - (0.5lh - 0.5em));
    padding-inline: calc(18 / 16 * 1rem) calc(18 / 16 * 1rem - 0.05em);
    font-size: calc(32 / 16 * 1rem);
  }
  .p-top-compare__figure-02 {
    display: block;
    width: 100%;
    max-width: calc(876 / 16 * 1rem);
    margin-inline: auto;
  }
  .p-top-compare__figure-02_head {
    display: block;
    padding-top: calc(20 / 16 * 1rem);
    position: relative;
    isolation: isolate;
  }
  .p-top-compare__figure-02_head::before,
  .p-top-compare__figure-02_head::after {
    height: calc(60 / 16 * 1rem);
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-compare__figure-02_head::before {
    padding-left: calc(15 / 16 * 1rem);
  }
  .p-top-compare__figure-02_head::after {
    padding-right: calc(15 / 16 * 1rem - 0.05em);
  }
  .p-top-compare__figure-02_body {
    margin-top: calc(20 / 16 * 1rem);
  }
  .p-top-compare__figure-02_row {
  }
  .p-top-compare__figure-02_row--head {
    -webkit-column-gap: calc(48 / 16 * 1rem);
    -moz-column-gap: calc(48 / 16 * 1rem);
    column-gap: calc(48 / 16 * 1rem);
  }
  .p-top-compare__figure-02_row--body {
    -webkit-column-gap: calc(24 / 16 * 1rem);
    -moz-column-gap: calc(24 / 16 * 1rem);
    column-gap: calc(24 / 16 * 1rem);
  }
  .p-top-compare__figure-02_label {
    padding-block: calc(9 / 16 * 1rem - (0.5lh - 0.5em));
    padding-inline: calc(18 / 16 * 1rem) calc(18 / 16 * 1rem - 0.05em);
    font-size: calc(32 / 16 * 1rem);
  }
  .p-top-compare__figure-02_arrow {
    width: calc(395 / 16 * 1rem);
    height: 3px;
    padding-inline: calc(10 / 16 * 1rem);
  }
  .p-top-compare__figure-02_arrow::before,
  .p-top-compare__figure-02_arrow::after {
    width: calc(17 / 16 * 1rem);
  }
  .p-top-compare__figure-02_arrow::before {
    scale: -1 1;
    left: 0;
  }
  .p-top-compare__figure-02_arrow::after {
    right: 0;
  }
  .p-top-compare__table {
    max-width: calc(876 / 16 * 1rem);
    margin-inline: auto;
  }
  .p-top-compare__table_cell {
    padding-block: calc(12.5 / 16 * 1rem);
  }
  .p-top-compare__table_cell--term {
    font-size: calc(18 / 16 * 1rem);
  }
  .p-top-compare__table_head .p-top-compare__table_cell--term {
    padding-block: calc(10.5 / 16 * 1rem) calc(9 / 16 * 1rem);
  }
  .p-top-compare__table_cell_text {
    min-height: 2lh;
  }
  .p-top-compare__mark-cross,
  .p-top-compare__mark-circle,
  .p-top-compare__mark-doublecircle,
  .p-top-compare__mark-triangle {
    width: calc(38 / 16 * 1rem);
    --border-width: 4px;
  }
  .p-top-compare__mark-doublecircle::before {
    inset: calc(6 / 16 * 1rem);
  }
}
@media screen and (min-width: 768px) {
  .p-top-compare__slider .splide__arrow--prev {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-top-compare__slider .splide__arrow--next {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .p-top-compare__slider .splide__track {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

/*----------------- faq -----------------*/
.p-top-faq {
}
.p-top-faq__inner {
  padding-block: calc(50 / 16 * 1rem) calc(60 / 16 * 1rem);
}
.p-top-faq__ttl {
}
.p-top-faq__list {
  counter-reset: top-faq-counter;
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-faq__question {
}
.p-top-faq__question:nth-child(n + 2) {
  margin-top: calc(24 / 16 * 1rem);
}
.p-top-faq__question_btn,
.p-top-faq__answer {
  display: -ms-grid;
  display: grid;
  -webkit-column-gap: calc(20 / 16 * 1rem);
  -moz-column-gap: calc(20 / 16 * 1rem);
  column-gap: calc(20 / 16 * 1rem);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-inline: calc(20 / 16 * 1rem);
}
.p-top-faq__question_btn {
  counter-increment: top-faq-counter;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
  width: 100%;
  background-color: #f4f4f4;
  color: inherit;
  text-align: inherit;
}
.p-top-faq__answer {
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
  background-color: #fafafa;
}
.p-top-faq__question_btn::before,
.p-top-faq__answer::before {
  display: block;
  width: 1.4em;
  margin-block: -0.5lh;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: calc(20 / 16 * 1rem);
  white-space: nowrap;
}
.p-top-faq__question_btn::before {
  content: "Q" counter(top-faq-counter);
}
.p-top-faq__answer::before {
  content: "A" counter(top-faq-counter);
  color: var(--color-accent);
}
.p-top-faq__question_text,
.p-top-faq__answer_text {
  padding-block: calc(20 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
}
.p-top-faq__question_icon {
  display: block;
  width: calc(24 / 16 * 1rem);
  aspect-ratio: 1 / 1;
  border: 1px solid #f4f4f4;
  border-radius: 50%;
  background-color: var(--color-accent);
  position: relative;
}
.p-top-faq__question_icon::before,
.p-top-faq__question_icon::after {
  content: "";
  display: block;
  width: calc(14 / (28 - 1 * 2) * 100%);
  height: 2px;
  margin: auto;
  background-color: #fff;
  position: absolute;
  inset: 0;
}
.p-top-faq__question_icon::after {
  rotate: 90deg;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.p-top-faq__question.js-hidden .p-top-faq__question_icon::after {
  opacity: 1;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-faq__inner {
    padding-block: calc(150 / 16 * 1rem);
  }
  .p-top-faq__list {
    max-width: calc(var(--l-inner-s) * 1px);
    margin-top: calc(70 / 16 * 1rem);
    margin-inline: auto;
  }
  .p-top-faq__question:nth-child(n + 2) {
    margin-top: calc(50 / 16 * 1rem);
  }
  .p-top-faq__question_btn,
  .p-top-faq__answer {
    -webkit-column-gap: calc(27 / 16 * 1rem);
    -moz-column-gap: calc(27 / 16 * 1rem);
    column-gap: calc(27 / 16 * 1rem);
    padding-inline: calc(25 / 16 * 1rem);
  }
  .p-top-faq__answer {
    -ms-grid-columns: auto 1fr calc(20 / 16 * 1rem);
    grid-template-columns: auto 1fr calc(20 / 16 * 1rem);
  }
  .p-top-faq__question_btn::before,
  .p-top-faq__answer::before {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-top-faq__question_text,
  .p-top-faq__answer_text {
    padding-block: calc(25 / 16 * 1rem);
    font-size: calc(16 / 16 * 1rem);
  }
  .p-top-faq__question_icon {
    width: calc(28 / 16 * 1rem);
  }
}

/*----------------- advice -----------------*/
.p-top-advice {
  background-color: #f6f6f6;
}
.p-top-advice__inner {
  padding-block: calc(60 / 16 * 1rem) calc(50 / 16 * 1rem);
}
.p-top-advice__ttl {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: calc(10 / 16 * 1rem);
  -moz-column-gap: calc(10 / 16 * 1rem);
  column-gap: calc(10 / 16 * 1rem);
  margin-block: calc(0.5em - 0.5lh);
  color: var(--color-accent);
}
.p-top-advice__ttl::before,
.p-top-advice__ttl::after {
  content: "";
  display: block;
  width: calc(47 / 42 * 1em);
  aspect-ratio: 47 / 50;
  margin-top: 0.2em;
  background-color: currentColor;
  -webkit-mask: url("../img/top/advice-icon-splash.svg") no-repeat center center / contain;
  mask: url("../img/top/advice-icon-splash.svg") no-repeat center center / contain;
}
.p-top-advice__ttl::after {
  scale: -1 1;
}
.p-top-advice__contents {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
}
.p-top-advice__lead {
  margin-block: calc(0.5em - 0.5lh);
  margin-right: -0.05em;
  font-size: calc(17 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-advice__lead_strong {
  margin-left: 0.05em;
  font-size: calc(26 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-top-advice__text {
  margin-top: calc(20 / 16 * 1rem);
  margin-right: -0.05em;
  font-size: calc(15 / 16 * 1rem);
  letter-spacing: 0.05em;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-top-advice__inner {
    padding-block: calc(120 / 16 * 1rem) calc(88.63 / 16 * 1rem);
  }
  .p-top-advice__ttl {
    -webkit-column-gap: calc(23 / 16 * 1rem);
    -moz-column-gap: calc(23 / 16 * 1rem);
    column-gap: calc(23 / 16 * 1rem);
  }
  .p-top-advice__ttl::after {
    position: relative;
    right: 0.7em;
  }
  .p-top-advice__contents {
    -ms-grid-rows: auto;
    -ms-grid-columns: minmax(0, calc(450 / 16 * 1rem)) var(--padding-inline) minmax(0, calc(450 / 16 * 1rem));
    grid-template: "img body" / minmax(0, calc(450 / 16 * 1rem)) minmax(0, calc(450 / 16 * 1rem));
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: var(--padding-inline);
    -moz-column-gap: var(--padding-inline);
    column-gap: var(--padding-inline);
    max-width: calc(960 / 16 * 1rem);
    margin-top: calc(76.37 / 16 * 1rem);
    margin-inline: auto;
  }
  .p-top-advice__img {
    grid-area: img;
  }
  .p-top-advice__body {
    grid-area: body;
  }
  .p-top-advice__lead {
    font-size: calc(36 / 16 * 1rem);
  }
  .p-top-advice__lead_strong {
    font-size: calc(64 / 16 * 1rem);
  }
  .p-top-advice__text {
    margin-top: calc(40 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
  }
}

/*----------------- consult -----------------*/
.c-consult {
  background-color: var(--color-accent);
  color: #fff;
}
.c-consult::before {
  content: "";
  display: block;
  height: calc(var(--space-sm) * 1px);
  background-color: #f6f6f6;
  -webkit-clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
  clip-path: polygon(0% -0.5px, 100% -0.5px, 50% 100%);
}
.c-consult__inner {
  padding-block: calc(60 / 16 * 1rem);
}
.c-consult__ttl {
}
.c-consult__contents {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 100%;
  row-gap: calc(30 / 16 * 1rem);
  margin-top: calc(30 / 16 * 1rem);
}
.c-consult__imgs {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -webkit-column-gap: calc(20 / 16 * 1rem);
  -moz-column-gap: calc(20 / 16 * 1rem);
  column-gap: calc(20 / 16 * 1rem);
}
.c-consult__img {
}
.c-consult__img:nth-child(odd) {
  margin-top: calc(20 / 16 * 1rem);
}
.c-consult__body {
}
.c-consult__text {
  line-height: 2;
  font-size: calc(15 / 16 * 1rem);
}
.c-consult__btn-area {
  margin-top: calc(40 / 16 * 1rem);
}
.c-consult__btn {
}
/* PC */
@media screen and (min-width: 768px) {
  .c-consult::before {
    height: calc(61 / 16 * 1rem);
  }
  .c-consult__inner {
    padding-block: calc(120 / 16 * 1rem);
  }
  .c-consult__contents {
    -ms-grid-rows: auto;
    -ms-grid-columns: minmax(0, calc(475 / 16 * 1rem)) var(--padding-inline) minmax(0, calc(650 / 16 * 1rem));
    grid-template: "imgs body" / minmax(0, calc(475 / 16 * 1rem)) minmax(0, calc(650 / 16 * 1rem));
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: var(--padding-inline);
    -moz-column-gap: var(--padding-inline);
    column-gap: var(--padding-inline);
    margin-top: calc(70 / 16 * 1rem);
  }
  .c-consult__imgs {
    grid-area: imgs;
    -webkit-column-gap: calc(20 / 16 * 1rem);
    -moz-column-gap: calc(20 / 16 * 1rem);
    column-gap: calc(20 / 16 * 1rem);
  }
  .c-consult__img {
  }
  .c-consult__img:nth-child(odd) {
    margin-top: calc(40 / 16 * 1rem);
  }
  .c-consult__body {
    grid-area: body;
  }
  .c-consult__text {
    font-size: calc(18 / 16 * 1rem);
  }
  .c-consult__btn-area {
    margin-top: calc(70 / 16 * 1rem);
  }
  .c-consult__btn {
  }
  .c-consult__contents > .p-top-advice__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 768px) {
  .p-top-advice__img {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-top-advice__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-consult__imgs {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-consult__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-consult__contents > .c-consult__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

/*------------------------------------------
 *  404ページ
 *------------------------------------------*/
.p-sub-404 {
  padding-block: calc(30 / 16 * 1rem) calc(60 / 16 * 1rem);
}
.p-sub-404__ttl {
  font-size: calc(24 / 16 * 1rem);
}
.p-sub-404__txt {
  margin-top: calc(20 / 16 * 1rem);
}
.p-sub-404__btn {
  margin-top: calc(40 / 16 * 1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-404 {
    padding-block: calc(50 / 16 * 1rem) calc(80 / 16 * 1rem);
  }
  .p-sub-404__ttl {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-sub-404__txt {
    margin-top: calc(30 / 16 * 1rem);
  }
  .p-sub-404__btn {
    margin-top: calc(80 / 16 * 1rem);
  }
}

/*=================================================
 *  JavaScript用
 *================================================*/
/* 要素をふわっと表示 */
.js-fade-up-item {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.5s ease-in-out;
}
.js-fade-up-item.fade-up {
  opacity: 1;
  transform: translateY(0);
}