@charset "utf-8";
/* CSS Document */
/***************リセット***************/
/*! kiso.css v1.2.3 | MIT License | https://github.com/tak-dcxi/kiso.css */
*,
::after,
::before {
  box-sizing: border-box;
}
:where(:root) {
  font-family: sans-serif;
  line-height: 1.5;
  text-spacing-trim: trim-start;
  text-autospace: normal;
  line-break: strict;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-tap-highlight-color: transparent;
}
:where(body) {
  min-block-size: 100dvb;
  margin: unset;
}
:where(:is(h1, h2, h3, h4, h5, h6):lang(en)) {
  text-wrap: pretty;
}
:where(h1) {
  margin-block: 0.67em;
  font-size: 2em;
}
:where(h2, h3, h4, h5, h6) {
  margin-block: unset;
}
:where(search) {
  display: block flow;
}
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  margin-block: unset;
}
:where(blockquote, figure) {
  margin-inline: unset;
}
:where(p:lang(en)) {
  text-wrap: pretty;
}
:where(address:lang(ja)) {
  font-style: unset;
}
:where(ul, ol, menu) {
  -webkit-padding-start: unset;
  padding-inline-start: unset;
  list-style-type: "";
}
:where(dt) {
  font-weight: bolder;
}
:where(dd) {
  -webkit-margin-start: unset;
  margin-inline-start: unset;
}
:where(pre) {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}
:where(em:lang(ja)) {
  font-weight: bolder;
}
:where(:is(i, cite, em, dfn, var):lang(ja)) {
  font-style: unset;
}
:where(:is(u, s, del, ins)) {
  text-decoration-inset: auto;
}
:where(code, kbd, samp) {
  font-family:
    ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  font-feature-settings: initial;
  font-variation-settings: initial;
  font-size: unset;
  font-variant-ligatures: none;
}
:where(abbr[title]) {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
  -webkit-text-decoration-style: dotted;
  text-decoration-style: dotted;
  text-decoration-inset: auto;
  cursor: help;
}
:where(time) {
  text-autospace: no-autospace;
}
@media (forced-colors: active) {
  :where(mark) {
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    border-width: 1px;
    border-style: dotted;
  }
}
:where(a:-webkit-any-link) {
  color: unset;
  -webkit-text-decoration-line: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
  text-decoration-inset: auto;
}
:where(a:-moz-any-link) {
  color: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
  text-decoration-inset: auto;
}
:where(a:any-link) {
  color: unset;
  -webkit-text-decoration-line: unset;
  text-decoration-line: unset;
  text-decoration-thickness: from-font;
  text-decoration-inset: auto;
}
:where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
  block-size: auto;
  max-inline-size: 100%;
  vertical-align: bottom;
}
:where(iframe) {
  border: unset;
}
:where(table) {
  border-collapse: collapse;
}
:where(caption, th) {
  text-align: unset;
}
:where(caption) {
  text-wrap: pretty;
}
::-webkit-file-upload-button {
  border-width: 1px;
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}
::file-selector-button,
:where(button, input, select, textarea) {
  border-width: 1px;
  border-style: solid;
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}
:where(input:is([type="radio" i], [type="checkbox" i])) {
  margin: unset;
}
:where(input[type="file" i]) {
  border: unset;
}
:where(input[type="search" i]) {
  -webkit-appearance: textfield;
}
@supports (-webkit-touch-callout: none) {
  :where(input[type="search" i]) {
    background-color: Canvas;
  }
}
:where(
  input:is(
      [type="tel" i],
      [type="url" i],
      [type="email" i],
      [type="number" i]
    ):not(:-moz-placeholder-shown)
) {
  direction: ltr;
}
:where(
  input:is(
      [type="tel" i],
      [type="url" i],
      [type="email" i],
      [type="number" i]
    ):not(:placeholder-shown)
) {
  direction: ltr;
}
:where(textarea) {
  margin-block: unset;
  resize: block;
}
:where(
  input:not([type="button" i], [type="submit" i], [type="reset" i]),
  textarea,
  [contenteditable]
) {
  text-autospace: no-autospace;
}
::-webkit-file-upload-button {
  background-color: unset;
}
::file-selector-button,
:where(
  button,
  input:is([type="button" i], [type="submit" i], [type="reset" i])
) {
  background-color: unset;
}
::-webkit-file-upload-button {
  touch-action: manipulation;
}
::file-selector-button,
:where(
  button,
  input:is([type="button" i], [type="submit" i], [type="reset" i]),
  [role="tab" i],
  [role="button" i],
  [role="option" i]
) {
  touch-action: manipulation;
}
:where(:enabled)::-webkit-file-upload-button {
  cursor: pointer;
}
:where(:enabled)::file-selector-button,
:where(
  button:enabled,
  label[for],
  select:enabled,
  input:is(
      [type="button" i],
      [type="submit" i],
      [type="reset" i],
      [type="radio" i],
      [type="checkbox" i]
    ):enabled,
  [role="tab" i],
  [role="button" i],
  [role="option" i]
) {
  cursor: pointer;
}
:where(fieldset) {
  min-inline-size: 0;
  margin-inline: unset;
  padding: unset;
  border: unset;
}
:where(legend) {
  padding-inline: unset;
}
:where(progress) {
  vertical-align: unset;
}
::-moz-placeholder {
  opacity: unset;
}
::placeholder {
  opacity: unset;
}
:where(summary) {
  list-style-type: "";
  cursor: pointer;
}
:where(summary)::-webkit-details-marker {
  display: none;
}
:where(dialog, [popover]) {
  overscroll-behavior-block: contain;
  padding: unset;
  border: unset;
}
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}
:where(dialog) {
  max-inline-size: unset;
  max-block-size: unset;
}
:where(dialog)::-webkit-backdrop {
  background-color: oklch(0 0 0deg/30%);
}
:where(dialog)::backdrop {
  background-color: oklch(0 0 0deg/30%);
}
:where([popover]) {
  margin: unset;
}
:where(:focus-visible) {
  outline-offset: 3px;
}
[tabindex="-1"]:focus {
  outline: 0 !important;
}
:where(:disabled, [aria-disabled="true" i]) {
  cursor: default;
}
[hidden]:not([hidden="until-found" i]) {
  display: none !important;
}
/***************／リセット***************/

/***************基本***************/
html {
  font-family:
    "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic,
    "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",
    "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Roboto, Arial, sans-serif;
  font-size: calc(20 * 100vw / 750);
  line-height: 1.73;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  width: 100%;
  min-height: 100vh;
  background-color: #fdfaf5;
  font-size: 1.1rem;
  color: #002252;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
picture {
  display: block;
}
img {
  display: block;
  width: 100%;
  max-width: 100% !important;
  height: auto;
}
a {
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  opacity: 0.6;
}
p a {
  color: inherit;
  text-decoration: underline;
}
p a:hover {
  opacity: 0.6;
}
.w1020 {
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.275rem;
  padding-right: 2.275rem;
}
.bgB {
  background-color: #002250;
}
.bgW {
  background-color: #fdfaf5;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 20px;
  }
  body {
    font-size: 1rem;
  }
  .w1020 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .oPC {
    display: block;
  }
  .oSP {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1059px) {
  html {
    font-size: calc(20 * 100vw / 1060);
  }
}
@media screen and (max-width: 767px) {
  .oPC {
    display: none !important;
  }
  .oSP {
    display: block;
  }
}
.fade_in {
  opacity: 0;
  transform: translateY(1rem);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}
.fade_in.is_visible {
  opacity: 1;
  transform: translateY(0);
}

/***************／基本***************/

/***************ヘッダー***************/
header {
  height: 4.5rem;
  padding: 0.75rem 0;
}
header .logo {
  display: block;
  width: 30%;
  height: 100%;
  margin: 0 auto;
  padding: 1.05rem 0 0.4rem;
}
header .logo img {
  width: 10.75rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  header {
    height: 90px;
    padding: 15px 0;
  }
  header .logo {
    width: 225px;
    padding: 21px 0 8px;
  }
  header .logo img {
    width: 215px;
  }
}
/***************／ヘッダー***************/
/***************フッター***************/
.footer {
  padding-top: 5rem;
  padding-bottom: 1.7rem;
}
.footer a {
  color: inherit;
  text-decoration: underline;
}
.footer .logo {
  display: block;
  width: 14rem;
  margin: 0 auto 2rem;
}
.footer ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 5rem;
}
.footer ul a {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
}
.footer .copy {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-top: 74px;
    padding-bottom: 50px;
  }
  .footer .flex {
    display: flex;
    justify-content: space-between;
  }
  .footer .logo {
    width: 215px;
    margin: 0;
  }
  .footer ul {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-bottom: 5rem;
  }
  .footer ul a {
    font-size: 13px;
    padding: 0 0.5rem;
  }
  .footer .copy {
    font-size: 13px;
    font-weight: 700;
  }
}
/***************／フッター***************/

/***************キーヴィジュアル***************/
.kv {
  background-color: #002252;
}
.kv picture {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}
/***************／キーヴィジュアル***************/

/***************理由***************/
.reason {
  padding-top: 4rem;
  padding-bottom: 1.25rem;
}
.reason h2 {
  width: 25rem;
  margin: 0 auto;
}
.reason .reasonItem {
  padding: 7rem 0 2rem;
}
.reason .reasonItem h3 {
  width: 4.3rem;
  margin: 0 auto;
}
.reason .rCont01 {
  padding-top: 2.7rem;
}
.reason .rCont01 h4 {
  text-align: center;
  line-height: 1.125;
  font-size: 2rem;
  font-weight: 800;
}
.reason .rCont01 p {
  padding: 2.7rem 0 2.8rem;
  line-height: calc(38 / 22);
  font-weight: 500;
}
.reason .reasonItem01 .rCont01 p {
  text-align: center;
}
.reason .rCont02 h4 {
  margin-bottom: 2.7rem;
  padding-bottom: 0.4rem;
  border-bottom: solid 0.1rem #002252;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 800;
}
.reason .reasonItem01 .rCont02 .rCont02Wrap img {
  width: 27.5rem;
  margin: 0 auto 3.8rem;
}
.reason .reasonItem01 .rCont02 .rCont02Wrap p {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
.reason .reasonItem02 .rCont02Wrap article h5 {
  margin-bottom: 0.7rem;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 800;
}
.reason .reasonItem02 .rCont02Wrap article p {
  margin-bottom: 1rem;
  text-align: center;
  line-height: 1.5;
}
.reason .reasonItem02 .rCont02Wrap article + article {
  padding-top: 3.7rem;
}
.reason .reasonItem03 .rCont02 .rCont02Wrap img {
  width: 31rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .reason {
    padding-top: 115px;
    padding-bottom: 145px;
  }
  .reason h2 {
    width: 466px;
  }
  .reason .reasonItem {
    display: flex;
    justify-content: space-between;
    padding: 116px 0 60px;
    border-bottom: solid 1px #002250;
  }
  .reason .reasonItem:last-of-type {
    border-bottom: none;
  }
  .reason .reasonItem h3 {
    width: 3.25rem;
    margin: 0.6rem 0 0;
  }
  .reason .rCont01 {
    width: 27.15rem;
    padding-top: 0;
    margin: 0 1.4rem 0 3.25rem;
  }
  .reason .rCont01 h4 {
    text-align: left;
    line-height: 1.40625;
    font-size: 1.6rem;
  }
  .reason .rCont01 p {
    padding: 20px 0 0;
    line-height: 1.75;
    font-size: 20px;
  }
  .reason .reasonItem01 .rCont01 p {
    text-align: left;
  }
  .reason .rCont02 {
    width: 16rem;
  }
  .reason .reasonItem03 .rCont02 {
    width: 14rem;
  }
  .reason .rCont02 h4 {
    margin-bottom: 22px;
    padding-bottom: 7px;
    border-bottom-width: 1px;
    line-height: 0.75rem;
    font-size: 0.65rem;
  }
  .reason .reasonItem01 .rCont02 .rCont02Wrap img {
    width: 27.5rem;
    margin: 0 auto 30px;
  }
  .reason .reasonItem01 .rCont02 .rCont02Wrap p {
    font-size: 13px;
  }
  .reason .reasonItem02 .rCont02Wrap article h5 {
    margin-bottom: 3px;
    font-size: 0.6rem;
  }
  .reason .reasonItem02 .rCont02Wrap article p {
    margin-bottom: 8px;
    font-size: 0.6rem;
    line-height: 1.25;
  }
  .reason .reasonItem02 .rCont02Wrap article + article {
    padding-top: 30px;
  }
  .reason .reasonItem03 .rCont02 .rCont02Wrap img {
    margin-top: 57px;
  }
}
/***************／理由***************/

/***************例***************/
.example {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.example h2 {
  margin-bottom: 3.6rem;
  text-align: center;
  line-height: 1.083;
  font-size: 3rem;
  font-weight: 800;
  color: #ffffff;
}
/**ナビ**/
.subNav {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.9rem;
}
.subNav li {
  width: 10.1rem;
}
.subNav li figure {
  display: flex;
  flex-direction: column-reverse;
}
.subNav li figcaption {
  margin-bottom: 0.35rem;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 800;
  color: #ffffff;
}
/**／ナビ**/
.example .exampleSect01 {
  position: relative;
  padding-top: 6rem;
}
.example .exampleSect01::before {
  content: "";
  position: absolute;
  top: 6rem;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fdfaf5;
}
/**タイトル**/
.example .exampleSect01 h3 {
  padding: 2rem 0 1.35rem;
}
.example .exampleSect01 h3 img {
  height: 2.5rem;
  width: auto;
}
.example .exampleSect01#leather h3 img {
  height: 6.5rem;
}
.example .exampleSect01 h3 figcaption {
  padding-top: 0.5rem;
  font-size: 1.75rem;
  font-weight: 800;
  color: #ffffff;
}
/**／タイトル**/
/**スライド**/
.splide__arrow {
  height: 100%;
  width: 3rem;
  border-radius: 0;
}
.splide__arrow svg {
  display: none;
}
.splide__arrow::before {
  content: "";
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: no-repeat 0 0 / cover;
}
.splide__arrow.splide__arrow--prev {
  left: 0;
}
.splide__arrow.splide__arrow--prev::before {
  background-image: url(../img/b_arrow_left.png);
}
.splide__arrow.splide__arrow--next {
  right: 0;
}
.splide__arrow.splide__arrow--next::before {
  background-image: url(../img/b_arrow_right.png);
}
/**／スライド**/
/**バナーエリア**/
.bnrArea {
  padding-top: 5rem;
}
.bnrArea figure {
  padding-bottom: 2.5rem;
}
.bnrArea figure figcaption {
  padding-top: 1rem;
  line-height: 2rem;
  font-size: 1.25rem;
  font-weight: 500;
  color: #fdfaf5;
}
/**／バナーエリア**/
/**特徴**/
.features01 {
  margin-bottom: 2.5rem;
  padding: 1.7rem 2.5rem 2.6rem;
  background-color: #fdfaf5;
  border-radius: 1rem;
  text-align: center;
}
.features01 h4 {
  margin-bottom: 1.5rem;
  line-height: 1.2;
  font-size: 2.5rem;
  font-weight: 900;
}
.features01 img {
  margin: 3.5rem auto 2.5rem;
}
.features01 .textFeatures01 {
  line-height: 1.4;
  font-size: 1.25rem;
  font-weight: 500;
}
.features01 .textFeatures02 {
  line-height: 1.5;
  font-size: 1rem;
  font-weight: 500;
}
.features01 .textFeatures03 {
  text-decoration: underline;
  line-height: 1.4;
  font-size: 1.25rem;
  font-weight: 800;
}
#leather .features01 .flex div p:nth-of-type(2) {
  padding: 1.5em 0 2.3rem;
}
#tee .features01 .flex div p:nth-of-type(2) {
  padding: 2.4rem 0 2rem;
}
/**／特徴**/
/**TEE**/
#tee .teeLogo {
  width: 24.5rem;
  margin: 5rem auto;
}
#tee > p {
  margin-top: 126px;
  line-height: 1.6;
  font-size: 1.25rem;
  font-weight: 500;
  color: #fdfaf5;
}
#tee > p span {
  display: block;
  margin: 2.25rem 0 3rem;
  font-size: 1rem;
}
/**／TEE**/
@media screen and (min-width: 768px) {
  .example {
    padding-top: 152px;
    padding-bottom: 205px;
  }
  .example h2 {
    margin-bottom: 172px;
    line-height: 77px;
    font-size: 65px;
  }
  /**ナビ**/
  .subNav {
    margin-bottom: 0;
  }
  .subNav li {
    width: 15.75rem;
  }
  .subNav li figcaption {
    margin-bottom: 16px;
    font-size: 30px;
  }
  /**／ナビ**/
  .example .exampleSect01 {
    padding-top: 170px;
  }
  .example .exampleSect01::before {
    top: 170px;
  }
  /**タイトル**/
  .example .exampleSect01 .flex {
    display: flex;
    margin-top: 170px;
  }
  .example .exampleSect01 h3 {
    width: calc(465 / 1020 * 100%);
    padding: 0;
  }
  .example .exampleSect01 h3 img {
    height: 33px;
  }
  .example .exampleSect01#leather h3 img {
    height: 90px;
  }
  .example .exampleSect01 h3 figcaption {
    padding-top: 13px;
    font-size: 20px;
  }
  /**／タイトル**/
  /**スライド**/
  .slideWrap {
    width: calc(555 / 1020 * 100%);
  }
  .splide__arrow {
    width: 2.5rem;
  }
  /**／スライド**/
  /**バナーエリア**/
  .bnrArea {
    padding-top: 100px;
  }
  .bnrArea figure {
    padding-bottom: 60px;
  }
  .bnrArea figure:last-of-type {
    padding-bottom: 30px;
  }
  .bnrArea figure figcaption {
    padding-top: 20px;
    line-height: 35px;
    font-size: 20px;
  }
  /**／バナーエリア**/
  /**特徴**/
  .features01 {
    margin-top: 74px;
    margin-bottom: 30px;
    padding: 53px 2.6rem 45px 3rem;
    border-radius: 24px;
    text-align: left;
  }
  .features01 h4 {
    margin-bottom: 39px;
    font-size: 40px;
  }
  .example .features01 .flex {
    margin-top: 0;
    flex-direction: row-reverse;
    align-items: flex-start;
  }
  .features01 img {
    width: 23.8rem;
    margin: 25px 0 0 0;
  }
  .example .features01 .flex > div {
    padding-bottom: 15px;
  }
  .features01 .textFeatures01 {
    line-height: 1.5;
    font-size: 20px;
  }
  .features01 .textFeatures02 {
    line-height: 20px;
    font-size: 15px;
  }
  .features01 .textFeatures03 {
    line-height: 1.5;
    font-size: 20px;
  }
  #leather .features01 .flex div p:nth-of-type(2) {
    padding: 26px 0 75px;
  }
  #tee .features01 .flex div p:nth-of-type(2) {
    padding: 44px 0 36px;
  }
  /**／特徴**/
  /**TEE**/
  #tee .teeLogo {
    position: relative;
    width: 100%;
    margin: 0 auto;
  }
  #tee .teeLogo img {
    position: absolute;
    top: -50px;
    left: 0;
    height: 50px;
    width: auto;
  }
  #tee > p {
    line-height: 35px;
    font-size: 20px;
  }
  #tee > p span {
    margin: 90px 0 80px;
    font-size: 20px;
  }
  /**／TEE**/
}
/***************／例***************/

/***************ご相談の流れ***************/
.flow {
  padding-top: 4.5rem;
  padding-bottom: 0.8rem;
}
.flow h2 {
  margin-bottom: 3.7rem;
  padding-bottom: 1.6rem;
  border-bottom: solid 0.1rem #002252;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 800;
}
.flow li {
  position: relative;
  padding: 2.5rem 0 3.7rem;
  text-align: center;
}
.flow li::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 3rem;
  height: 1.5rem;
  background: url(../img/ic_arrow.png) no-repeat 50% 0 / 100% auto;
}
.flow li:last-of-type::before {
  content: none;
}
.flow li h3 {
  width: 2.7rem;
  margin: 0 auto 0.8rem;
}
.flow li .flowTitle {
  margin-bottom: 0.75rem;
  font-size: 2rem;
  font-weight: 800;
}
.flow li .flowText {
  line-height: 2rem;
  font-size: 1.15rem;
}
.flow li .flowText a {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .flow {
    padding-top: 83px;
    padding-bottom: 120px;
  }
  .flow h2 {
    margin-bottom: 88px;
    padding-bottom: 40px;
    border-bottom: solid 0.2rem #002252;
    font-size: 60px;
  }
  .flow li {
    display: flex;
    justify-content: space-between;
    padding: 100px 0 117px;
    text-align: left;
  }
  .flow li::before {
    width: 91px;
    height: 46px;
  }
  .flow li h3 {
    flex-shrink: 0;
    width: 3.6rem;
    margin: 0;
  }
  .flow li .flowTitle {
    flex-grow: 1;
    margin: 0 1.6rem 0 1.75rem;
    line-height: 2rem;
    font-size: 1.6rem;
  }
  .flow li .flowText {
    width: 28rem;
    line-height: 40px;
    font-size: 20px;
  }
}
/***************／ご相談の流れ***************/

/***************よくあるご質問***************/
.ff .w1020 {
  padding-top: 2.25rem;
  padding-bottom: 5rem;
}
.ff .w1020 .bgW {
  padding: 3rem 1.5rem 4.35rem;
}
.faq h2 {
  padding-bottom: 1.15rem;
  border-bottom: solid 0.2rem #002252;
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
}
.faq .faqList {
  display: grid;
  width: 27.7rem;
  margin: 0 auto;
}
.faq .faqList .accordion {
  margin-bottom: 0.9rem;
  padding: 1.6rem 0 2.2rem;
  border-bottom: solid 0.2rem #092a78;
}
.faq .faqList .accordion summary {
  position: relative;
  padding: 0 2.5rem;
  list-style-type: none;
  cursor: pointer;
}
.faq .faqList .accordion summary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1.15rem;
  height: 1.6rem;
  background: url(../img/t_q.png) no-repeat 50% 0 / 100% auto;
}
.faq .faqList .accordion .circle {
  position: absolute;
  top: 0.9rem;
  right: 0;
  display: block;
  width: 2rem;
  height: 0.3rem;
  background-color: #092a78;
}
.faq .faqList .accordion summary::after {
  content: "";
  position: absolute;
  top: 0.9rem;
  right: 0;
  display: block;
  width: 2rem;
  height: 0.3rem;
  background-color: #092a78;
  transition: 1s;
  transform: rotate(90deg);
}
.faq .faqList .accordion[open] summary::after {
  transform: rotate(0);
}
.faq .faqList .accordion summary {
  line-height: 2rem;
  font-size: 1.15rem;
  font-weight: 800;
}
.faq .faqList .accordion .contents .faq_a {
  position: relative;
  padding: 2rem 2.5rem 0;
}
.faq .faqList .accordion .contents .faq_a::before {
  content: "";
  position: absolute;
  top: 2.2rem;
  left: 0;
  display: block;
  width: 1.15rem;
  height: 1.4rem;
  background: url(../img/t_a.png) no-repeat 50% 0 / 100% auto;
}
.faq .faqList .accordion .contents p {
  line-height: 2;
  font-size: 1rem;
}
/**アニメーション**/
.faq .faqList .accordion {
  --faq-duration: 300ms;
  overflow: hidden;
}
.faq .faqList .contents {
  display: block;
  overflow: hidden;
}
.faq .faqList .accordion::details-content {
  content-visibility: auto;
  display: block grid;
}
@media (prefers-reduced-motion: no-preference) {
  .faq .faqList .accordion::details-content {
    transition: grid-template-rows var(--faq-duration) ease;
  }
}
.faq .faqList .accordion:not([open])::details-content {
  grid-template-rows: 0fr;
}
.faq .faqList .accordion[open]::details-content {
  grid-template-rows: 1fr;
}
/**／アニメーション**/
@media screen and (min-width: 768px) {
  .ff .w1020 {
    padding-top: 190px;
    padding-bottom: 200px;
  }
  .ff .w1020 .bgW {
    padding: 87px 2.25rem 130px;
  }
  .faq h2 {
    padding-bottom: 42px;
    border-bottom: solid 4px #002252;
    font-size: 60px;
  }
  .faq .faqList {
    width: 100%;
  }
  .faq .faqList .accordion {
    margin: 0;
    padding: 52px 0 54px;
    border-bottom: solid 4px #092a78;
  }
  .faq .faqList .accordion summary {
    padding: 0 4rem;
  }
  .faq .faqList .accordion summary::before {
    width: 1.5rem;
    height: 2.1rem;
  }
  .faq .faqList .accordion summary {
    line-height: 2;
    font-size: 20px;
  }
  .faq .faqList .accordion .contents .faq_a {
    padding: 80px 4rem 0;
  }
  .faq .faqList .accordion .contents .faq_a::before {
    top: 90px;
    width: 1.3rem;
    height: 1.6rem;
  }
  .faq .faqList .accordion .contents p {
    font-size: 20px;
  }
}
/***************／よくあるご質問***************/

/***************お問い合わせフォーム***************/
.contact {
  padding-top: 8.5rem;
}
.contact h2 {
  margin-bottom: 4rem;
  padding-bottom: 1.15rem;
  border-bottom: solid 0.1rem #fdfaf5;
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  color: #fdfaf5;
}
.contact .formWrap iframe {
  display: block;
  width: 100%;
  height: 56rem;
}
@media screen and (min-width: 768px) {
  .contact {
    padding-top: 260px;
  }
  .contact h2 {
    margin-bottom: 104px;
    padding-bottom: 40px;
    border-bottom: solid 4px #fdfaf5;
    font-size: 60px;
  }
  .contact .formWrap iframe {
    width: 100%;
    height: 56rem;
  }
}
/***************／お問い合わせフォーム***************/
