@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap");
/* ---------------------------------------------------------
  今回はスマホ基準のみ
--------------------------------------------------------- */
/* ---------------------------------------------------------
  fluid-root（SPのみで使用）
--------------------------------------------------------- */
/* ---------------------------------------------------------
  実行：スマホだけのfluid設定
--------------------------------------------------------- */
:root {
  font-size: clamp(8px, 10 * 100vw / 375, 10.6666666667px);
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 1024px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media (max-width: 734px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*
用途：
・FVのカウント数字
*/
/*
用途：
・「気になる…」などの装飾テキスト
*/
/*
用途：
・本文
・説明文
・通常見出し
*/
/*
------------------------------------------------
高級感・和風演出
------------------------------------------------
用途：
・特別な見出し
・強調タイトル
・信頼感を出したい箇所
*/
/*
------------------------------------------------
部分強調用ゴシック（Qなど）
------------------------------------------------
用途：
・Q&AのQ
・ワンポイント強調
*/
/* ========================================
   Font Weight
======================================== */
/*
300 : 細い（手書き・サブ）
400 : 本文標準
500 : 少し強調（見出し）
600 : 強め見出し
700 : 太見出し
900 : インパクト強調
*/
html {
  scroll-behavior: smooth;
  font-size: 10px;
  background: #fff;
}
html body {
  font-family: "source-han-sans-japanese", sans-serif;
  color: black;
  font-weight: 500;
}
html body section {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}
html body .contents {
  max-width: 33.5rem;
  width: 100%;
  margin: 0 auto;
}
html body img {
  width: 100%;
  height: auto;
}
html body .t-orange {
  color: #f17824; /* オレンジ */
  /* 白フチ */
  -webkit-text-stroke: 3px #fff;
  /* フチが内側に寄らないように */
  paint-order: stroke fill;
  /* ほんの少し影 */
}
html body .orange {
  color: #f17824;
}
html body .mizu {
  color: #6eb4cc;
}
html body .siro {
  color: #fff;
}
html body .bg-siro {
  background-color: #fff;
}
html body .bg-mizu {
  background-color: #6eb4cc;
}
html body .bg-usumizu {
  background-color: #e2f0f5;
}
html body .bg-orange {
  background-color: #f17824;
}
html body h2 {
  font-family: "source-han-sans-japanese", sans-serif;
  font-size: 3.99094rem;
}
html body h3 {
  font-size: 2.8rem;
  font-weight: bold;
}
html body a {
  color: black;
  text-decoration: none;
}
html body li {
  list-style: none;
}
html body footer {
  width: 100%;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
/* =========================================
   全消しリセットCSS（フォームUIは残す）
   ========================================= */
/* すべての要素の余白・枠線・フォントサイズをリセット */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5要素のデフォルト表示をブロックに */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* ボディ初期化 */
body {
  line-height: 1;
}

/* リストマーカー削除 */
ol, ul {
  list-style: none;
}

/* 引用符削除 */
blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: "";
  content: none;
}

/* テーブル初期化 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ===== フォームUIは基本残すが最小限調整 ===== */
/* フォント継承（見た目の統一感を出す） */
input, select, textarea, button {
  font: inherit;
  color: inherit;
}

/* iOS Safariのズーム防止（必要な場合） */
input, textarea, select {
  font-size: 16px;
}

/* ボタンはポインター */
button {
  cursor: pointer;
}

/* Webkit系での余計なスタイル防止（外観は保持） */
input[type=search] {
  -webkit-appearance: textfield;
}

/* プレースホルダーの色だけ少し整える */
::-moz-placeholder {
  color: #999;
}
::placeholder {
  color: #999;
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  overflow-x: hidden;
  color: black;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  color: black;
}

.header {
  position: relative;
  text-align: center;
}
.header__wrap {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  font-size: 1.7rem;
  z-index: 1;
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
}
.header__now {
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.2rem;
  background-color: #f17824;
  color: #fff;
}
.footer__wrap {
  font-size: 1.2rem;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #6eb4cc;
}
.b-ctaarea {
  width: 32.86209rem;
  margin: 0 auto;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  display: flex;
  flex-direction: column;
  /* 画像 → テキストを縦に並べる */
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-button-next, .swiper-button-prev {
  top: 8.2rem !important;
}

.swiper-button-next,
.swiper-button-prev {
  color: #fff;
  background-color: #f17824;
  width: 2.83rem;
  height: 2.83rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.swiper-button-next svg,
.swiper-button-prev svg {
  width: 0.73rem;
  height: 1.17rem;
}

.card {
  background: white;
  border: 1px solid black;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1rem;
}
.card__header {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.card__body {
  font-size: 1rem;
  color: black;
  line-height: 1.5;
}
.card__footer {
  margin-top: 1rem;
  text-align: right;
}

.fv__wrap {
  position: relative;
}
.fv__cta {
  position: absolute;
  bottom: 0.3rem;
  right: 0;
  left: 0;
}
.fv__img {
  display: flex;
}

.worry {
  padding: 5rem 0 6.4rem;
  background-color: #6eb4cc;
  text-align: center;
  position: relative;
  z-index: -1;
}
.worry__ttl {
  font-size: 2.12353rem;
  color: #fff;
  position: relative;
  margin-bottom: 2rem;
}
.worry__ttl::after {
  position: absolute;
  background: url(../img/decoration_1.webp) no-repeat;
  background-size: contain;
  width: 2.78rem;
  height: 3.57rem;
  top: -4rem;
  right: 0rem;
  content: "";
}
.worry__ttl::before {
  position: absolute;
  content: "気になる・・・";
  font-size: 2rem;
  color: #000;
  font-family: "ta-oonishi", sans-serif;
  font-weight: bold;
  top: -3rem;
  left: 0;
  transform: rotate(-5deg);
}
.worry__ttl span {
  margin: 0 1rem;
  font-size: 3.18466rem;
  font-weight: 900;
}
.worry__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  padding-bottom: 1.5rem;
}
.worry__item img {
  display: flex;
}
.worry__txt {
  font-size: 1.2rem;
  font-weight: bold;
  background-color: #e2f0f5;
  padding: 1rem 0 1rem 0;
  display: block;
  line-height: 1.4rem;
}
.worry__subttl {
  color: #fff;
  line-height: 4.2rem;
  position: relative;
}
.worry__subttl span:first-child {
  letter-spacing: 0.3rem;
  padding-left: 0.5rem;
}
.worry__subttl::before {
  content: "";
  background: url(../img/sore.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 3.92rem;
  height: 3.92rem;
  padding-right: 0.5rem;
}
.worry__subttl::after {
  content: "";
  position: absolute;
  background: url(../img/decoration_5.webp) no-repeat;
  background-size: contain;
  display: block;
  width: 2.58rem;
  height: 3.58rem;
  right: 0;
  bottom: -0.5rem;
}
.comp {
  border-radius: 3.51rem;
  margin-top: -2.7rem;
  position: relative;
  z-index: 1;
  padding: 3.5rem 0 3.6rem;
  text-align: center;
}
.comp::after {
  content: "";
  position: absolute;
  z-index: 5;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -1.8rem;
  width: 0.65rem;
  height: 4.3rem;
  background: url(../img/aro.webp) no-repeat;
  background-size: contain;
}
.comp__ttl {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -0.1rem;
  line-height: 4rem;
  margin-bottom: 2.5rem;
}
.comp__ttl span {
  display: block;
  font-size: 3.49rem;
  letter-spacing: 0.2rem;
}
.comp__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-bottom: -0.7rem;
  position: relative;
}
.comp__grid::after {
  position: absolute;
  content: "";
  background: url(../img/decoration_2.webp) no-repeat;
  background-size: contain;
  width: 5.18rem;
  height: 5.33rem;
  right: -1rem;
  top: -2.5rem;
}
.comp__subttl {
  font-size: 2.2rem;
  border-bottom: solid 0.5px #6eb4cc;
  padding-bottom: 1.3rem;
}
.comp__subttl.siro {
  font-size: 2.7rem;
  border-bottom: solid 0.5px #fff;
  margin-bottom: 1.2rem;
}
.comp__box {
  padding: 2.1rem 0 1.7rem;
  text-align: center;
  box-shadow: rgba(163, 163, 163, 0.6) 1px 1px 2px;
}
.comp__box.bg-mizu {
  padding-top: 1.7rem;
}
.comp__box--inner {
  width: 12.62rem;
  margin: 0 auto;
}
.comp__box--item {
  font-weight: bold;
  font-size: 2.46rem;
  border-bottom: solid 0.5px #6eb4cc;
  padding: 1.6rem 0 1.4rem;
  font-family: "futura-pt", sans-serif;
}
.comp__box--item:last-of-type {
  border-bottom: none;
  padding-bottom: 0.8rem;
}
.comp__box--cate {
  display: block;
  font-size: 0.9rem;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.82rem;
  height: 1.32rem;
  border-radius: 0.63rem;
  font-weight: normal;
  margin-bottom: 0.5rem;
}
.comp__box--en {
  font-size: 1.6rem;
  font-weight: normal;
}
.comp__box--aro {
  width: 0.94rem;
  margin-bottom: 1rem;
}
.comp__img {
  width: 7.85rem;
  margin-bottom: 1rem;
}
.comp__sougaku {
  font-weight: bold;
  font-size: 2.46rem;
}
.comp__sougaku--cate {
  font-weight: normal;
  width: 12.62rem;
  display: block;
  font-size: 0.9rem;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.32rem;
  border-radius: 0.63rem;
  margin-bottom: 0.5rem;
}
.comp__sougaku--en {
  font-weight: normal;
  font-size: 1.1rem;
}
.comp__subete--cate {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}
.comp__subete--sougaku {
  writing-mode: vertical-rl;
  font-size: 1.1rem;
  margin-right: 0.4rem;
}
.comp__subete--price {
  font-size: 2.8rem;
  font-family: "futura-pt", sans-serif;
  color: #ffe981;
  text-shadow: rgba(178, 178, 178, 0.85) 1px 1px;
  padding-right: 0.3rem;
}
.comp__subete--en {
  font-size: 1.1rem;
}
.comp__bln {
  background: url(../img/balloon.svg) no-repeat;
  width: 33.5rem;
  height: 13.34rem;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  padding: 1rem 0 0.5rem;
  position: relative;
}
.comp__bln::before {
  position: absolute;
  content: "";
  background: url(../img/cash_icon.webp) no-repeat;
  background-size: contain;
  width: 7.28rem;
  height: 5.08rem;
  top: 1.8rem;
  left: -0.8rem;
}
.comp__bln--subttl {
  font-size: 1.8rem;
  display: block;
  position: relative;
  display: flex;
  align-items: baseline;
  letter-spacing: 0.1rem;
}
.comp__bln--subttl::after, .comp__bln--subttl::before {
  content: "";
  width: 0.66rem;
  height: 0.86rem;
}
.comp__bln--subttl::after {
  background: url(../img/right.svg) no-repeat;
  display: inline-block;
  margin-left: 1.2rem;
}
.comp__bln--subttl::before {
  background: url(../img/left.svg) no-repeat;
  display: inline-block;
  margin-right: 1rem;
}
.comp__bln--ttl {
  font-size: 2.3rem;
}
.comp__bln--price {
  font-size: 4.45rem;
  font-family: "futura-pt", sans-serif;
  letter-spacing: 0.1rem;
  padding-left: 1rem;
  padding-right: 0.5rem;
}
.comp__txt {
  font-size: 1.75rem;
  letter-spacing: 0.001rem;
}
.sche {
  background: url(../img/sche_bg.webp) no-repeat;
  background-size: cover;
  text-align: center;
  padding: 4rem 0 6rem;
}
.sche__ttl {
  font-size: 2.86rem;
  line-height: 3.8rem;
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
  position: relative;
  display: inline-block;
}
.sche__ttl--sub {
  font-size: 2.33rem;
  display: block;
}
.sche__ttl::after, .sche__ttl::before {
  content: "";
  width: 0.85rem;
  height: 1.11rem;
}
.sche__ttl::after {
  background: url(../img/right.svg) no-repeat;
  display: inline-block;
  margin-left: 1.2rem;
  position: absolute;
  top: 1.8rem;
  right: 5.2rem;
}
.sche__ttl::before {
  background: url(../img/left.svg) no-repeat;
  display: inline-block;
  margin-right: 1rem;
  position: absolute;
  top: 1.8rem;
  left: 5rem;
}
.sche__img {
  margin-bottom: 2.3rem;
}
.sche__subttl {
  line-height: 4.8rem;
  letter-spacing: 0.1rem;
  position: relative;
}
.sche__subttl--sub {
  color: #fff;
  display: block;
  text-shadow: 1px 1px #c3c3c3;
  font-size: 2.3rem;
}
.sche__subttl--main {
  letter-spacing: normal;
  color: #fff;
  -webkit-text-stroke: 5px #f17824;
  paint-order: stroke fill;
  font-size: 3.88rem;
  padding-left: 1rem;
}
.sche__subttl--main .rem46 {
  font-size: 4.6rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.sche__subttl::after, .sche__subttl::before {
  content: "";
  position: absolute;
}
.sche__subttl::after {
  background: url(../img/decoration_2.webp) no-repeat;
  background-size: contain;
  width: 5.18rem;
  height: 5.33rem;
  right: -0.8rem;
  top: 0;
}
.sche__subttl::before {
  background: url(../img/decoration_3.webp) no-repeat;
  background-size: contain;
  display: block;
  width: 2.58rem;
  height: 3.58rem;
  bottom: -1.5rem;
  left: -1rem;
}
.plan {
  margin-top: -2.2rem;
  z-index: 1;
  position: relative;
  border-radius: 2.65rem;
  padding: 4rem 0 5.5rem;
  text-align: center;
  background: url(../img/plan_bg.webp) no-repeat;
  background-size: cover;
  position: relative;
}
.plan::after {
  content: "";
  position: absolute;
  width: 13.05rem;
  height: 13.05rem;
  background: url(../img/decoration_7.webp) no-repeat;
  background-size: contain;
  top: -1.5rem;
  left: 0;
}
.plan__ttl {
  font-size: 2.78rem;
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
  letter-spacing: -0.1rem;
  margin-bottom: 2rem;
}
.plan__ttl--sub {
  letter-spacing: 0.1rem;
  font-size: 1.64rem;
  display: block;
  font-family: "futura-pt", sans-serif;
  margin-bottom: 1.3rem;
  font-weight: 500;
}
.plan__txt {
  font-size: 1.6rem;
  line-height: 2.6rem;
  letter-spacing: 0.14rem;
  margin-bottom: 4rem;
}
.plan__box {
  border: #6eb4cc 2px solid;
  border-radius: 1.47rem;
  background-color: #fff;
  position: relative;
  padding: 2.6rem 0 1.2rem;
  margin-bottom: 1.2rem;
}
.plan__box--bln {
  font-size: 1.63rem;
  position: absolute;
  right: 0;
  left: 0;
  top: -1.9rem;
  margin: 0 auto;
  border-radius: 100rem;
  width: 23.2rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plan__box--bln::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 7px 5px 0 5px;
  border-style: solid;
  border-color: #6eb4cc transparent transparent transparent;
}
.plan__ttlarea {
  width: 19.5rem;
  margin: 0 auto;
}
.plan__ttlarea--ttl {
  font-size: 1.3rem;
  letter-spacing: 0.08rem;
  margin-bottom: 1rem;
}
.plan__ttlarea--list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  font-size: 1.14rem;
  margin-bottom: 1.1rem;
}
.plan__ttlarea--item {
  border-radius: 0.266rem;
  font-weight: 500;
  height: 1.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plan__pricearea {
  display: flex;
  width: 30.15rem;
  margin: 0 auto 0.8rem auto;
  align-items: center;
}
.plan__pricearea--bach {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.24rem;
  height: 5.24rem;
  font-size: 1.37rem;
  background-color: #f2f2f2;
  border-radius: 50%;
  line-height: 1.7rem;
  margin-right: 1rem;
}
.plan__pricearea--price {
  font-size: 6.5rem;
  font-family: "futura-pt", sans-serif;
  letter-spacing: -0.2rem;
  margin-right: 0.6rem;
}
.plan__pricearea--en {
  margin-top: 2rem;
  font-size: 1.8rem;
}
.plan__secarea {
  display: flex;
  align-items: center;
  width: 27.55rem;
  margin: 0 auto;
}
.plan__secarea--sec {
  font-size: 0.97rem;
  width: 10.5rem;
  height: 1.71rem;
  border: solid #333333 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.7rem;
}
.plan__secarea--price {
  font-size: 3.25rem;
  font-family: "futura-pt", sans-serif;
  letter-spacing: 0.1rem;
  margin-right: 0.6rem;
}
.plan__secarea--en {
  font-size: 1rem;
  margin-top: 1rem;
}
.plan__limit {
  line-height: 2.88rem;
  font-size: 1.9rem;
  letter-spacing: 0.2rem;
}
.plan__limit--main {
  font-size: 2.6rem;
}
.ba {
  text-align: center;
  margin-top: -2rem;
  padding: 9rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.ba::after, .ba::before {
  content: "";
  position: absolute;
  width: 7.66rem;
  height: 7.66rem;
}
.ba::after {
  background: url(../img/decoration_8.webp) no-repeat;
  background-size: contain;
  right: -2rem;
  top: 0;
  z-index: 10;
}
.ba::before {
  background: url(../img/decoration_8.webp) no-repeat;
  background-size: contain;
  display: block;
  top: 18.7rem;
  left: -2rem;
}
.ba__ttl {
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
  margin-bottom: 1.5rem;
  position: relative;
}
.ba__ttl::after, .ba__ttl::before {
  content: "";
  position: absolute;
}
.ba__ttl::after {
  background: url(../img/decoration_5.webp) no-repeat;
  background-size: contain;
  width: 4.18rem;
  height: 4.33rem;
  right: -0.8rem;
  top: 0;
}
.ba__ttl::before {
  background: url(../img/decoration_4.webp) no-repeat;
  background-size: contain;
  display: block;
  width: 2.58rem;
  height: 3.58rem;
  top: -1.3rem;
  left: 0.8rem;
}
.ba__txt {
  font-size: 1.5rem;
  line-height: 2.36rem;
  letter-spacing: 0.15rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
.ba__subttl {
  font-size: 1.6rem;
  width: 21.68rem;
  height: 2.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2.3rem;
  border-radius: 100rem;
  position: relative;
}
.ba__subttl::before {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 7px 5px 0 5px;
  border-style: solid;
  border-color: #f17824 transparent transparent transparent;
}
.ba__subttl::after {
  position: absolute;
  content: "";
  background: url(../img/decoration_6.webp) no-repeat;
  top: -1.5rem;
  right: -1.7rem;
  background-size: contain;
  width: 2.02rem;
  height: 2.03rem;
}
.ba__slide--box {
  position: relative;
  margin-bottom: 0.3rem;
}
.ba__slide--box .swiper-button-next,
.ba__slide--box .swiper-rtl .swiper-button-prev {
  right: -1.2rem;
  left: auto;
}
.ba__slide--box .swiper-button-prev,
.ba__slide--box .swiper-rtl .swiper-button-next {
  left: -1.2rem;
  right: auto;
}
.ba__flex {
  display: flex;
  justify-content: center;
  gap: 12.5rem;
  margin-left: 2rem;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  margin-bottom: 2.9rem;
}
.about {
  text-align: center;
  padding: 4rem 0 4.4rem;
  background: url(../img/about_bg.webp) no-repeat;
  background-size: cover;
}
.about__ttl {
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
  font-size: 4rem;
  margin-bottom: 2.5rem;
}
.about__ttl--sub {
  margin-top: 1.2rem;
  letter-spacing: 0.15rem;
  font-size: 1.5rem;
  display: block;
  color: #000;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 400;
}
.about__txt {
  font-size: 1.4rem;
  line-height: 2.56rem;
  letter-spacing: 0.06rem;
  margin-bottom: 2.9rem;
}
.flow {
  background: url(../img/flow_bg.webp);
  text-align: center;
  padding: 4.4rem 0;
}
.flow__ttl {
  font-size: 4rem;
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
  margin-bottom: 4.8rem;
}
.flow__ttl--sub {
  margin-top: 1.2rem;
  font-size: 1.5rem;
  display: block;
  font-family: "source-han-sans-japanese", sans-serif;
  color: #000;
  letter-spacing: 0.1rem;
}
.flow__info {
  position: relative;
}
.flow__info .swiper {
  overflow: unset;
  overflow-x: clip;
}
.flow--inner {
  position: relative;
  width: 27.25649rem;
  height: 37.2rem;
  margin: 0 auto;
  z-index: 1000000;
}
.flow__ttlsub {
  width: 21.87rem;
  height: 3.02rem;
  font-size: 2rem;
  font-family: "futura-pt", sans-serif;
  border-radius: 100rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  position: absolute;
  right: 0;
  left: 0;
  top: -1.4rem;
}
.flow__subttlling {
  font-size: 1.7rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow__txt {
  height: 4.8rem;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1rem;
  background-color: #fff;
}
.flow .swiper-button-next,
.flow .swiper-button-prev {
  top: 15rem !important;
  right: -1.5rem;
}
.flow .swiper-button-prev {
  left: -1.5rem;
}
.faq {
  background: url(../img/faq_bg.webp);
  padding: 5rem 0 4rem;
}
.faq__ttl {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 3.5rem;
}
.faq__ttl--sub {
  display: block;
  font-size: 1.6rem;
  margin-top: 1rem;
}
.faq__list {
  max-width: 800px;
  margin: 0 auto;
}
.faq__item {
  background: #fff;
  margin-bottom: 1.4rem;
  overflow: hidden;
}
.faq__question {
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 2.8rem 0.9rem 1.8rem;
  position: relative;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 2rem;
  gap: 1rem;
}
.faq__question::-webkit-details-marker {
  display: none;
}
.faq__question::after {
  content: "+";
  position: absolute;
  right: 1.5rem;
  font-size: 3rem;
  font-weight: normal;
  transition: 0.3s;
  color: #6eb4cc;
}
.faq__item[open] .faq__question::after {
  content: "−";
}
.faq__q {
  color: #6eb4cc;
  font-weight: bold;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-size: 1.7rem;
}
.faq__answer {
  padding: 0 1.7rem 2rem;
  line-height: 2.2rem;
  animation: fadeIn 0.3s ease;
  font-size: 1.3rem;
  color: #666666;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.salon {
  padding: 6rem 0 4rem;
}
.salon__ttl {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 2.9rem;
  font-family: "dnp-shuei-mincho-pr6", sans-serif;
}
.salon__ttl--sub {
  display: block;
  font-size: 1.6rem;
  margin-top: 1.3rem;
  color: #000;
  font-family: "source-han-sans-japanese", sans-serif;
}
.salon__box {
  margin-bottom: 1rem;
}
.salon__box--inner {
  width: 28.5006rem;
  margin: 0 auto;
  padding-bottom: 3rem;
}
.salon__box--inner img {
  margin-bottom: 0.6rem;
}
.salon__map {
  display: inline-block;
  margin-top: 0.2rem;
  color: #6eb4cc;
}
.salon__info--list {
  display: flex;
  justify-content: space-between;
  text-align: left;
  padding: 1.1rem 0;
  line-height: 2rem;
  border-bottom: solid #cccccc 1px;
}
.salon__info--head {
  width: 6.5rem;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
}
.salon__info--guid {
  width: 20.4rem;
  font-size: 1.4rem;
}