@charset "UTF-8";
/*----------------------------
Foundation
------------------------------*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

figure {
  margin: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/*----------------------------
■■　サイトの基本設定　base.scss ■■
------------------------------*/
/* ブレークポイント
pc：$layout-width-innerまで
tab：$layout-width-inner　-　1px ~ 768px
sp767未満
*/
/*-----------------------------------------
メディアクエリテンプレ https://haniwaman.com/breakpoint/
使い方：
@include mq('sp') { スマホレイアウト }
@include mq('tab') { タブレットレイアウト }
------------------------------------------*/
/* コンテナ幅 */
.container {
  width: 1180px;
  margin: 0 auto;
}
@media screen and (max-width: 1179px) {
  .container {
    width: 100%;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .container {
    width: 100%;
    padding: 0 2rem;
  }
}

.container--l {
  max-width: 1584px;
  margin: 0 auto;
  padding: 0 3.2rem;
}
@media screen and (max-width: 1350px) {
  .container--l {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .container--l {
    width: 100%;
    padding: 0 10px;
  }
}

.container--bread {
  max-width: 1376px;
  margin: 0 auto;
}
@media screen and (max-width: 1450px) {
  .container--bread {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .container--bread {
    width: 100%;
    padding: 0 10px;
  }
}

.container--s {
  width: 100rem;
  margin: 0 auto;
  padding: 0 2rem;
}
@media screen and (max-width: 1000px) {
  .container--s {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .container--s {
    width: 100%;
    padding: 0 2rem;
  }
}

/*----------------------------------------
フォント関係の設定
------------------------------------------*/
/*〇パソコン～768pxまでのフォントサイズ*/
/*----------------------------
基準フォント指定
使い方：
font-family: $font-base、$font-minchoなど
------------------------------*/
/*------------------------------------------
■各フォントサイズ自由設定

使用例：
CSSにて、fzでショートコード利用可能

左から、PC,SPのフォントサイズ指定
@include font--l(rem,rem);

左から、PC、TAB、SPのフォントサイズ指定
@include font--l3(rem,rem,rem);
--------------------------------------------*/
/*----------------------------------------
色関係の設定
------------------------------------------*/
/*----------------------------
■　sectionのpadding設定
sectionによく使われる余白の設定
使い方：section class="sect-pad"
------------------------------*/
/*
・基準paddingの設定　基本PC 9.6rem SP4.8rem
------------------------------*/
.sect-pad {
  padding: 0 0 18rem;
}
@media screen and (max-width: 1179px) {
  .sect-pad {
    padding: 0 0 8rem;
  }
}
@media screen and (max-width: 767px) {
  .sect-pad {
    padding: 0 0 6rem;
  }
}

.sect-pad--y {
  padding: 18rem 0 18rem;
}
@media screen and (max-width: 1179px) {
  .sect-pad--y {
    padding: 8rem 0 9rem;
  }
}
@media screen and (max-width: 767px) {
  .sect-pad--y {
    padding: 6rem 0 6rem;
  }
}

.sec-title {
  text-align: center;
}

/*----------------------------------------
全体構造：Structure
------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none !important;
}

html {
  font-size: 62.5%;
  height: 100%;
  overflow-x: hidden;
}

img {
  width: 100%;
  height: auto;
  line-height: 1;
  vertical-align: top;
}

a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  -webkit-transition: all 250ms;
  transition: all 250ms;
  color: #333;
}
a:hover {
  opacity: 0.7;
}
a.u-pointer-events--pc {
  pointer-events: none;
  color: inherit;
}
@media screen and (max-width: 767px) {
  a.u-pointer-events--pc {
    pointer-events: auto;
  }
}
a.u-blue--link {
  text-decoration: underline;
  color: #0000ee;
}

address {
  font-style: normal;
}

ul {
  list-style: none;
}

body {
  height: auto;
  width: 100%;
  background: #FFF;
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  color: #333;
  word-break: break-word;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    min-width: 32rem;
  }
}
body.body-kasou {
  background: #fff;
  color: #333;
}

button {
  font-family: "Zen Maru Gothic", sans-serif;
}

input, select, textarea {
  -webkit-appearance: none;
}

/* ユーザーエージェントスタイル（ブラウザ初期値）の上書き */
textarea {
  font-family: "Zen Maru Gothic", sans-serif;
}

/*----------------------------------------
〇ヘッダー固定の調整
概要：ヘッダーfixedの場合、メイン画像がヘッダーに隠れる為、その分の余白設定することで、下に隠れないようになる。
※ヘッダー固定の場合のみ調整
------------------------------------------*/
.main-body {
  padding-top: 10.2rem;
}
@media screen and (max-width: 1100px) {
  .main-body {
    padding-top: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .main-body {
    padding-top: 5rem;
  }
}
.main-body.p-top {
  margin-top: 0;
  padding-top: 0;
}

/*
WordPress管理バーの位置調整
使い方：
WordPress管理バーのずらしたい方向に、位置指定
*/
/*----------------------------
■　Chorome relタグ　自動赤点線の除去
------------------------------*/
body a[rel~=nofollow], body a[rel~=sponsored], body a[rel~=ugc] {
  outline: none !important;
}

/*----------------------------
■ base.scssここまで
------------------------------*/
/*----------------------------
Layout
------------------------------*/
/*----------------------------
■■ フッター　■■
------------------------------*/
/*----------------------------
フッター　テキストカラー初期設定
使い方：colorに、$footer-txt-colorを入力。
color: $footer-txt-color;
------------------------------*/
.l-footer {
  background: #fff;
  color: #333;
  padding: 9rem 0 1.5rem;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 6rem 0 5.4rem;
  }
}
.l-footer a {
  color: #333;
}
.l-footer__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1000px) {
  .l-footer__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.l-footer__inner {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 1000px) {
  .l-footer__left {
    text-align: center;
  }
}
.l-footer__logo {
  max-width: 37rem;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    max-width: 30rem;
  }
}
.l-footer__catchcopy {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  padding-left: 0.6rem;
  border-left: 3px solid #D1D2D2;
}
@media screen and (max-width: 1179px) {
  .l-footer__catchcopy {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__catchcopy {
    font-size: 1.2rem;
  }
}
.l-footer__btn {
  margin-top: 1.5rem;
}
.l-footer__btn a {
  color: #fff;
  display: inline-block;
}
.l-footer__sns {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
}
@media screen and (max-width: 1000px) {
  .l-footer__sns {
    margin-top: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.l-footer__icon {
  max-width: 3.25rem;
}
@media screen and (max-width: 767px) {
  .l-footer__time {
    text-align: center;
  }
}
.l-footer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-footer__nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.5rem;
  margin-right: 2.5rem;
}
@media screen and (max-width: 1179px) {
  .l-footer__nav-wrap {
    gap: 5rem;
  }
}
@media screen and (max-width: 1000px) {
  .l-footer__nav-wrap {
    display: none;
  }
}
.l-footer__nav-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8rem;
}
@media screen and (max-width: 1179px) {
  .l-footer__nav-lists {
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav-lists {
    display: none;
  }
}
.l-footer__nav-item {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1179px) {
  .l-footer__nav-item {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav-item {
    font-size: 1rem;
  }
}
.l-footer__nav-item-sub {
  font-size: 1.6rem;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.8;
  margin-top: -0.5rem;
  padding-left: 0.8rem;
}
@media screen and (max-width: 1179px) {
  .l-footer__nav-item-sub {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav-item-sub {
    font-size: 1rem;
  }
}
.l-footer__address {
  font-size: 1.6rem;
  margin-top: 2.5rem;
  line-height: 1.8;
  letter-spacing: 0;
  font-weight: 500;
}
@media screen and (max-width: 1179px) {
  .l-footer__address {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__address {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__address {
    margin-top: 1.5rem;
    text-align: center;
  }
}
.l-footer__tel {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .l-footer__tel {
    text-align: center;
  }
}
.l-footer__time {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  margin-top: 3rem;
}
@media screen and (max-width: 1179px) {
  .l-footer__time {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__time {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__time {
    margin-top: 2rem;
  }
}
.l-footer__copyright {
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.2142857143;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: 8rem;
}
@media screen and (max-width: 1179px) {
  .l-footer__copyright {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 4.7rem;
  }
}

/*----------------------------
header.php
------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 100%;
  z-index: 1001;
  background: #fff;
  /*----------------------------
  PCヘッダー
  ------------------------------*/
  /*----------------------------
  ロゴ設定
  ------------------------------*/
  /*----------------------------
  ナビラップ
  ------------------------------*/
  /*----------------------------
  ナビリスト
  ------------------------------*/
  /*----------------------------
  〇ナビ設定
  ------------------------------*/
  /*----------------------------
  ■ハンバーガーメニュー■
  ------------------------------*/
  /*----------------------------
  ■バーガーメニュー表示設定
  ------------------------------*/
  /*----------------------------
  ■バーガーメニュー　線
  ------------------------------*/
  /*----------------------------
  MENU/CLOSE文字の設定
  ------------------------------*/
  /*----------------------------
  ■ ctaボタン
  ------------------------------*/
  /*----------------------------
  ■バーガーメニュ左に配置
  使い方：l-header__drawerに、leftクラスを付与すると、左側のメニューに変更可能
  ------------------------------*/
}
.l-header__inner {
  padding: 0 5rem;
}
@media screen and (max-width: 1600px) {
  .l-header__inner {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0 1rem;
  }
}
.l-header__wrap {
  height: 10.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1100px) {
  .l-header__wrap {
    height: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 4rem;
  }
}
.l-header__logo-wrap {
  position: relative;
  z-index: 1001;
  max-width: 27.1rem;
}
@media screen and (max-width: 767px) {
  .l-header__logo-wrap {
    max-width: 18rem;
  }
}
.l-header__logo-wrap a h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__logo-wrap a h1 {
    max-width: 18rem;
  }
}
.l-header__logo-wrap a h1 img {
  width: 100%;
  height: auto;
}
.l-header__logo-wrap.body-kasou {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 22.1rem;
          flex: 0 0 22.1rem;
}
@media screen and (max-width: 767px) {
  .l-header__logo-wrap.body-kasou {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 18.3rem;
            flex: 0 0 18.3rem;
  }
}
.l-header__nav-logo {
  display: none;
}
.l-header__nav-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 1100px) {
  .l-header__nav-wrap {
    display: block;
    background: #FFF;
    color: #333;
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 10rem;
    -webkit-transform: translate(200%);
            transform: translate(200%);
    overflow-y: auto;
    height: 100%;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    position: fixed;
    top: calc(5rem - 2px);
    top: 0;
    right: 0;
    z-index: 999;
  }
  .l-header__nav-wrap.open {
    -webkit-transform: translate(0);
            transform: translate(0);
    height: 100%;
    padding: 6.5rem 4rem 3rem;
  }
  .l-header__nav-wrap.open .l-header__nav-item {
    width: 100%;
    display: block;
    border-bottom: 1px solid #D1D2D2;
    position: relative;
  }
  .l-header__nav-wrap.open .l-header__nav-item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    background: url(../images/common/header-arrow.svg) no-repeat center/contain;
  }
  .l-header__nav-wrap.open .l-header__nav-item a {
    display: block;
    width: 100%;
  }
  .l-header__nav-wrap.open .l-header__nav-item:has(.l-header__dropdown)::after {
    display: none;
  }
  .l-header__nav-wrap.open .l-header__nav-toggle {
    position: relative;
  }
  .l-header__nav-wrap.open .l-header__nav-toggle::before, .l-header__nav-wrap.open .l-header__nav-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2rem;
    background: #248BE9;
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .l-header__nav-wrap.open .l-header__nav-toggle::before {
    width: 0.2rem;
    height: 1.2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__nav-wrap.open .l-header__nav-toggle::after {
    width: 1.2rem;
    height: 0.2rem;
    right: 1.5rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header__nav-wrap.open .l-header__nav-toggle.is-open::before {
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
  }
  .l-header__nav-wrap.open .l-header__nav-toggle.is-open::after {
    -webkit-transform: translateY(-50%) rotate(0deg);
            transform: translateY(-50%) rotate(0deg);
  }
  .l-header__nav-wrap.open .l-header__nav-toggle.is-open {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #D1D2D2;
  }
}
.l-header__nav-wrap .l-header__nav-logo {
  display: block;
  max-width: 18.6rem;
  padding-top: 1.7rem;
}
.l-header__nav-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1100px) {
  .l-header__nav-lists {
    margin-top: 2rem;
    display: block;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__nav-lists.only-pc {
    display: none;
  }
}
.l-header__nav-lists.only-sp {
  display: none;
}
@media screen and (max-width: 1100px) {
  .l-header__nav-lists.only-sp {
    display: block;
  }
}
.l-header__nav-item {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 0 1.5rem;
  white-space: nowrap;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 1179px) {
  .l-header__nav-item {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav-item {
    font-size: 1.6rem;
  }
}
.l-header__nav-item::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) scaleX(0);
          transform: translateX(-50%) scaleX(0);
  width: 80%;
  border-bottom: solid 2px #248BE9;
  -webkit-transition: all 0.6s 0.1s ease;
  transition: all 0.6s 0.1s ease;
  content: "";
}
@media screen and (max-width: 1100px) {
  .l-header__nav-item::before {
    display: none;
  }
}
.l-header__nav-item:hover::before {
  -webkit-transform: translateX(-50%) scaleX(1);
          transform: translateX(-50%) scaleX(1);
}
@media screen and (max-width: 1500px) {
  .l-header__nav-item {
    padding: 0 0.7rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__nav-item {
    display: none;
    width: calc(100% - 4.8rem);
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 2em;
    padding: 1.5rem 0;
    font-size: 1.6rem;
  }
}
.l-header__nav-item .l-header__dropdown {
  position: absolute;
  top: 6rem;
  left: 50%;
  -webkit-transform: translateX(-20%);
          transform: translateX(-20%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fff;
  padding: 2rem 4rem;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.4rem;
}
@media screen and (max-width: 1100px) {
  .l-header__nav-item .l-header__dropdown {
    display: none;
    position: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 2rem 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.l-header__nav-item .l-header__dropdown.is-open {
  width: 100%;
  display: block;
  opacity: 1;
  visibility: visible;
  padding: 1.3rem 0 0;
}
.l-header__nav-item .l-header__dropdown a {
  border-bottom: none;
}
.l-header__nav-item:hover .l-header__dropdown {
  opacity: 1;
  visibility: visible;
}
.l-header__drawer {
  display: none;
}
@media screen and (max-width: 1100px) {
  .l-header__drawer {
    display: contents;
  }
}
@media screen and (max-width: 1179px) {
  .l-header__drawer-btn--access {
    position: absolute;
    z-index: 1001;
    top: 1.5rem;
    right: 7.7rem;
  }
  .l-header__drawer-btn--access .l-header__btn {
    width: 4rem;
    border: none;
  }
  .l-header__drawer-btn--access .l-header__btn-txt {
    font-size: 1rem;
    padding-top: 3rem;
    padding-left: 0;
  }
  .l-header__drawer-btn--access .l-header__btn-txt::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 1.6rem;
    height: 2.2rem;
  }
}
.l-header__drawer-bar {
  background-color: #333;
  width: 23px;
  height: 2px;
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  left: 50%;
}
.l-header__drawer-bar.bar--1 {
  top: 30%;
}
.l-header__drawer-bar.bar--2 {
  top: 50%;
}
.l-header__drawer-bar.bar--3 {
  top: 70%;
}
.l-header__drawer-menu-txt {
  bottom: -1.8rem;
  font-size: 10px;
  font-weight: bold;
  width: 100%;
  position: absolute;
  left: 0;
  text-align: center;
}
.l-header__drawer-menu-txt.u-disable--hidetxt {
  display: none;
}
.l-header__drawer-btn {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  top: 3px;
  right: 5px;
  z-index: 1001;
  position: fixed;
  padding: 0;
  color: #fff;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none;
  /*----------------------------
  ■ボタンアクティブ時の制御
  ------------------------------*/
}
.l-header__drawer-btn.active {
  /*----------------------------
  ■メニュタップ時アニメーション　×に変更
  ------------------------------*/
}
.l-header__drawer-btn.active .l-header__drawer-bar {
  width: 15px;
  left: 8px;
  background: #333;
}
.l-header__drawer-btn.active .u-active--hidetxt {
  display: none;
}
.l-header__drawer-btn.active .u-disable--hidetxt {
  display: block;
  letter-spacing: 0.08em;
}
.l-header__drawer-btn.active .bar--1 {
  -webkit-transform: rotate(0.7853981634rad) translate(-50%, -50%);
          transform: rotate(0.7853981634rad) translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.l-header__drawer-btn.active .bar--2 {
  opacity: 0;
}
.l-header__drawer-btn.active .bar--3 {
  -webkit-transform: rotate(-0.7853981634rad) translate(-50%, -50%);
          transform: rotate(-0.7853981634rad) translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.l-header__drawer-bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background: rgba(51, 51, 51, 0.5);
  display: none;
  top: 5rem;
  left: 0;
}
.l-header__btn-items {
  display: none;
}
@media screen and (max-width: 1100px) {
  .l-header__btn-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
  }
}
.l-header__btn-item {
  background: #02B0ED;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  position: relative;
}
.l-header__btn-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1.6rem;
  height: 1.2rem;
  background: url(../images/common/mail.svg) no-repeat center/contain;
}
.l-header__btn-item--orange {
  background: #EB9C3F;
}
.l-header__btn-item--orange::before {
  width: 1.8rem;
  height: 1.8rem;
  background: url(../images/common/tel.svg) no-repeat center/contain;
}
.l-header__btn-wrap {
  margin-left: 1vw;
}
@media screen and (max-width: 1179px) {
  .l-header__btn-wrap {
    margin-left: 1vw;
  }
}
@media screen and (max-width: 1100px) {
  .l-header__btn-wrap {
    margin-top: 3rem;
  }
}
.l-header__btn {
  border-radius: 1rem;
  color: #fff;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__btn {
    border: none;
  }
}
.l-header__btn.c-btn--contact {
  padding: 1.5rem 1rem 1.5rem 1.5rem;
}
@media screen and (max-width: 1600px) {
  .l-header__btn.c-btn--contact {
    font-size: 1.2rem;
    padding: 1.5rem 0.7rem 1.5rem 0.7rem;
  }
  .l-header__btn.c-btn--contact span {
    padding: 0 1.5rem 0 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__btn.c-btn--contact {
    font-size: 1.4rem;
  }
}
.l-header__btn--orange {
  background: #EB9C3F;
}
.l-header__btn-txt {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-header__btn-txt {
    font-size: 1rem;
  }
}
.l-header .l-header__drawer.left .l-header__nav-wrap {
  -webkit-transform: translate(-100%);
          transform: translate(-100%);
  right: auto;
  left: 0;
}
.l-header .l-header__drawer.left .l-header__nav-wrap.open {
  -webkit-transform: translate(0);
          transform: translate(0);
}
.l-header .l-header__drawer.left .l-header__drawer-btn {
  right: auto;
  left: 32px;
}
.l-header__link {
  display: none;
}
@media screen and (max-width: 1100px) {
  .l-header__link {
    margin-top: 5.5rem;
    font-size: 1.6rem;
    font-family: "Shippori Mincho", serif;
    line-height: 1.125;
    font-weight: 400;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 0.9rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0.9rem;
    z-index: 100;
  }
}

/*----------------------------
Object
------------------------------*/
.back-to-top-wrapper {
  position: fixed;
  z-index: 100;
  width: 11.4rem;
  right: 3rem;
  bottom: 14.6rem;
}
@media screen and (max-width: 767px) {
  .back-to-top-wrapper {
    width: 8.7rem;
    height: 6.3rem;
    bottom: 7.4rem;
    right: 1rem;
  }
  .back-to-top-wrapper .c-btn__back-to-top img {
    width: 8.7rem;
    height: 6.3rem;
  }
}

/*----------------------------
■■ ボタンコンポーネント　■■
使い方
<div class="c-btn__m-size">
  <a href="#" class="c-btn">
    <span class="c-btn__txt">テキスト</span>
  </a>
</div><!-- .c-btn__wrap -->

c-btn__m-sizeのクラス変更で、サイズ調整可能
------------------------------*/
/*----------------------------
■ ボタン基本設定
------------------------------*/
.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  background: #02B0ED;
  color: #fff;
  border-radius: 32px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  position: relative;
  padding: 0.7rem;
  max-width: 24.5rem;
  /*----------------------------
    ■ ボタンサイズ
    使い方：クラスを変えると、ボタンのサイズが変わる
    ------------------------------*/
  /*
      ・Sサイズ
      ------------------------------*/
  /*
      ・通常サイズ（Mサイズ）
      ------------------------------*/
  /*
    ・（Lサイズ）
    ------------------------------*/
  /*----------------------------
  ■ボタンカラーパターン
  使い方：c-btnにマルチクラスでカラー変更可能
  例）c-btn c-btn--2
  ------------------------------*/
  /*----------------------------
  ■ ボタン位置調整
  使い方：サイズがついているクラスに、マルチクラスをする。
  c-btn__left（左寄せ）
  c-btn__center（中央寄せ）
  c-btn__right（右寄せ）
  例：
  <div class="c-btn__m-size c-btn__center">
  ------------------------------*/
  /*----------------------------
    ■　フォント設定
    ------------------------------*/
  /*----------------------------
      ■ボタンアイコン設定
      使い方：c-btn__txt に、マルチクラスで付与すると、アイコン追加。
      <span class="c-btn__txt c-btn__left-icon">テキスト</span>

      fontawesomeアイコンは、以下より探す
      https://fontawesome.com/search?s=solid%2Cbrands
      ------------------------------*/
  /*
  ・ボタンアイコン左
  ------------------------------*/
  /*
        ・ボタンアイコン右
        ------------------------------*/
}
.c-btn__circle {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: absolute;
  right: 1rem;
}
.c-btn__circle-hole {
  width: 4px;
  height: 4px;
  background-color: #56b18d;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-btn:focus, .c-btn:hover {
  opacity: 0.7;
}
.c-btn--white {
  background: #fff;
  color: #248BE9;
}
.c-btn--white .c-btn__circle {
  background: #248BE9;
}
.c-btn--white .c-btn__circle-hole {
  background: #fff;
}
.c-btn--white-orange {
  background: #fff;
  color: #EB9C3F;
}
.c-btn--white-orange .c-btn__circle {
  background: #EB9C3F;
}
.c-btn--white-orange .c-btn__circle-hole {
  background: #fff;
}
.c-btn__s-size {
  width: 20rem;
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .c-btn__s-size {
    width: 20rem;
    height: 5rem;
  }
}
.c-btn__m-size {
  width: 32rem;
  height: 6.4rem;
}
@media screen and (max-width: 767px) {
  .c-btn__m-size {
    width: 32rem;
    height: 6.4rem;
  }
}
.c-btn__l-size {
  width: 30rem;
  height: 8rem;
}
@media screen and (max-width: 767px) {
  .c-btn__l-size {
    width: 30rem;
    height: 8rem;
  }
}
.c-btn.c-btn--2 {
  background: #000;
  color: #fff;
}
.c-btn.c-btn--2:hover {
  background: #fff;
  color: #000;
}
.c-btn__left {
  margin: 0 auto 0 0;
}
.c-btn__center {
  margin: 0 auto;
  text-align: center;
}
.c-btn__right {
  margin: 0 0 0 auto;
}
.c-btn__left-pc {
  margin: 0 auto 0 0;
}
@media screen and (max-width: 767px) {
  .c-btn__left-pc {
    margin: 0;
  }
}
.c-btn__center-pc {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-btn__center-pc {
    margin: 0;
  }
}
.c-btn__right-pc {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .c-btn__right-pc {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-btn__left-sp {
    margin: 0 auto 0 0;
  }
}
@media screen and (max-width: 767px) {
  .c-btn__center-sp {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .c-btn__right-sp {
    margin: 0 0 0 auto;
  }
}
.c-btn__margin--x {
  margin: 0 4rem;
}
@media screen and (max-width: 767px) {
  .c-btn__margin--x {
    margin: 0;
  }
}
.c-btn__txt {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .c-btn__txt {
    font-size: 1.6rem;
  }
}
.c-btn__left-icon {
  padding-left: 2rem;
  position: relative;
}
.c-btn__left-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6px;
  height: 15px;
  background: url("../images/common/arrow.svg") no-repeat center center/contain;
}
.c-btn:hover .c-btn__left-icon::before {
  background: url("../images/common/arrow_hover.svg") no-repeat center center/contain;
}
.c-btn__right-icon {
  padding-right: 3.1rem;
  position: relative;
}
.c-btn__right-icon::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7px;
  height: 6px;
  background: url("../images/common/.svg") no-repeat center center/contain;
}
.c-btn:hover .c-btn__right-icon::before {
  background: url("../images/common/.svg") no-repeat center center/contain;
}
.c-btn--arrow {
  font-weight: 700;
  line-height: 1.4285714286;
  border-bottom: 1px solid #fff;
}
.c-btn--arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/common/link.svg) no-repeat center/contain;
}
.c-btn--arrow:hover {
  background: none;
  opacity: 0.7;
}

.c-btn--contact {
  background: #02B0ED;
  color: #fff;
  border-radius: 5px;
  padding: 1.5rem 4.9rem 1.5rem 6.8rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .c-btn--contact {
    font-size: 1.4rem;
    padding: 1.5rem 3rem 1.5rem 5rem;
  }
}
.c-btn--contact::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.4rem;
  height: 0.8rem;
  background: url(../images/common/btn-arrow.svg) no-repeat center/contain;
}
.c-btn--contact span {
  position: relative;
  padding: 0 2.6rem;
}
.c-btn--contact span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.8rem;
  height: 1.3rem;
  background: url(../images/common/mail.svg) no-repeat center/contain;
}

.c-btn--contact--orange {
  background: #EB9C3F;
}
.c-btn--contact--orange span::before {
  width: 1.8rem;
  height: 1.8rem;
  background: url(../images/common/tel.svg) no-repeat center/contain;
}

.c-btn2 {
  font-size: 2.4rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding-right: 7rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .c-btn2 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn2 {
    font-size: 1.5rem;
    padding-right: 4.4rem;
  }
}
.c-btn2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  background: #248BE9;
  border-radius: 50%;
  border: 2px solid #248BE9;
}
@media screen and (max-width: 767px) {
  .c-btn2::before {
    width: 3rem;
    height: 3rem;
  }
}
.c-btn2::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.8rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.7rem;
  height: 1.2rem;
  background-color: #fff;
  mask-image: url(../images/common/btn2-arrow.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url(../images/common/btn2-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .c-btn2::after {
    right: 1.4rem;
  }
}
.c-btn2:hover::before {
  background: #fff;
}
.c-btn2:hover::after {
  background-color: #248BE9;
}

.c-btn3 {
  -webkit-filter: drop-shadow(0px 5.58824px 13.9706px rgba(61, 91, 97, 0.2));
          filter: drop-shadow(0px 5.58824px 13.9706px rgba(61, 91, 97, 0.2));
  background: #02B0ED;
  border: 2.79412px solid #02B0ED;
  border-radius: 70px;
  font-size: 5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 1rem 10rem;
  position: relative;
  max-width: 40rem;
}
@media screen and (max-width: 1179px) {
  .c-btn3 {
    padding: 1rem 10rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn3 {
    padding: 1rem 10rem;
    font-size: 2rem;
  }
}
.c-btn3::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.2);
  -webkit-filter: blur(2.79412px);
          filter: blur(2.79412px);
  border-radius: 70px;
  width: 80%;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-btn3::before {
    height: 1.5rem;
  }
}
.c-btn3::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4.4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2rem;
  height: 2.6rem;
  background: url(../images/common/btn2-arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .c-btn3::after {
    right: 2.4rem;
    width: 1rem;
    height: 1.6rem;
  }
}

.pager .wp-pagenavi {
  text-align: center;
  margin-top: 6rem;
  font-size: 1.2rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .pager .wp-pagenavi {
    margin-top: 7rem;
  }
}
.pager .wp-pagenavi span.current {
  width: 4rem;
  height: 4rem;
  margin: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #248BE9;
  color: #fff;
  border-radius: 0;
  border: 1px solid #248BE9;
  -webkit-transition: 250ms all;
  transition: 250ms all;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .pager .wp-pagenavi span.current {
    width: 4rem;
    height: 4rem;
  }
}
.pager .wp-pagenavi span.current:hover {
  background: #248BE9;
  color: #fff;
}
.pager .wp-pagenavi .page {
  width: 4rem;
  height: 4rem;
  margin: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #248BE9;
  border: 1px solid #248BE9;
  -webkit-transition: 250ms all;
  transition: 250ms all;
  border-radius: 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .pager .wp-pagenavi .page {
    width: 4rem;
    height: 4rem;
  }
}
.pager .wp-pagenavi .page:hover {
  background: #248BE9;
  color: #fff;
  opacity: 1;
}
.pager .wp-pagenavi .nextpostslink, .pager .wp-pagenavi .previouspostslink {
  width: 2rem;
  height: 2.6rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 250ms all;
  transition: 250ms all;
  border: none;
  color: transparent;
}
.pager .wp-pagenavi .nextpostslink {
  background: url("../images/single/pager-arrow-right.svg") no-repeat center center/contain;
}
.pager .wp-pagenavi .previouspostslink {
  background: url("../images/single/pager-arrow-left.svg") no-repeat center center/contain;
}
.pager .wp-pagenavi .pages {
  display: none;
}
.pager .wp-pagenavi .first, .pager .wp-pagenavi .last {
  border: none;
  display: none;
}
.pager .wp-pagenavi .first:hover, .pager .wp-pagenavi .last:hover {
  opacity: 0.7;
}
.pager .wp-pagenavi .extend {
  border: none;
  display: none;
}
.pager .wp-pagenavi .extend:hover {
  opacity: 0.7;
}

.page-numbers {
  width: 4rem;
  height: 4rem;
  margin: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #248BE9;
  border: 1px solid #248BE9;
  -webkit-transition: 250ms all;
  transition: 250ms all;
  border-radius: 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .page-numbers {
    width: 4rem;
    height: 4rem;
  }
}
.page-numbers:hover {
  background: #248BE9;
  color: #fff;
  opacity: 1;
}

.faq__lists {
  width: 100%;
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  .faq__lists {
    margin-top: 3.2rem;
  }
}
.faq__list-item {
  background: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 1.7rem 3.2rem;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .faq__list-item {
    padding: 1rem;
    margin-bottom: 1.6rem;
  }
}
.faq__question {
  padding-left: 7.3%;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .faq__question {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .faq__question {
    padding: 0 2.5rem 0 3.5rem;
  }
}
.faq__question::before {
  content: "";
  background: url("../images/icon-q.svg") no-repeat center center/contain;
  width: 4.6rem;
  height: 4.6rem;
  position: absolute;
  left: 0;
  top: -0.2rem;
}
@media screen and (max-width: 767px) {
  .faq__question::before {
    top: 0.9rem;
    width: 2.3rem;
    height: 2.3rem;
  }
}
.faq__question::after {
  content: "";
  position: absolute;
  width: 3rem;
  height: 3rem;
  background: url("../images/faq_open_icon.svg") no-repeat center center/contain;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .faq__question::after {
    right: 0;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.faq__question.active::after {
  content: "";
  background: url("../images/faq_close_icon.svg") no-repeat center center/contain;
}
.faq__answer {
  padding: 2rem 1rem 2rem 7.3%;
  display: none;
  position: relative;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .faq__answer {
    padding: 1rem 2.5rem 1rem 3.5rem;
  }
}
.faq__answer::before {
  content: "";
  background: url("../images/icon-a.svg") no-repeat center center/contain;
  position: absolute;
  left: 0;
  width: 4.6rem;
  height: 4.6rem;
  top: 1.8rem;
}
@media screen and (max-width: 767px) {
  .faq__answer::before {
    width: 2.3rem;
    height: 2.3rem;
    top: 1.1rem;
  }
}
.faq__answer a {
  text-decoration: underline;
}

/*----------------------------
■■　カードコンポーネント　■■
概要：一覧(archive)などで、カード一覧
を使用する際に、使う事が多いコンポーネント
------------------------------*/
/*----------------------------
■　カード基準設定
------------------------------*/
.c-card {
  /*----------------------------
  ■カードグループ設定
  ------------------------------*/
  /*----------------------------
  ■カード画像設定
  ------------------------------*/
  /*----------------------------
  ■カードタイトル設定
  ------------------------------*/
  /*----------------------------
  ■カードinner設定
  概要：slickを使用する際に、c-cardを直接
  触ると、エラーが起こる。その為、内側のクラスとしてinnerを設けている。
  ------------------------------*/
  /*----------------------------
  ■カードラベル設定
  ------------------------------*/
  /*----------------------------
  ■カードボディ設定
  ------------------------------*/
  /*----------------------------
  ■カード日付設定
  ------------------------------*/
}
.c-card__groups {
  display: -ms-grid;
  display: grid;
  padding: 6.4rem 0 0;
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
  row-gap: 4.8rem;
  -ms-grid-columns: 1fr 4rem 1fr 4rem 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1179px) {
  .c-card__groups {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .c-card__groups {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-card__img-wrap {
  margin-bottom: 1.6rem;
  width: 100%;
  position: relative;
  border: 1px solid transparent;
  /*
  ・画像のレスポンシブ設定
  ------------------------------*/
}
.c-card__img-wrap.c-card__img-wrap1x1::before {
  display: block;
  content: "";
  padding-top: 56.25%;
}
.c-card__img-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card__ttl {
  font-weight: normal;
  line-height: 1.43;
}
.c-card__inner {
  -webkit-transition: 250ms all;
  transition: 250ms all;
  position: relative;
}
.c-card__label {
  color: #fff;
  background: #3B454D;
  height: 3.2rem;
  min-width: 16rem;
  padding: 0 1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 1179px) {
  .c-card__label {
    height: 2.5rem;
  }
}
.c-card__body {
  padding: 0;
}
.c-card__date {
  font-size: 1.2rem;
  font-weight: bold;
  color: #ADADAD;
}
@media screen and (max-width: 767px) {
  .c-card__date {
    font-size: 1.2rem;
  }
}

/*----------------------------
■■ mediaテンプレート　■■
------------------------------*/
.c-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 6.4rem;
}
@media screen and (max-width: 1179px) {
  .c-media {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
@media screen and (max-width: 767px) {
  .c-media {
    display: -ms-grid;
    display: grid;
    justify-items: center;
    max-width: 48rem;
    margin: 0 auto;
    row-gap: 3.2rem;
    padding-bottom: 3.2rem;
  }
}
.c-media.u-pb--0 {
  padding-bottom: 0;
}
.c-media__img-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 40.25%;
          flex: 0 1 40.25%;
}
@media screen and (max-width: 767px) {
  .c-media__img-wrap {
    max-width: 32rem;
  }
}
.c-media__img-wrap.u-img--l {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 55.55%;
          flex: 0 1 55.55%;
}
.c-media__body {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48.6%;
          flex: 0 1 48.6%;
}
@media screen and (max-width: 1179px) {
  .c-media__body {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 52.5%;
            flex: 0 1 52.5%;
  }
}
.c-media__ttl {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-bottom: 1em;
}
@media screen and (max-width: 1179px) {
  .c-media__ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-media__ttl {
    font-size: 2rem;
  }
}
.c-media__btn {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-media__btn {
    margin-top: 1.6rem;
  }
}

/*----------------------------
■■ パンくずコンポーネント　■■
------------------------------*/
.bread-nav__wrapper {
  padding: 1.3em 0 2.9em;
  line-height: 1.33;
  font-size: 1.4rem;
  letter-spacing: 0;
  max-width: 137.6rem;
}
@media screen and (max-width: 767px) {
  .bread-nav__wrapper {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .bread-nav__wrapper {
    padding-bottom: 1.9em;
  }
}
.bread-nav__wrapper a {
  color: #000;
}

/*----------------------------
■■ お問い合わせテンプレート　■■
------------------------------*/
/*----------------------------
カラー初期設定
------------------------------*/
.p-form {
  /*----------------------------
  ■お問い合わせボックス
  ------------------------------*/
  /*
  ・お問い合わせフローアイコン設定
  ------------------------------*/
  /*
  ・フローアイコン　間の線
  ------------------------------*/
  /*
  ・フローアイコン設定
  ------------------------------*/
  /*----------------------------
  ■入力項目　見出し　設定
  ------------------------------*/
  /*----------------------------
  ■テーブル設定
  ------------------------------*/
  /*----------------------------
  ■ボタンラップ
  ------------------------------*/
  /*----------------------------
  ■確認ページ confirm
  ------------------------------*/
  /*----------------------------
  ■　完了ページ thanks
  ------------------------------*/
  /*----------------------------
  ■recaptchaテキスト
  ------------------------------*/
  /*----------------------------
  ■ トップテキスト
  ------------------------------*/
  /*----------------------------
  ■　必須ラベル
  ------------------------------*/
  /*----------------------------
  ■ safari　ボタンバグ回避
  ------------------------------*/
}
.p-form__box {
  background: transparent;
  padding: 0 1rem;
  max-width: 100rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-form__box {
    padding-bottom: 2rem;
  }
}
.p-form__box .c-heading__sub {
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .p-form__box .c-heading__sub {
    font-size: 1.6rem;
  }
}
.p-form__box .p-country-name {
  display: none;
}
.p-form__txt-bottom {
  font-weight: 500;
}
.p-form__txt-tel {
  font-size: 1.8rem;
  font-weight: 600;
}
@media screen and (max-width: 1179px) {
  .p-form__txt-tel {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__txt-tel {
    font-size: 1.5rem;
  }
}
.p-form__txt-line {
  font-size: 1.8rem;
  margin-top: 4rem;
  font-weight: 600;
}
@media screen and (max-width: 1179px) {
  .p-form__txt-line {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__txt-line {
    font-size: 1.5rem;
  }
}
.p-form__line-btn.c-btn {
  margin-top: 1rem;
  color: #fff;
  font-weight: 700;
  background: #15ab3b;
}
.p-form__bottom {
  margin-top: 5rem;
  max-width: 75rem;
  margin-inline: auto;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-form__bottom {
    margin-top: 3rem;
  }
}
.p-form__bottom-wrap {
  margin-top: 2rem;
  border: 2px solid #248BE9;
  border-radius: 10px;
  color: #248BE9;
  padding: 2rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-form__bottom-wrap {
    padding: 2rem;
  }
}
.p-form__bottom-item {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-form__bottom-item {
    padding-left: 1em;
    text-indent: -1em;
  }
}
.p-form__bottom-txt {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-form__bottom-txt {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__bottom-txt {
    font-size: 1.2rem;
  }
}
.p-form__flow-icon-inner {
  width: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0;
}
.p-form__flow-icon-inner .u-ls--0 {
  letter-spacing: 0;
}
.p-form__flow-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  padding: 0 0 8rem;
}
@media screen and (max-width: 1179px) {
  .p-form__flow-wrap {
    padding-bottom: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__flow-wrap {
    padding-bottom: 4rem;
  }
}
.p-form__border {
  width: 10rem;
  background: #248BE9;
  height: 1.5px;
  margin: -4rem 2rem 0;
}
.p-form__flow-icon {
  font-size: 1.6rem;
  width: 5rem;
  height: 5rem;
  border: 1.5px solid #248BE9;
  border-radius: 50%;
  background: #fff;
  color: #248BE9;
  font-weight: bold;
  display: -ms-grid;
  display: grid;
  place-items: center;
  letter-spacing: 0;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-form__flow-icon {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__flow-icon {
    margin-bottom: 1.3rem;
  }
}
.p-form__flow-icon.active {
  background: #248BE9;
  color: #fff;
}
.p-form__flow-icon p {
  font-weight: bold;
}
.p-form__heading {
  font-size: 2.4rem;
  color: #333;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-left: 3rem;
  position: relative;
  margin-bottom: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /*
  ・見出し横のマーク設定
  ------------------------------*/
}
@media screen and (max-width: 767px) {
  .p-form__heading {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__heading {
    padding-left: 2rem;
  }
}
.p-form__heading::before {
  content: "";
  width: 0.6rem;
  height: 3.2rem;
  background: #248BE9;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-form__heading .u-hide--txt {
  font-size: 1.4rem;
  font-weight: 500;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .p-form__heading .u-hide--txt {
    font-size: 1.2rem;
  }
}
.p-form__table-wrap {
  max-width: 70rem;
  margin: 0 auto;
  /*
  ・テーブル行設定
  ------------------------------*/
  /*
  ・非表示テキスト設定（個人情報）
  ------------------------------*/
  /*
  ・ハイフンは入力不要の調整
  ------------------------------*/
  /*
  ・※郵便番号入力で住所が自動表示されます
  の調整
  ------------------------------*/
}
.p-form__table-wrap tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 3rem;
  /*
  ・お名前、ふりがな行設定
  ------------------------------*/
}
.p-form__table-wrap tr.p-form__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  /*
  ・お名前、ふりがな　幅設定
  ------------------------------*/
}
.p-form__table-wrap tr.p-form__flex td {
  width: 48%;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap tr.p-form__flex td {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap tr.p-form__flex td:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap tr.p-form__flex td:nth-child(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap tr.p-form__flex td:nth-child(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap tr.p-form__flex td:nth-child(4) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
.p-form__table-wrap .u-hidden--txt {
  display: none;
}
.p-form__table-wrap .u-hidden--txt.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-form__table-wrap .u-hidden--txt .u-padding--left {
  padding-left: 5rem;
}
.p-form__table-wrap .u-padding--top {
  padding-top: 0.4rem;
  line-height: 1.4;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap .u-padding--top {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap .u-padding--top {
    padding-top: 1rem;
  }
}
.p-form__table-wrap .u-padding--y {
  padding: 1rem 0 2.3rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap .u-padding--y {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap .u-padding--y {
    padding: 1rem 0 2rem;
    line-height: 1.5;
  }
}
.p-form__table-wrap table {
  width: 100%;
}
.p-form__table-wrap input,
.p-form__table-wrap select,
.p-form__table-wrap textarea {
  border-radius: 0 !important;
  font-size: 1.6rem;
  width: 100%;
  background: #fff;
  border: 1px solid #248BE9;
  padding: 1.6rem 2rem;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap input,
  .p-form__table-wrap select,
  .p-form__table-wrap textarea {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__table-wrap input,
  .p-form__table-wrap select,
  .p-form__table-wrap textarea {
    padding: 1.2rem 2rem;
  }
}
.p-form__table-wrap input.u-half--width,
.p-form__table-wrap select.u-half--width,
.p-form__table-wrap textarea.u-half--width {
  width: 15rem;
}
.p-form__table-wrap label {
  letter-spacing: 0.1em;
}
.p-form__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 4rem;
}
.p-form__flex .u-blue--link {
  padding: 0 0.2em 0 0.5em;
}
.p-form__btn-wrap {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  /*
  ・個人情報チェックラベル設定
  ------------------------------*/
}
.p-form__btn-wrap label {
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
}
.p-form__btn-wrap input {
  width: 2.4rem;
  height: 2.4rem;
  margin-top: 0;
}
.p-form__btn-wrap.disable {
  display: none;
}
.p-form__btn-wrap input[type=checkbox]:checked + .p-form__privacy-txt::after {
  opacity: 1;
}
.p-form__btn-wrap .p-form__privacy-txt {
  display: inline-block;
  position: relative;
  padding: 0 0 0 1rem;
  text-align: left;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-form__btn-wrap .p-form__privacy-txt {
    margin-bottom: 2.4rem;
  }
}
.p-form__btn-wrap .p-form__privacy-txt a {
  color: #248BE9;
  text-decoration: underline;
}
.p-form__btn-wrap .p-form__privacy-txt span {
  font-weight: bold;
}
.p-form__btn-wrap .p-form__privacy-txt::after, .p-form__btn-wrap .p-form__privacy-txt::before {
  content: "";
  position: absolute;
  display: block;
}
.p-form__confirm-btn-groups {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 6rem auto;
  grid-template-columns: repeat(2, auto);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 3rem;
  -webkit-column-gap: 6rem;
     -moz-column-gap: 6rem;
          column-gap: 6rem;
  padding-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-form__confirm-btn-groups {
    -ms-grid-columns: (auto)[1];
    grid-template-columns: repeat(1, auto);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0;
  }
}
.p-form__confirm-btn-groups .c-btn__m-size {
  width: 24rem;
}
.p-form__confirm-btn-groups .c-btn__m-size:nth-child(1) {
  justify-self: flex-end;
}
@media screen and (max-width: 767px) {
  .p-form__confirm-btn-groups .c-btn__m-size:nth-child(1) {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}
.p-form__confirm-btn-groups .c-btn__m-size:nth-child(2) {
  justify-self: flex-start;
}
@media screen and (max-width: 767px) {
  .p-form__confirm-btn-groups .c-btn__m-size:nth-child(2) {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}
.p-form__wrapper {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-form__wrapper {
    padding-top: 4rem;
  }
}
.p-form__thanks-txt {
  text-align: center;
  padding: 0 0 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1179px) {
  .p-form__thanks-txt {
    padding-bottom: 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__thanks-txt {
    padding-bottom: 5rem;
    text-align: left;
  }
}
.p-form__thanks-btn-groups {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 4.8rem;
  -webkit-column-gap: 6.4rem;
     -moz-column-gap: 6.4rem;
          column-gap: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-form__thanks-btn-groups {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-form__thanks-btn-groups .c-btn__m-size:nth-child(1) {
  justify-self: flex-end;
}
@media screen and (max-width: 767px) {
  .p-form__thanks-btn-groups .c-btn__m-size:nth-child(1) {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}
.p-form__thanks-btn-groups .c-btn__m-size:nth-child(1) a {
  color: #248BE9;
}
.p-form__thanks-btn-groups .c-btn__m-size:nth-child(2) {
  justify-self: flex-start;
}
@media screen and (max-width: 767px) {
  .p-form__thanks-btn-groups .c-btn__m-size:nth-child(2) {
    -ms-grid-column-align: center;
        justify-self: center;
  }
}
.p-form__recaptcha-txt {
  font-size: 1.2rem;
  text-align: center;
  padding-bottom: 4rem;
}
.p-form__txt-top {
  font-size: 1.8rem;
  color: #333;
  font-weight: bold;
  line-height: 1.9;
  margin-bottom: 3rem;
  border: 2px solid #248BE9;
  border-radius: 10px;
  padding: 3rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-form__txt-top {
    font-size: 1.6rem;
  }
}
.p-form__tel-wrap {
  text-align: center;
  padding-bottom: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-form__tel-wrap {
    padding-bottom: 1.8rem;
  }
}
.p-form__tel-wrap a {
  color: #248BE9;
}
.p-form__tel {
  position: relative;
  font-size: 3.6rem;
  font-weight: bold;
  padding-left: 4.5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-form__tel {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__tel {
    padding-left: 3rem;
  }
}
.p-form__tel::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  color: #248BE9;
  left: 0;
  top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-form__tel::before {
    top: 0.6rem;
  }
}
.p-form__tel-txt {
  font-weight: 500;
  padding-top: 2rem;
  line-height: 1.66;
}
.p-form__label {
  background: #AA2C04;
  color: #fff;
  border-radius: 2rem;
  font-weight: bold;
  padding: 0 5px;
  font-size: 1.4rem;
  line-height: 1;
  margin-left: 1em;
  display: -ms-inline-grid;
  display: inline-grid;
  place-items: center;
  width: 6.4rem;
  height: 3.2rem;
  letter-spacing: 0.1em;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-form__label {
    font-size: 1.4rem;
  }
}
.p-form input[type=radio] {
  -webkit-appearance: auto;
  padding: 0;
}
.p-form input#privacy-policy {
  -webkit-appearance: auto;
  -webkit-transform: scale(1);
          transform: scale(1);
  padding: 0;
}

/*----------------------------
■リキャプチャバッヂ削除
------------------------------*/
.grecaptcha-badge {
  visibility: hidden;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
}

/*----------------------------
■ 送信ボタン
------------------------------*/
button[type=submit] {
  font-size: 1.6rem;
  background: #ccc;
  color: #fff;
  display: -ms-grid;
  display: grid;
  border: 0;
  place-items: center;
  line-height: 1;
  font-weight: bold;
  pointer-events: none;
  -webkit-transition: all 250ms;
  transition: all 250ms;
}
@media screen and (max-width: 767px) {
  button[type=submit] {
    font-size: 1.4rem;
  }
}
button[type=submit].active {
  pointer-events: initial;
  cursor: pointer;
  background: #248BE9;
  border: 0;
}
button[type=submit].active:hover {
  opacity: 0.7;
}
button[type=submit].u-rev {
  background: #7d7d7d;
  padding: 0;
}

input#privacy-policy {
  -webkit-appearance: auto;
}

label[for=privacy-policy-1] input[id=privacy-policy-1] {
  margin: 0;
  width: 24px;
  height: 24px;
}
label[for=privacy-policy-1] .mwform-checkbox-field-text {
  display: none;
}

input[type=checkbox] {
  padding: 0;
  -webkit-appearance: checkbox;
  width: auto;
  height: auto;
}

input[type=radio] {
  width: 2rem;
  height: 2rem;
  padding: 0;
  margin: 0 10px 0 0;
  -webkit-appearance: auto;
}

.mwform-radio-field label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-kakunin .p-form__label {
  display: none;
}
.p-kakunin .p-form__box input[id=privacy-policy] {
  display: none;
}
.p-kakunin .p-form__box .c-heading__sub {
  color: #333;
  padding-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important;
  }
}

/*1.フェードインアニメーションの指定*/
/*一瞬表示されるのを防ぐ*/
/*2.上下の動きを指定*/
.sidebar__ttl {
  color: #248BE9;
  font-weight: bold;
  font-family: "bilo", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #707070;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sidebar__ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .sidebar__ttl {
    margin-bottom: 1.5rem;
  }
}
.sidebar__cat-txt {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .sidebar__cat-txt {
    font-size: 1.4rem;
  }
}
.sidebar__archive-txt {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .sidebar__archive-txt {
    font-size: 1.4rem;
  }
}
.sidebar__flex-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.sidebar__inner-pc {
  width: 26rem;
}
@media screen and (max-width: 767px) {
  .sidebar__inner-sp {
    width: 100%;
    position: static;
  }
}
.archive__wrapper select[name=archive-dropdown] {
  border: 1px solid #c9c6c6;
  padding: 1.2rem 0.5em;
  background: #fff;
}
.archive__conts-wrapper {
  border-bottom: 1px solid #707070;
  width: 65rem;
  margin: 0 auto;
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .archive__conts-wrapper {
    width: 100%;
  }
}

/*----------------------------
■■ 見出しコンポネント　■■
------------------------------*/
.c-heading {
  font-size: 5rem;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  padding-top: 2rem;
  line-height: 1.4444444444;
  font-size: clamp(2.6rem, 3vw, 5rem);
}
@media screen and (max-width: 1179px) {
  .c-heading {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-heading {
    font-size: 2.6rem;
  }
}
.c-heading:has(.c-heading__en) {
  color: #333;
}
.c-heading span {
  color: #248BE9;
}
.c-heading__en {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "M PLUS Rounded 1c", sans-serif;
  display: block;
  text-align: center;
  letter-spacing: 0;
  color: #248BE9;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 1179px) {
  .c-heading__en {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-heading__en {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-heading__en {
    padding-bottom: 1rem;
  }
}

.contact {
  padding: 9rem 0 14rem;
  background: url(../images/top/bg_contact.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 6rem 0 8rem;
  }
}
.contact .container {
  width: 138.9rem;
}
@media screen and (max-width: 1400px) {
  .contact .container {
    width: 100%;
  }
}
.contact__contents {
  margin-top: 10.3rem;
  background: #fff;
  border-radius: 48px;
  padding: 7rem 5rem 5.7rem;
  margin-left: 6rem;
  text-align: center;
}
@media screen and (max-width: 1179px) {
  .contact__contents {
    padding: 7.4rem 3rem 5.7rem;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .contact__contents {
    margin-top: 8rem;
    border-radius: 30px;
    padding: 7.4rem 2rem 5.7rem;
  }
}
.contact__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 1100px) {
  .contact__body {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__body {
    gap: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact__img {
  max-width: 65.5rem;
  margin-top: -11rem;
  margin-left: -10rem;
  width: 53.007518797%;
}
@media screen and (max-width: 1179px) {
  .contact__img {
    margin-left: -4rem;
    width: 43%;
  }
}
@media screen and (max-width: 767px) {
  .contact__img {
    width: 100%;
    margin-left: -3rem;
  }
}
.contact__img img {
  border-radius: 30px 0 30px 0;
}
.contact__items {
  width: 45.4887218045%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .contact__items {
    width: 100%;
  }
}
.contact__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 22.3rem 3.4rem 1fr;
  grid-template-columns: 22.3rem 1fr;
  gap: 3.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
}
@media screen and (max-width: 1100px) {
  .contact__item {
    -ms-grid-columns: 18rem 1fr;
    grid-template-columns: 18rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .contact__item {
    -ms-grid-columns: 15.3rem 2rem 1fr;
    grid-template-columns: 15.3rem 1fr;
    gap: 2rem;
  }
}
.contact__item:nth-child(n+2) {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .contact__item:nth-child(n+2) {
    margin-top: 2rem;
  }
}
.contact__item-ttl {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  border: 1px solid #333;
  border-radius: 10px;
  padding: 0.8rem 1rem 0.8rem 7rem;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 1179px) {
  .contact__item-ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item-ttl {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1000px) {
  .contact__item-ttl {
    padding: 0.8rem 1rem 0.8rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item-ttl {
    padding: 0.5rem 1rem 0.8rem 4rem;
  }
}
.contact__item-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2.8rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3rem;
  height: 3.2rem;
  background: url(../images/common/contact-price.svg) no-repeat center/contain;
}
@media screen and (max-width: 1000px) {
  .contact__item-ttl::before {
    left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item-ttl::before {
    width: 2rem;
    height: 2.2rem;
    left: 1rem;
  }
}
.contact__item--price .contact__item-txt {
  font-size: 7.2rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  letter-spacing: 0.05em;
  color: #248BE9;
  line-height: 1;
  font-size: clamp(4rem, 3.75vw, 7.2rem);
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .contact__item--price .contact__item-txt {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--price .contact__item-txt {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1200px) {
  .contact__item--price .contact__item-txt {
    font-size: 3.5rem;
    letter-spacing: -0.06em;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--price .contact__item-txt {
    font-size: 2.4rem;
  }
}
.contact__item--price .contact__item-txt span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #FFFE3E));
  background: linear-gradient(to bottom, transparent 80%, #FFFE3E 80%);
}
.contact__item--price .contact__item-txt p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #1363AB;
}
@media screen and (max-width: 1179px) {
  .contact__item--price .contact__item-txt p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--price .contact__item-txt p {
    font-size: 1.3rem;
  }
}
.contact__item--speed .contact__item-ttl::before {
  background: url(../images/common/contact-speed.svg) no-repeat center/contain;
}
.contact__item--speed .contact__item-txt {
  font-size: 4.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #042B66;
  line-height: 1;
}
@media screen and (max-width: 1179px) {
  .contact__item--speed .contact__item-txt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--speed .contact__item-txt {
    font-size: 1.8rem;
  }
}
.contact__item--work .contact__item-ttl::before {
  background: url(../images/common/contact-work.svg) no-repeat center/contain;
}
.contact__item--work .contact__item-txt {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #042B66;
  line-height: 1;
}
@media screen and (max-width: 1179px) {
  .contact__item--work .contact__item-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--work .contact__item-txt {
    font-size: 1.6rem;
  }
}
.contact__item--work .contact__item-txt span {
  font-size: 4rem;
  font-weight: 700;
  color: #248BE9;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (max-width: 1179px) {
  .contact__item--work .contact__item-txt span {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__item--work .contact__item-txt span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1179px) {
  .contact__item--work .contact__item-txt span {
    letter-spacing: -0.06em;
  }
}
.contact__read {
  margin-right: 5.7rem;
  display: inline-block;
  padding: 0 3.5rem;
  margin-top: 5.3rem;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  text-align: center;
  position: relative;
}
.contact__read span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #FFFE3E));
  background: linear-gradient(to bottom, transparent 80%, #FFFE3E 80%);
}
@media screen and (max-width: 767px) {
  .contact__read {
    padding: 0 2rem;
    margin-top: 3rem;
    font-size: 2rem;
    margin-right: unset;
  }
}
.contact__read::before {
  content: "";
  position: absolute;
  bottom: 13%;
  left: 0.8rem;
  width: 0.3rem;
  height: 3.3rem;
  background: #333;
  -webkit-transform: rotate(-27deg);
          transform: rotate(-27deg);
}
@media screen and (max-width: 767px) {
  .contact__read::before {
    bottom: 10%;
    height: 2.8rem;
  }
}
.contact__read::after {
  content: "";
  position: absolute;
  bottom: 13%;
  right: 0.8rem;
  width: 0.3rem;
  height: 3.3rem;
  background: #333;
  -webkit-transform: rotate(27deg);
          transform: rotate(27deg);
}
@media screen and (max-width: 767px) {
  .contact__read::after {
    bottom: 10%;
    height: 2.8rem;
  }
}
.contact__links {
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1179px) {
  .contact__links {
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__links {
    margin-top: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.contact__btn {
  text-align: center;
}
.contact__btn a {
  font-size: 3.6rem;
  display: inline-block;
  font-size: 3.6rem;
  font-weight: 500;
  border-radius: 50px;
  line-height: 1.5;
  color: #fff;
  padding: 1rem 4rem;
  min-width: 43.2rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .contact__btn a {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__btn a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1179px) {
  .contact__btn a {
    min-width: 33rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__btn a {
    min-width: 30rem;
    font-size: 2rem;
  }
}
.contact__btn a::after {
  content: "";
  position: absolute;
  top: 1.3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80%;
  height: 2.3rem;
  background: rgba(255, 255, 255, 0.2);
  -webkit-filter: blur(2px);
          filter: blur(2px);
  border-radius: 50px;
}
.contact__btn1 a {
  font-size: 4rem;
  background: #EF701C;
  border: 2px solid #EF701C;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  padding-left: 7.5rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .contact__btn1 a {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__btn1 a {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__btn1 a {
    font-size: 2rem;
  }
}
.contact__btn1 a::before {
  content: "";
  position: absolute;
  top: 55%;
  left: 4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.4rem;
  height: 3.9rem;
  -webkit-filter: blur(0);
          filter: blur(0);
  background: url(../images/common/tel.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .contact__btn1 a::before {
    width: 2rem;
    height: 3.5rem;
    left: 5rem;
  }
}
.contact__btn2 a {
  background: #248BE9;
  border: 2px solid #248BE9;
  position: relative;
  letter-spacing: 0.05em;
  padding-left: 7.5rem;
}
.contact__btn2 a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4rem;
  height: 3.2rem;
  -webkit-filter: blur(0);
          filter: blur(0);
  background: url(../images/common/contact-mail.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .contact__btn2 a::before {
    width: 3rem;
    height: 2.2rem;
  }
}
.contact__btn-txt {
  margin-top: 0.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .contact__btn-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .contact__btn-txt {
    font-size: 1.2rem;
  }
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

.Form {
  max-width: 70rem;
  margin-inline: auto;
  text-align: center;
}
.Form-Item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 18rem 1fr;
  grid-template-columns: 18rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.Form-Item-Label {
  text-align: left;
}

.Form,
.confirm_area,
.thanks_area {
  max-width: 70rem;
  margin: 0 auto;
  font-family: sans-serif;
  color: #333;
  text-align: center;
}
.Form h2,
.confirm_area h2,
.thanks_area h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.Form p,
.confirm_area p,
.thanks_area p {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.Form-Item,
.confirm_area .Form-Item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 18rem 1rem 1fr;
  grid-template-columns: 18rem 1fr;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .Form-Item,
  .confirm_area .Form-Item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    text-align: left;
  }
}

.Form-Item-Label {
  text-align: left;
  font-weight: bold;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.Form-Item-Label-Required {
  background-color: #e74c3c;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
  margin-right: 0.5rem;
}
.Form-Item-Label.isMsg {
  -ms-flex-item-align: start;
      -ms-grid-row-align: start;
      align-self: start;
}

.wpcf7-list-item-label {
  font-weight: bold;
  font-size: 1.4rem;
}

.wpcf7-list-item-label a {
  text-decoration: underline;
  color: #02B0ED;
}

input[type=text],
input[type=email],
input[type=number],
select,
textarea,
input[type=file],
.wpcf7-form-control-wrap {
  width: 100%;
  padding: 0.75rem;
  font-size: 1.6rem;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.wpcf7-form-control-wrap {
  border: none;
  padding: 0.75rem 0;
}

textarea {
  min-height: 8rem;
  resize: vertical;
}

.button-wrap p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .button-wrap p {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.button-wrap p input[type=button],
.button-wrap p input[type=submit] {
  padding: 1rem 10rem;
  background-color: #02B0ED;
  color: #fff;
  border: none;
  font-size: 1.6rem;
  border-radius: 2rem;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.button-wrap p input[type=button]:disabled,
.button-wrap p input[type=submit]:disabled {
  background-color: gray;
  cursor: not-allowed;
}
.button-wrap p input[type=button]:hover,
.button-wrap p input[type=submit]:hover {
  opacity: 0.7;
}
.button-wrap p input[type=button]:hover:not(:disabled),
.button-wrap p input[type=submit]:hover:not(:disabled) {
  opacity: 0.7;
}
.button-wrap p input[type=button].back_button,
.button-wrap p input[type=submit].back_button {
  background-color: gray;
}

.confirm_area,
.thanks_area {
  display: none;
}
.confirm_area.active,
.thanks_area.active {
  display: block;
}
.confirm_area .Form-Item span,
.thanks_area .Form-Item span {
  display: block;
  text-align: left;
  font-size: 1.4rem;
  padding: 0.75rem;
}

.p-form__tel-link {
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 1179px) {
  .p-form__tel-link {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-form__tel-link {
    font-size: 1.8rem;
  }
}

.Form p, .confirm_area p, .thanks_area p {
  font-size: 1.2rem;
}

.Form-Item-Note {
  grid-column: 1/-1;
  text-align: left;
}

.confirm_button {
  background-color: #ccc;
  cursor: not-allowed;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.confirm_button.active {
  background-color: #02B0ED;
  color: #fff;
  cursor: pointer;
}

.confirm_button.active:hover {
  opacity: 0.7;
}

.select-wrap {
  position: relative;
}
.select-wrap::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 40%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #02B0ED;
  display: inline-block;
}

.head {
  position: relative;
}
.head__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/320;
}
@media screen and (max-width: 1179px) {
  .head__img img {
    aspect-ratio: 1180/240;
  }
}
@media screen and (max-width: 767px) {
  .head__img img {
    aspect-ratio: 767/300;
  }
}
.head__contents {
  content: "";
  position: absolute;
  top: 16%;
  left: 10.5%;
}
.head__ttl {
  font-size: 5.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .head__ttl {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .head__ttl {
    font-size: 2.6rem;
  }
}
.head__en {
  font-size: 2.4rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #02B0ED;
}
@media screen and (max-width: 1179px) {
  .head__en {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .head__en {
    font-size: 1.6rem;
  }
}
.head--work {
  background: #E5F5FF;
}
.head--voice {
  background: #F8F8F9;
}

.c-bg-dot {
  background: #E5F5FF;
  position: relative;
}
.c-bg-dot::before {
  content: "";
  position: absolute;
  top: -10rem;
  left: 0;
  width: 100%;
  height: 81rem;
  background: url(../images/common/bg_dot-top.png) no-repeat center/cover;
}
@media screen and (min-width: 1921px) {
  .c-bg-dot::before {
    height: 99rem;
  }
}
@media screen and (max-width: 1179px) {
  .c-bg-dot::before {
    height: 50rem;
  }
}
@media screen and (max-width: 767px) {
  .c-bg-dot::before {
    height: 30rem;
  }
}
@media screen and (max-width: 600px) {
  .c-bg-dot::before {
    height: 26rem;
  }
}
.c-bg-dot::after {
  content: "";
  position: absolute;
  bottom: -6rem;
  left: 0;
  width: 100%;
  height: 81rem;
  background: url(../images/common/bg_dot-bottom.png) no-repeat center/cover;
}
@media screen and (min-width: 1921px) {
  .c-bg-dot::after {
    height: 99rem;
  }
}
@media screen and (max-width: 1179px) {
  .c-bg-dot::after {
    height: 50rem;
  }
}
@media screen and (max-width: 767px) {
  .c-bg-dot::after {
    height: 33rem;
  }
}
@media screen and (max-width: 600px) {
  .c-bg-dot::after {
    height: 26rem;
  }
}

.voice {
  background: #F8F8F9;
  position: relative;
  padding-top: 14.5rem;
}
@media screen and (max-width: 767px) {
  .voice {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
.voice::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 2.2rem;
  width: 23.8rem;
  height: 65.9rem;
  background: url(../images/top/bg_voice-left.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .voice::before {
    width: 15.8rem;
    height: 57.9rem;
  }
}
@media screen and (max-width: 767px) {
  .voice::before {
    top: 5%;
    width: 10rem;
    height: 55rem;
  }
}
.voice::after {
  content: "";
  position: absolute;
  top: 16%;
  right: 0;
  width: 24.3rem;
  height: 76.7rem;
  background: url(../images/top/bg_voice-right.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .voice::after {
    width: 16.3rem;
    height: 68.7rem;
  }
}
@media screen and (max-width: 767px) {
  .voice::after {
    width: 12rem;
    height: 55rem;
  }
}
.voice .container--l {
  position: relative;
  z-index: 1;
}
.voice__contents {
  margin-top: 5rem;
  position: relative;
  z-index: 1;
  max-width: 137.6rem;
  margin-inline: auto;
}
.voice__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 39.2rem 1fr;
  grid-template-columns: 39.2rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  -webkit-box-shadow: 0px 0px 20px rgba(51, 51, 51, 0.06);
          box-shadow: 0px 0px 20px rgba(51, 51, 51, 0.06);
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .voice__item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.voice__item:nth-child(n+2) {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .voice__item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.voice__item-img {
  border-radius: 15px 0 0 15px;
  max-width: 39.2rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .voice__item-img {
    max-width: 100%;
  }
}
.voice__item-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 392/350;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 15px 0 0 15px;
}
@media screen and (max-width: 767px) {
  .voice__item-img img {
    aspect-ratio: 375/250;
    border-radius: 15px 15px 0 0;
  }
}
.voice__item-body {
  padding: 6.8rem 7rem 7rem 5.6rem;
  border-radius: 0 15px 15px 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .voice__item-body {
    padding: 3rem 2rem;
    border-radius: 0 0 15px 15px;
  }
}
.voice__item-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  color: #248BE9;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .voice__item-ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-ttl {
    font-size: 1.8rem;
  }
}
.voice__item-txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 2.4rem;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .voice__item-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-txt {
    font-size: 1.4rem;
  }
}
.voice__item-place {
  padding-top: 1.8rem;
  border-top: 1px solid #D1D2D2;
  margin-top: 1.7rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1179px) {
  .voice__item-place {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-place {
    font-size: 1.4rem;
  }
}
.voice__btn {
  position: relative;
  z-index: 1;
  margin-top: 6rem;
  text-align: right;
}

.voice-archive {
  padding: 10rem 0;
}
@media screen and (max-width: 767px) {
  .voice-archive {
    padding: 5rem 0;
  }
}
.voice-archive::before {
  display: none;
}
.voice-archive::after {
  display: none;
}
.voice-archive .voice__contents {
  margin-top: 0;
}

.work {
  background: #E5F5FF;
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .work {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}
.work .container {
  position: relative;
  z-index: 5;
}
.work .c-heading {
  position: relative;
  padding: 0 5.6rem;
}
.work .c-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.1rem;
  height: 7.2rem;
  background: url(../images/common/decoration.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .work .c-heading::before {
    width: 2.1rem;
    height: 6.2rem;
  }
}
.work .c-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.1rem;
  height: 7.2rem;
  background: url(../images/common/decoration-r.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .work .c-heading::after {
    width: 2.1rem;
    height: 6.2rem;
  }
}
.work__items {
  position: relative;
  z-index: 5;
  margin-top: 8rem;
  max-width: 137.6rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .work__items {
    margin-top: 3rem;
  }
}
.work__item {
  background: #fff;
  border-radius: 10px;
  -webkit-filter: drop-shadow(0px 0px 4px rgba(51, 51, 51, 0.06));
          filter: drop-shadow(0px 0px 4px rgba(51, 51, 51, 0.06));
  padding: 7.6rem 9.6rem 6rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .work__item {
    word-break: auto-phrase;
  }
}
@media screen and (max-width: 1179px) {
  .work__item {
    padding: 7.6rem 5rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  .work__item {
    padding: 4rem 2rem;
  }
}
.work__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  background: #02B0ED;
  border-radius: 10px 10px 0 0;
}
.work__item:nth-child(n+2) {
  margin-top: 10rem;
}
@media screen and (max-width: 1179px) {
  .work__item:nth-child(n+2) {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .work__item:nth-child(n+2) {
    margin-top: 5rem;
  }
}
.work__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .work__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
  }
}
.work__ttl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.2222222222;
  padding-left: 1.5rem;
  border-left: 5px solid #02B0ED;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .work__ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .work__ttl {
    font-size: 2rem;
  }
}
.work__cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem 2.9rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .work__cat {
    gap: 1rem 1.5rem;
  }
}
.work__cat-item {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  border: 1px solid #248BE9;
  border-radius: 5px;
  padding: 0.2rem 0.8rem;
  color: #248BE9;
  text-align: center;
  min-width: 8.2rem;
}
@media screen and (max-width: 1179px) {
  .work__cat-item {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .work__cat-item {
    font-size: 1.2rem;
  }
}
.work__cat-item.tax-work_material {
  border: 1px solid #248BE9;
  color: #248BE9;
}
.work__cat-item.tax-work_area {
  color: #02B0ED;
  border: 1px solid #02B0ED;
}
.work__cat-item.tax-work_type {
  color: #4AA053;
  border: 1px solid #4AA053;
}
.work__img {
  margin-top: 3.6rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4.2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .work__img {
    margin-top: 2rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.work__img::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 16rem;
  height: 10rem;
  z-index: 1;
  background: url(../images/common/work-arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .work__img::before {
    width: 12rem;
    -webkit-transform: translate(-50%, -50%) rotate(70deg);
            transform: translate(-50%, -50%) rotate(70deg);
  }
}
.work__img-before {
  position: relative;
}
.work__img-before p {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #333;
  color: #fff;
  line-height: 1.5;
  font-size: 2.7rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  padding: 0.3rem 2rem;
}
@media screen and (max-width: 767px) {
  .work__img-before p {
    font-size: 1.8rem;
  }
}
.work__img-after {
  position: relative;
}
.work__img-after p {
  display: inline-block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #248BE9;
  color: #fff;
  line-height: 1.5;
  font-size: 2.7rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  padding: 0.3rem 3rem;
}
@media screen and (max-width: 767px) {
  .work__img-after p {
    font-size: 1.8rem;
  }
}
.work__body {
  margin-top: 0.4rem;
}
.work__body-item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  border-bottom: 1px solid #D1D2D2;
}
@media screen and (max-width: 1300px) {
  .work__body-item-wrap {
    -webkit-column-gap: 10rem;
       -moz-column-gap: 10rem;
            column-gap: 10rem;
    row-gap: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 1179px) {
  .work__body-item-wrap {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .work__body-item-wrap {
    gap: 0 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: contents;
  }
}
.work__body-item-wrap .work__body-item {
  border-bottom: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .work__body-item-wrap .work__body-item {
    padding: 0.5rem;
    border-bottom: 1px solid #D1D2D2;
  }
}
.work__body-item {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  padding: 2.5rem 1rem 0.2rem;
  border-bottom: 1px solid #D1D2D2;
}
@media screen and (max-width: 1179px) {
  .work__body-item {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .work__body-item {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .work__body-item {
    padding: 0.5rem;
  }
}
.work__body-item span {
  font-size: 2.4rem;
  font-weight: 700;
  padding-left: 3.1rem;
  padding-right: 1rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .work__body-item span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .work__body-item span {
    font-size: 1.6rem;
  }
}
.work__body-item span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/common/sozai.svg) no-repeat center/contain;
}
.work__body-item p {
  display: inline;
}
.work__body-item.work-area span::before {
  background: url(../images/common/area.svg) no-repeat center/contain;
}
.work__body-item.day span::before {
  background: url(../images/common/day.svg) no-repeat center/contain;
}
.work__body-item.txt span::before {
  background: url(../images/common/txt.svg) no-repeat center/contain;
}
.work__search {
  margin-top: 10rem;
  border-radius: 15px;
  background: #fff;
  padding-bottom: 5rem;
  position: relative;
  z-index: 1;
  max-width: 137.6rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .work__search {
    margin-top: 5rem;
  }
}
.work__search-ttl {
  background: #248BE9;
  text-align: center;
  border-radius: 15px 15px 0 0;
}
.work__search-ttl span {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  position: relative;
  display: inline-block;
  padding-left: 5rem;
  color: #fff;
}
@media screen and (max-width: 1179px) {
  .work__search-ttl span {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .work__search-ttl span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .work__search-ttl span {
    padding-left: 3rem;
  }
}
.work__search-ttl span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  background: url(../images/common/search.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .work__search-ttl span::before {
    width: 2rem;
    height: 2rem;
  }
}
.work__search-items {
  padding: 3.5rem 15rem 0;
}
@media screen and (max-width: 1179px) {
  .work__search-items {
    padding: 3.5rem 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .work__search-items {
    padding: 2rem 2rem 0;
  }
}
.work__search-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 1rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px dotted #D1D2D2;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .work__search-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
  }
}
.work__search-item:nth-child(n+2) {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .work__search-item:nth-child(n+2) {
    margin-top: 1.5rem;
  }
}
.work__search-item--area .work__cat-item {
  color: #02B0ED;
  border: 1px solid #02B0ED;
}
.work__search-item--type .work__cat-item {
  color: green;
  border: 1px solid green;
}
.work__search-item-ttl {
  width: 16.0984848485%;
  font-weight: 700;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .work__search-item-ttl {
    width: 100%;
  }
}
.work__search-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3rem 1.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 83.9015151515%;
}
@media screen and (max-width: 767px) {
  .work__search-tags {
    width: 100%;
    gap: 1rem 1.5rem;
  }
}
.work__btn {
  text-align: center;
  margin-top: 3.6rem;
  max-width: 64.2rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .work__btn {
    margin-top: 3rem;
  }
}
.work__btn .c-btn3 {
  font-size: 3.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0.7rem 17.5rem;
  max-width: 64.2rem;
}
@media screen and (max-width: 767px) {
  .work__btn .c-btn3 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .work__btn .c-btn3 {
    max-width: 100%;
    padding: 0.7rem 8rem;
  }
}
.work__btn .c-btn3::after {
  right: 5.4rem;
  width: 3.7rem;
  height: 1.2rem;
  background: url(../images/common/btn3-arrow.svg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .work__btn .c-btn3::after {
    right: 2.8rem;
    width: 2.7rem;
    height: 0.8rem;
  }
}
.work__no-item {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .work-archive {
    padding: 5rem 0;
  }
}
.work-archive .work__search {
  margin-top: 0;
}

.flow__contents {
  margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
  .flow__contents {
    margin-top: 4rem;
  }
}
.flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.2rem;
}
@media screen and (max-width: 767px) {
  .flow__item {
    gap: 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.flow__item:nth-child(n+2) {
  margin-top: 6.3rem;
}
@media screen and (max-width: 767px) {
  .flow__item:nth-child(n+2) {
    margin-top: 4rem;
  }
}
.flow__item:last-child .flow__item-body::after {
  display: none;
}
.flow__item-left {
  font-size: 2.4rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.5;
  color: #248BE9;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .flow__item-left {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-left {
    font-size: 1.3rem;
  }
}
.flow__item-icon {
  margin-top: 1rem;
  background: #02B0ED;
  border-radius: 10px;
  width: 12.6rem;
  height: 12.6rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 4px 4px 0px #B7D9E9;
          box-shadow: 4px 4px 0px #B7D9E9;
}
@media screen and (max-width: 767px) {
  .flow__item-icon {
    width: 5.5rem;
    height: 5.5rem;
  }
}
.flow__item-icon img {
  max-width: 8.1rem;
}
@media screen and (max-width: 767px) {
  .flow__item-icon img {
    max-width: 3.1rem;
  }
}
.flow__item-body {
  width: 100%;
  position: relative;
}
.flow__item-body::after {
  content: "";
  position: absolute;
  bottom: -6.6rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 2.4rem;
  height: 4.8rem;
  background: url(../images/top/flow-arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .flow__item-body::after {
    width: 1.4rem;
    height: 3.8rem;
    bottom: -3.6rem;
  }
}
.flow__item-ttl {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4333333333;
  color: #248BE9;
  padding: 1rem 2.4rem;
}
@media screen and (max-width: 1179px) {
  .flow__item-ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-ttl {
    padding: 0 0 1rem;
  }
}
.flow__item-txt {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  background: #fff;
  padding: 1.5rem 2.4rem;
  border-radius: 10px;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .flow__item-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-txt {
    padding: 1.5rem;
  }
}
.flow__item-txt a {
  font-weight: 700;
  color: #248BE9;
  text-decoration: underline;
}

.p-single__sect {
  padding-bottom: 11.4rem;
}
@media screen and (max-width: 767px) {
  .p-single__sect {
    padding-bottom: 7rem;
  }
}
.p-single__conts-wrapper {
  width: 100%;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1.71;
  /*----------------------------
  ■画像設定
  ------------------------------*/
  /*----------------------------
  ■見出しレイアウト
  ------------------------------*/
  /*----------------------------
  ■テーブルレイアウト
  ------------------------------*/
  /*----------------------------
  ■　文字装飾レイアウト
  ------------------------------*/
  /*
  ・太文字
  ------------------------------*/
  /*
  ・リスト
  ------------------------------*/
  /*
  ・引用ボックス
  ------------------------------*/
}
.p-single__conts-wrapper img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.p-single__conts-wrapper a {
  text-decoration: underline;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #333333;
}
.p-single__conts-wrapper a:has(.aligncenter) {
  margin: 0 auto;
}
.p-single__conts-wrapper a:has(.alignright) {
  margin-left: auto;
}
.p-single__conts-wrapper a:has(.alignleft) {
  margin-right: auto;
}
.p-single__conts-wrapper .aligncenter {
  display: block;
  margin: 0 auto;
}
.p-single__conts-wrapper .alignright {
  margin-left: auto;
  display: block;
}
.p-single__conts-wrapper .alignleft {
  margin-right: auto;
  display: block;
}
.p-single__conts-wrapper h1 {
  font-size: 2.8rem;
  letter-spacing: 0;
  line-height: 1.666;
  font-weight: bold;
}
@media screen and (max-width: 1179px) {
  .p-single__conts-wrapper h1 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper h1 {
    font-size: 2.4rem;
  }
}
.p-single__conts-wrapper h2 {
  font-size: 2.4rem;
  margin-bottom: 0.8em;
  font-weight: bold;
  line-height: 1.33;
}
@media screen and (max-width: 1179px) {
  .p-single__conts-wrapper h2 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper h2 {
    font-size: 2.4rem;
  }
}
.p-single__conts-wrapper h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 1179px) {
  .p-single__conts-wrapper h3 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper h3 {
    font-size: 1.6rem;
  }
}
.p-single__conts-wrapper h4 {
  padding: 0.5rem 2rem;
  border-left: 3px solid #1E202B;
  margin: 3rem 0 2rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper h4 {
    font-size: 1.8rem;
  }
}
.p-single__conts-wrapper table {
  width: 100%;
  border: 1px solid #acacac;
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper table {
    margin-bottom: 2.4rem;
  }
}
.p-single__conts-wrapper td {
  border-bottom: 1px solid #acacac;
  border-right: 1px solid #acacac;
  height: 7rem;
  vertical-align: middle;
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  .p-single__conts-wrapper td {
    padding: 0 1.5rem;
  }
}
.p-single__conts-wrapper tr:nth-child(1) {
  background: #1E202B;
  color: #fff;
  font-weight: bold;
  border-right: 1px solid #acacac;
  text-align: center;
}
.p-single__conts-wrapper strong,
.p-single__conts-wrapper b {
  font-weight: bold;
}
.p-single__conts-wrapper ul, .p-single__conts-wrapper ol {
  margin-left: 2em;
}
.p-single__conts-wrapper ul {
  list-style: disc;
}
.p-single__conts-wrapper blockquote {
  position: relative;
  padding: 5px 12px 5px 56px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-style: italic;
  color: #333;
  background: #f4f4f4;
  margin: 3rem 0;
}
.p-single__conts-wrapper blockquote::after {
  content: "";
  position: absolute;
  width: 36px;
  height: 36px;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 36px;
  background: url("../images/quote-left-solid.svg") no-repeat center center/contain;
}
.p-single__conts-wrapper blockquote p {
  position: relative;
  padding: 0;
  margin: 10px 0;
  z-index: 3;
  line-height: 1.7;
}
.p-single__conts-wrapper blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}
.p-single__ttl-wrap {
  padding-bottom: 1rem;
  border-bottom: 1px solid #CCCCCC;
  margin-bottom: 2rem;
}
.p-single__date {
  line-height: 1;
  letter-spacing: 0;
}
.p-single__cat {
  line-height: 1;
  letter-spacing: 0;
}
.p-single__label {
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6rem;
  height: 2rem;
  margin-left: 1.9rem;
}
.p-single .news__btn {
  text-align: center;
}
.p-single .news__btn a {
  color: #fff;
}
.p-single .news__btn .c-btn__txt {
  text-align: center;
  padding-right: 0;
  font-size: 1.6rem;
}
.p-single .news__btn .c-btn__txt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: initial;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5rem;
  height: 1rem;
  background: url(../images/common/btn-arrow.svg) no-repeat center/contain;
}
.p-single .news__btn .c-btn--news {
  margin-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  .p-single .news__btn .c-btn--news {
    margin-top: 5.2rem;
  }
}

.privacy__conts-wrap {
  padding-top: 7.1rem;
}
@media screen and (max-width: 767px) {
  .privacy__conts-wrap {
    padding-top: 5.1rem;
  }
}
.privacy__head-txt {
  padding-bottom: 5.5rem;
  border-bottom: 1px solid #4A4A4A;
}
@media screen and (max-width: 767px) {
  .privacy__head-txt {
    padding-bottom: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .privacy__lists .privacy__num:nth-child(1) {
    padding-top: 3.5rem;
  }
}
.privacy__num {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  padding: 4rem 0 3rem;
}
@media screen and (max-width: 767px) {
  .privacy__num {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .privacy__num {
    padding: 7rem 0 2.5rem;
  }
}

.privacy-contact__conts-wrap {
  padding: 0 3rem 3rem 3rem;
  background: #fff;
  border: 1px solid #282828;
  height: 22rem;
  overflow-y: scroll;
  max-width: 90rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .privacy-contact__conts-wrap {
    padding: 0 1rem 1rem 1rem;
    height: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .privacy-contact__lists .privacy-contact__num:nth-child(1) {
    padding-top: 1.5rem;
  }
}
.privacy-contact__txt-wrap {
  line-height: 1.33;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .privacy-contact__txt-wrap {
    font-size: 1.2rem;
  }
}
.privacy-contact__num {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  padding: 1.5em 0 1em;
}
@media screen and (max-width: 767px) {
  .privacy-contact__num {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .privacy-contact__num {
    padding: 1em 0 0.5em;
  }
}

.sub-view__heading-wrap {
  text-align: center;
}
.sub-view__heading {
  color: #fff;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-align: center;
  padding: 1em 0;
  font-size: 3rem;
}
@media screen and (max-width: 1179px) {
  .sub-view__heading {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sub-view__heading {
    font-size: 2.2rem;
  }
}

.p-category .cat__sect {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-category .cat__sect {
    padding-bottom: 8rem;
  }
}
.p-category .cat__link-groups {
  max-width: 52rem;
  width: 100%;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  padding-bottom: 4.2rem;
  font-family: "Shippori Mincho", serif;
}
@media screen and (max-width: 767px) {
  .p-category .cat__link-groups {
    max-width: 33.5rem;
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
    -ms-grid-columns: 11.7rem 0.8rem 8.6rem 0.8rem 11.7rem;
    grid-template-columns: 11.7rem 8.6rem 11.7rem;
  }
}
.p-category .cat__link {
  background: #a7a5a5;
  color: #fff;
  text-align: center;
  width: 16rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-category .cat__link {
    width: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 1rem;
  }
}
.p-category .cat__link::before {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.7rem;
  background: url("../images/price/btn-arrow.svg") no-repeat center center/contain;
  right: 1.3rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
@media screen and (max-width: 767px) {
  .p-category .cat__link::before {
    right: 0.8rem;
  }
}
.p-category .cat__link.active {
  background: #000;
}
.p-category .cat__head-heading {
  font-size: 1.8rem;
  border-left: 4px solid #000;
  letter-spacing: 0;
  line-height: 1.6;
  font-weight: bold;
  font-family: "Shippori Mincho", serif;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}
.p-category .news {
  padding-bottom: 13.3rem;
}
@media screen and (max-width: 767px) {
  .p-category .news {
    padding-bottom: 7rem;
  }
}
.p-category .news .sec-title {
  position: relative;
  padding-top: 14rem;
}
@media screen and (max-width: 767px) {
  .p-category .news .sec-title {
    padding-top: 7rem;
  }
}
.p-category .news .sec-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 1px;
  height: 10rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-category .news .sec-title::before {
    height: 5rem;
  }
}
.p-category .news__items {
  margin-top: 4.4rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2rem;
}
@media screen and (max-width: 1179px) {
  .p-category .news__items {
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-category .news__items {
    margin-top: 3.4rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.p-category .news__item {
  position: relative;
}
.p-category .news__new {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 8rem;
  height: 3.3rem;
  background: #248BE9;
  text-align: center;
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 2.0625;
}
@media screen and (max-width: 767px) {
  .p-category .news__new {
    width: 5.6rem;
    height: 2.9rem;
    font-size: 1.4rem;
  }
}
.p-category .news__body {
  margin-top: 1.4rem;
  color: #333;
}
@media screen and (max-width: 767px) {
  .p-category .news__body {
    margin-top: 1.2rem;
  }
}
.p-category .news__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-category .news__meta {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-category .news__date {
  font-size: 1.2rem;
  line-height: 1.1666666667;
  letter-spacing: 0;
  font-family: "Noto Serif JP", serif;
  padding-right: 0.5rem;
  border-right: 1px solid #fff;
  white-space: nowrap;
}
.p-category .news__label {
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4166666667;
  padding-left: 0.8rem;
}
@media screen and (max-width: 1179px) {
  .p-category .news__label {
    padding-left: 0.5rem;
  }
}
.p-category .news__ttl {
  font-size: 1.4rem;
  margin-top: 0.8rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.08em;
}
.p-category .news__btn {
  text-align: right;
}

.p-news .news__items {
  margin-top: 8rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5rem 1fr 5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-news .news__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-news .news__img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  aspect-ratio: 335/200;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------
■■　トップページ　■■
------------------------------*/
.p-top .sec-read {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  margin-top: 3.5rem;
}
@media screen and (max-width: 1179px) {
  .p-top .sec-read {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .sec-read {
    font-size: 1.5rem;
  }
}
.p-top .kv__sect {
  position: relative;
  width: 100%;
  top: 10.2rem;
  padding-bottom: 26.5rem;
  padding-bottom: 13.8vw;
}
@media screen and (max-width: 1100px) {
  .p-top .kv__sect {
    top: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__sect {
    top: 5rem;
    padding-bottom: 10rem;
  }
}
.p-top .kv__bg-img {
  position: relative;
  width: 100%;
}
.p-top .kv__bg-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/700;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1300px) {
  .p-top .kv__bg-img img {
    aspect-ratio: 1920/850;
  }
}
@media screen and (max-width: 1000px) {
  .p-top .kv__bg-img img {
    aspect-ratio: 1920/1400;
  }
}
@media screen and (max-width: 700px) {
  .p-top .kv__bg-img img {
    aspect-ratio: 750/720;
  }
}
@media screen and (max-width: 550px) {
  .p-top .kv__bg-img img {
    height: 100%;
    aspect-ratio: 375/440;
  }
}
@media screen and (max-width: 400px) {
  .p-top .kv__bg-img img {
    height: 100%;
    aspect-ratio: 375/425;
  }
}
.p-top .kv__container {
  position: absolute;
  top: 4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
  width: 64.2rem;
  width: 33.4375vw;
  height: 64.2rem;
  height: 33.4375vw;
  background: linear-gradient(136.51deg, #FFFFFF 14.73%, #EDEDED 83.44%);
  -webkit-box-shadow: 0px 3.37008px 3.37008px rgba(51, 51, 51, 0.13);
          box-shadow: 0px 3.37008px 3.37008px rgba(51, 51, 51, 0.13);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top .kv__container::before {
  content: "";
  position: absolute;
  top: 25%;
  left: 8%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7.5rem;
  height: 9.8rem;
  background: url(../images/kv/kv-bubble.svg) no-repeat center/contain;
}
.p-top .kv__container::after {
  content: "";
  position: absolute;
  top: 66%;
  right: 4%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7.5rem;
  height: 9.8rem;
  background: url(../images/kv/kv-bubble.svg) no-repeat center/contain;
}
@media screen and (max-width: 1000px) {
  .p-top .kv__container {
    top: 10%;
    width: 40rem;
    height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__container {
    top: 10rem;
    width: 30rem;
    height: 30rem;
  }
}
@media screen and (max-width: 400px) {
  .p-top .kv__container {
    top: 5rem;
  }
}
.p-top .kv__ttl {
  font-size: 7.6rem;
  font-size: 3.95vw;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: #02B0ED;
  text-shadow: 3.4931px 3.4931px 4.36637px rgba(51, 51, 51, 0.13);
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .kv__ttl {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__ttl {
    font-size: 3.5rem;
  }
}
.p-top .kv__ttl::before {
  content: "“";
  position: absolute;
  top: 22%;
  left: -5%;
  font-family: "Gothic A1", sans-serif;
  color: #D1D2D2;
  font-size: 3.9vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-top .kv__ttl::after {
  content: "”";
  position: absolute;
  top: 22%;
  right: 8%;
  font-family: "Gothic A1", sans-serif;
  color: #D1D2D2;
  font-size: 3.9vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top .kv__ttl {
    line-height: 1.2;
    margin-top: 1rem;
  }
}
.p-top .kv__ttl span {
  font-size: 7.6rem;
  border-radius: 15px;
  font-size: 10.1rem;
  font-size: 5.26vw;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-shadow: 3.37063px 3.37063px 0px #C5DAEE;
}
@media screen and (max-width: 1179px) {
  .p-top .kv__ttl span {
    font-size: 5.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__ttl span {
    font-size: 4rem;
  }
}
.p-top .kv__ttl span.blue {
  color: #248BE9;
}
.p-top .kv__ttl span.black {
  font-size: 7.6rem;
  font-size: 3.95vw;
  color: #333;
  letter-spacing: 0.06em;
  text-shadow: 3.4931px 3.4931px 4.36637px rgba(51, 51, 51, 0.13);
}
@media screen and (max-width: 1179px) {
  .p-top .kv__ttl span.black {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__ttl span.black {
    font-size: 3.5rem;
  }
}
.p-top .kv__txt-top {
  margin-top: 1.9vw;
  font-size: 3.6rem;
  font-size: 1.8vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-top .kv__txt-top {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt-top {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt-top {
    margin-top: 2rem;
  }
}
.p-top .kv__txt-top span {
  display: inline-block;
  background: #248BE9;
  padding: 0 0.5rem 0 2rem;
  border-radius: 15px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt-top span {
    border-radius: 5px;
  }
}
.p-top .kv__txt-top span.right {
  margin-top: 0.5rem;
  margin-left: auto;
  color: #FFFE3E;
  margin-left: 14.3vw;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt-top span.right {
    margin-top: 0.2rem;
  }
}
@media screen and (max-width: 400px) {
  .p-top .kv__txt-top span.right {
    margin-left: 33vw;
  }
}
.p-top .kv__contents {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125vw;
}
@media screen and (max-width: 767px) {
  .p-top .kv__contents {
    gap: 0;
    margin-top: 1.5rem;
  }
}
.p-top .kv__txt {
  width: 21.7rem;
  width: 11.3vw;
  height: 14.4rem;
  height: 7.5vw;
  background: url(../images/kv/kv-txt.png) no-repeat center/contain;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  color: #FFFFFF;
  text-shadow: 0px 4px 4px rgba(51, 51, 51, 0.13);
  font-size: 1.875vw;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt {
    width: 12.7rem;
    height: 7.4rem;
    font-size: 1.8rem;
  }
}
.p-top .kv__txt span {
  font-size: 6rem;
  font-size: 3.125vw;
  color: #FFFE3E;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt span {
    font-size: 2.8rem;
  }
}
.p-top .kv__txt span.span1 {
  font-size: 1.25vw;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt span.span1 {
    font-size: 1.6rem;
  }
}
.p-top .kv__txt span.span2 {
  font-size: 0.88vw;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt span.span2 {
    font-size: 1.2rem;
  }
}
.p-top .kv__txt span.span3 {
  font-size: 1.145vw;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt span.span3 {
    font-size: 1.4rem;
  }
}
.p-top .kv__txt1 {
  padding-top: 5.3rem;
  padding-top: 2.76vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt1 {
    padding-top: 3rem;
  }
}
.p-top .kv__txt1::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3.6rem;
  height: 3.6rem;
  width: 1.875vw;
  height: 1.875vw;
  background: url(../images/kv/kv-icon1.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt1::before {
    width: 2rem;
    height: 2rem;
  }
}
.p-top .kv__txt2 {
  padding-top: 1.3rem;
  padding-top: 0.67vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt2 {
    padding-top: 1rem;
  }
}
.p-top .kv__txt2::before {
  content: "";
  position: absolute;
  top: 5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 2.7rem;
  height: 2.7rem;
  width: 1.4vw;
  height: 1.4vw;
  background: url(../images/kv/kv-icon2.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .kv__txt2::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.p-top .kv__bottom {
  margin-top: -5rem;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 1;
  text-align: center;
}
.p-top .kv__bottom-container {
  position: absolute;
  width: 100%;
  z-index: 1;
  bottom: 7rem;
  bottom: 2.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1000px) {
  .p-top .kv__bottom-container {
    bottom: 7vw;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-container {
    bottom: 7vw;
  }
}
@media screen and (max-width: 400px) {
  .p-top .kv__bottom-container {
    bottom: 8vw;
  }
}
.p-top .kv__bottom-txt {
  font-size: 4.3rem;
  font-size: 2.23vw;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
  padding: 0 5.6rem;
  display: inline-block;
}
@media screen and (max-width: 1179px) {
  .p-top .kv__bottom-txt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-txt {
    padding: 0 2rem;
  }
}
.p-top .kv__bottom-txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.1rem;
  height: 7.2rem;
  background: url(../images/common/decoration.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-txt::before {
    width: 1.5rem;
    height: 5.5rem;
  }
}
.p-top .kv__bottom-txt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.1rem;
  height: 7.2rem;
  background: url(../images/common/decoration-r.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-txt::after {
    width: 1.5rem;
    height: 5.5rem;
  }
}
.p-top .kv__bottom-txt span {
  display: inline-block;
  padding: 0 1rem;
  font-size: 6.8rem;
  font-size: 3.54vw;
  line-height: 1.5;
  letter-spacing: -0.05em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  background: linear-gradient(95.02deg, #3899F1 6.81%, #0867BE 88.94%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
@media screen and (max-width: 1179px) {
  .p-top .kv__bottom-txt span {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-txt span {
    font-size: 3rem;
  }
}
.p-top .kv__bottom-btn {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-btn {
    margin-top: 0.5rem;
  }
}
.p-top .kv__bottom-btn .c-btn3 {
  background: #EF701C;
  border: 3px solid #EF701C;
  font-size: 2.6vw;
  max-width: 92.3rem;
  min-width: 92.3rem;
  padding: 1rem 28rem;
}
@media screen and (max-width: 767px) {
  .p-top .kv__bottom-btn .c-btn3 {
    font-size: 2rem;
    min-width: unset;
    padding: 0.1rem 10rem;
    letter-spacing: 0;
  }
}
.p-top .kv__bottom-img {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.p-top .kv__bottom-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/325;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1000px) {
  .p-top .kv__bottom-img img {
    aspect-ratio: 600/160;
  }
}
@media screen and (max-width: 700px) {
  .p-top .kv__bottom-img img {
    aspect-ratio: 375/140;
  }
}
.p-top .problem {
  margin-top: 8.5rem;
  background: url(../images/top/bg_problem.png) no-repeat center/cover;
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}
.p-top .problem::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 57.6rem;
  width: clamp(28rem, 30vw, 57.6rem);
  height: 46.3rem;
  height: clamp(20rem, 24.1vw, 46.3rem);
  background: url(../images/top/problem-people.png) no-repeat center/contain;
}
@media screen and (max-width: 1000px) {
  .p-top .problem {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-top .problem {
    padding: 6rem 0 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem {
    padding: 4rem 0 20rem;
  }
}
.p-top .problem .c-heading {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-top .problem .c-heading {
    line-height: 1.5;
  }
}
.p-top .problem .c-heading span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #FFFE3E));
  background: linear-gradient(to bottom, transparent 80%, #FFFE3E 80%);
}
.p-top .problem__items {
  margin-top: -27rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1310px) {
  .p-top .problem__items {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__items {
    margin-top: 3rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2rem;
  }
}
.p-top .problem__item {
  font-size: 2.4rem;
  font-weight: 700;
  background: white;
  border-radius: 5px;
  padding: 2rem 1.5rem 2rem 2rem;
  line-height: 1.6;
  letter-spacing: 0;
  -webkit-box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.13);
          box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.13);
  text-align: left;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__item {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__item {
    max-width: 30rem;
    text-align: center;
    padding: 1.5rem;
  }
}
.p-top .problem__item:nth-child(n+2) {
  margin-top: 4.7rem;
}
@media screen and (max-width: 767px) {
  .p-top .problem__item:nth-child(n+2) {
    margin-top: 2rem;
  }
}
.p-top .problem__item-left span {
  color: #248BE9;
}
.p-top .problem__item-left .problem__item:nth-child(1) {
  margin-left: 8rem;
  max-width: 33rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-left .problem__item:nth-child(1) {
    margin-left: 0;
  }
}
.p-top .problem__item-left .problem__item:nth-child(2) {
  margin-left: 6rem;
  max-width: 35rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-left .problem__item:nth-child(2) {
    margin-left: 0;
  }
}
.p-top .problem__item-left .problem__item:nth-child(3) {
  margin-left: 14rem;
  max-width: 33rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-left .problem__item:nth-child(3) {
    margin-left: 0;
  }
}
.p-top .problem__item-left .problem__item:nth-child(4) {
  margin-left: 0;
  max-width: 38rem;
}
@media screen and (max-width: 767px) {
  .p-top .problem__item-left .problem__item:nth-child(even) {
    margin-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__item-left .problem__item:nth-child(odd) {
    margin-right: 5rem;
  }
}
.p-top .problem__item-right span {
  color: #02B0ED;
}
.p-top .problem__item-right .problem__item:nth-child(1) {
  margin-left: -5rem;
  max-width: 30rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-right .problem__item:nth-child(1) {
    margin-left: 0;
  }
}
.p-top .problem__item-right .problem__item:nth-child(2) {
  margin-right: 4rem;
  max-width: 35rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-right .problem__item:nth-child(2) {
    margin-right: 0;
  }
}
.p-top .problem__item-right .problem__item:nth-child(3) {
  margin-left: -6rem;
  max-width: 28rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-right .problem__item:nth-child(3) {
    margin-left: 0;
  }
}
.p-top .problem__item-right .problem__item:nth-child(4) {
  margin-left: 1rem;
  max-width: 30rem;
}
@media screen and (max-width: 1179px) {
  .p-top .problem__item-right .problem__item:nth-child(4) {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__item-right .problem__item:nth-child(even) {
    margin-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .problem__item-right .problem__item:nth-child(odd) {
    margin-right: 5rem;
  }
}
.p-top .point {
  padding-top: 10.5rem;
  padding-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  .p-top .point {
    padding-top: 5rem;
    padding-bottom: 14rem;
  }
}
.p-top .point .c-heading {
  font-size: 5.4rem;
  letter-spacing: 0.05em;
  padding-right: 6.1rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .point .c-heading {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point .c-heading {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point .c-heading {
    padding-right: 4.1rem;
  }
}
.p-top .point .c-heading::after {
  content: "";
  position: absolute;
  top: 1rem;
  right: 0;
  width: 6.1rem;
  height: 5.7rem;
  background: url(../images/top/point-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .point .c-heading::after {
    width: 4.1rem;
    height: 3.7rem;
  }
}
.p-top .point .c-heading span.large {
  font-size: 6.8rem;
  font-size: 6.8rem;
}
@media screen and (max-width: 1179px) {
  .p-top .point .c-heading span.large {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point .c-heading span.large {
    font-size: 3rem;
  }
}
.p-top .point__items {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top .point__items {
    margin-top: 3rem;
  }
}
.p-top .point__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8.3rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1179px) {
  .p-top .point__item {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-top .point__item:nth-child(n+2) {
  margin-top: 16.8rem;
}
@media screen and (max-width: 1179px) {
  .p-top .point__item:nth-child(n+2) {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.p-top .point__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-top .point__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-top .point__body {
  width: 41.1725955204%;
}
@media screen and (max-width: 1179px) {
  .p-top .point__body {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__body {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-top .point__en {
  font-size: 1.7rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1;
  color: #02B0ED;
}
@media screen and (max-width: 1179px) {
  .p-top .point__en {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__en {
    font-size: 1rem;
  }
}
.p-top .point__number {
  font-size: 6.1rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.2;
  color: #02B0ED;
}
@media screen and (max-width: 1179px) {
  .p-top .point__number {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__number {
    font-size: 3rem;
  }
}
.p-top .point__ttl {
  margin-top: 1.5rem;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (max-width: 1179px) {
  .p-top .point__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__ttl {
    margin-top: 1rem;
  }
}
.p-top .point__ttl span {
  display: inline-block;
  background: #248BE9;
  padding: 1rem;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .p-top .point__ttl span {
    padding: 0.3rem 1rem;
  }
}
.p-top .point__ttl span:nth-child(n+2) {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top .point__ttl span:nth-child(n+2) {
    margin-top: 0.5rem;
  }
}
.p-top .point__txt {
  display: block;
  margin-top: 2.5rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-top .point__txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__txt {
    margin-top: 1.5rem;
  }
}
.p-top .point__txt span {
  color: #248BE9;
}
.p-top .point__img {
  width: 53.4914361001%;
}
@media screen and (max-width: 1179px) {
  .p-top .point__img {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .point__img {
    width: 100%;
  }
}
.p-top .point__img img {
  border-radius: 10px;
  -webkit-filter: drop-shadow(15px 15px 0px #D4EAFD);
          filter: drop-shadow(15px 15px 0px #D4EAFD);
}
.p-top .point__btn {
  margin-top: 8rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top .point__btn {
    margin-top: 5rem;
  }
}
.p-top .about {
  padding-top: 10.3rem;
}
@media screen and (max-width: 767px) {
  .p-top .about {
    padding-bottom: 18rem;
  }
}
.p-top .about .sec-title {
  text-align: center;
}
.p-top .about .sec-title__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-top .about__items {
  margin-top: 11.5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5.6rem 1fr 5.6rem 1fr 5.6rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 5.6rem;
}
.p-top .about__item {
  background: #fff;
  border-radius: 10px;
  padding: 5.6rem 1rem 4.5rem;
  -webkit-box-shadow: 0px 0px 40px rgba(210, 238, 255, 0.6);
          box-shadow: 0px 0px 40px rgba(210, 238, 255, 0.6);
  position: relative;
  text-align: center;
}
.p-top .about__number {
  content: "";
  position: absolute;
  top: -3.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 8.1rem;
  height: 8.1rem;
  background: #EF701C;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (max-width: 1179px) {
  .p-top .about__number {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .about__number {
    font-size: 1.6rem;
  }
}
.p-top .about__number span {
  font-size: 2.4rem;
  line-height: 1;
}
@media screen and (max-width: 1179px) {
  .p-top .about__number span {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .about__number span {
    font-size: 2rem;
  }
}
.p-top .about__item img {
  max-width: 15.5rem;
}
.p-top .about__txt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  margin-top: 2.4rem;
}
@media screen and (max-width: 1179px) {
  .p-top .about__txt {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .about__txt {
    font-size: 2rem;
  }
}
.p-top .about__txt span {
  color: #02B0ED;
}
.p-top .work {
  background: #E5F5FF;
  padding-top: 8.5rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .p-top .work {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}
.p-top .work__item--unit {
  padding: 7.6rem 25.3rem 5rem;
}
@media screen and (max-width: 1179px) {
  .p-top .work__item--unit {
    padding: 7.6rem 5rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .work__item--unit {
    padding: 5rem 2rem 6rem;
  }
}
.p-top .work__item--unit .work__img-after p {
  left: unset;
  right: 0;
}
.p-top .work__item--unit .work__body-item-wrap {
  gap: 7.5rem;
}
@media screen and (max-width: 1179px) {
  .p-top .work__item--unit .work__body-item-wrap {
    gap: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .work__item--unit .work__body-item-wrap {
    gap: 0;
  }
}
.p-top .service {
  padding-bottom: 27rem;
  padding-top: 17rem;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .p-top .service {
    padding-top: 10rem;
    padding-bottom: 15rem;
  }
}
.p-top .service::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 113.8rem;
  z-index: -1;
  background: url(../images/top/bg_service1.png) no-repeat center/cover;
}
.p-top .service::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 160.3rem;
  height: 127.4rem;
  z-index: -1;
  background: url(../images/top/bg_service2.png) no-repeat center/cover;
}
.p-top .service .container--l {
  position: relative;
  z-index: 1;
}
.p-top .service .c-heading {
  line-height: 1.7;
}
.p-top .service .sec-read {
  font-size: 2.4rem;
  margin-top: 3rem;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-top .service .sec-read {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service .sec-read {
    font-size: 1.6rem;
  }
}
.p-top .service__contents {
  margin-top: 8.5rem;
  padding: 14rem 20rem 0;
  border-radius: 30px 0px 0px 30px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 1300px) {
  .p-top .service__contents {
    padding: 14rem 10rem 0;
  }
}
@media screen and (max-width: 1179px) {
  .p-top .service__contents {
    padding: 10rem 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__contents {
    margin-top: 5rem;
    padding: 6rem 3rem;
  }
}
.p-top .service__contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 11.4rem;
  width: 93vw;
  background: linear-gradient(114.67deg, #71D9FE 1.66%, #71D9FE 100.01%);
  background: url(../images/top/bg_service-right.png) no-repeat center/cover;
  z-index: -1;
  border-radius: 30px 0 0 30px;
  -webkit-transform: translateX(calc(50vw - 50%));
          transform: translateX(calc(50vw - 50%));
}
.p-top .service__contents2 {
  margin-top: 4.5rem;
  border-radius: 0 30px 30px 0;
  padding: 9rem 20rem 0;
  position: relative;
}
@media screen and (max-width: 1300px) {
  .p-top .service__contents2 {
    padding: 9rem 10rem 0;
  }
}
@media screen and (max-width: 1179px) {
  .p-top .service__contents2 {
    padding: 8rem 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__contents2 {
    margin-top: 0;
    padding: 6rem 3rem;
  }
}
.p-top .service__contents2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 8.4rem;
  width: 98vw;
  background: linear-gradient(114.67deg, #71D9FE 1.66%, #71D9FE 100.01%);
  background: url(../images/top/bg_service-left.png) no-repeat center/cover;
  z-index: -1;
  border-radius: 0 30px 30px 0;
  -webkit-transform: translateX(calc(-50vw + 50%));
          transform: translateX(calc(-50vw + 50%));
  margin-left: calc(50% - 50vw);
}
.p-top .service__ttl {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  text-align: center;
  padding-left: 7rem;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .service__ttl {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__ttl {
    padding-left: 4rem;
  }
}
.p-top .service__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.7rem;
  height: 4.5rem;
  background: url(../images/top/service-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .service__ttl::before {
    left: 1rem;
    width: 2.7rem;
    height: 3.5rem;
  }
}
.p-top .service__read {
  margin-top: 1.3rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 1179px) {
  .p-top .service__read {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__read {
    font-size: 1.5rem;
  }
}
.p-top .service__items {
  margin-top: 6.1rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 15.7rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem 15.7rem;
}
@media screen and (max-width: 1300px) {
  .p-top .service__items {
    gap: 6rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-top .service__items {
    gap: 4rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__items {
    margin-top: 3rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-top .service__item {
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 20px rgba(60, 86, 52, 0.1);
          box-shadow: 0px 0px 20px rgba(60, 86, 52, 0.1);
  position: relative;
  overflow: clip;
}
.p-top .service__item::before {
  content: "";
  position: absolute;
  bottom: 1.7rem;
  right: 1.3rem;
  width: 1.3rem;
  height: 1.5rem;
  z-index: 1;
  background: url(../images/common/service-arrow.svg) no-repeat center/contain;
}
.p-top .service__item::after {
  content: "";
  position: absolute;
  bottom: -5.7rem;
  right: -5.7rem;
  width: 11rem;
  height: 11rem;
  background: #1363AB;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-top .service__item-img {
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.p-top .service__item-img img {
  border-radius: 10px 10px 0 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  height: 100%;
  aspect-ratio: 471/243;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top .service__item:hover .service__item-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.p-top .service__item:hover::after {
  width: 11.5rem;
  height: 11.5rem;
}
.p-top .service__item-body {
  padding: 2.8rem 2rem 3.5rem;
  text-align: center;
  border-radius: 0 0 10px 10px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .p-top .service__item-body {
    padding: 2rem 2rem 4rem;
  }
}
.p-top .service__item-ttl {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4615384615;
  letter-spacing: 0.08em;
  color: #248BE9;
  text-align: center;
  padding-left: 4.5rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .service__item-ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__item-ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__item-ttl {
    padding-left: 3rem;
  }
}
.p-top .service__item-ttl::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background: url(../images/top/service-icon1.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .service__item-ttl::before {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.p-top .service__item-txt {
  margin-top: 1.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1179px) {
  .p-top .service__item-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .service__item-txt {
    font-size: 1.4rem;
  }
}
.p-top .service .service__item2 .service__item-ttl::before {
  background: url(../images/top/service-icon2.svg) no-repeat center/contain;
}
.p-top .service .service__item3 .service__item-ttl::before {
  background: url(../images/top/service-icon3.svg) no-repeat center/contain;
}
.p-top .service .service__item4 .service__item-ttl::before {
  background: url(../images/top/service-icon4.svg) no-repeat center/contain;
}
.p-top .service .service__item5 .service__item-ttl::before {
  background: url(../images/top/service-icon5.svg) no-repeat center/contain;
}
.p-top .service .service__item6 .service__item-ttl::before {
  background: url(../images/top/service-icon6.svg) no-repeat center/contain;
}
.p-top .price {
  padding-top: 6.5rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-top .price {
    padding-top: 0;
    padding-bottom: 5rem;
  }
}
.p-top .price .container {
  position: relative;
  z-index: 1;
}
.p-top .price__items {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-top .price__items {
    margin-top: 3rem;
  }
}
.p-top .price__item {
  background: #fff;
  border-radius: 15px;
  padding: 2.3rem 5.5rem 3rem 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 530fr 2.4rem 484fr;
  grid-template-columns: 530fr 484fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-top .price__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
    gap: 1.5rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.p-top .price__item:has(.price__head) .price__head {
  border-bottom: 3px dashed #D1D2D2;
}
.p-top .price__item:has(.price__head) .price__ttl {
  padding-bottom: 0;
  border-bottom: none;
}
.p-top .price__item2:has(.price__head) {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
.p-top .price__item:nth-child(n+2) {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top .price__item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
.p-top .price__body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-top .price__body .price__head {
  margin-top: 1.8rem;
  gap: 0.7rem;
  padding-bottom: 1rem;
}
.p-top .price__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7rem;
}
@media screen and (max-width: 1179px) {
  .p-top .price__head {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    gap: 1rem;
  }
}
.p-top .price__ttl {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4333333333;
  color: #248BE9;
  padding-bottom: 1rem;
  letter-spacing: 0;
  border-bottom: 3px dashed #D1D2D2;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-top .price__ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__ttl {
    font-size: 1.8rem;
  }
}
.p-top .price__read {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  padding: 1rem 0;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-top .price__read {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__read {
    font-size: 1.4rem;
  }
}
.p-top .price__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 530fr 2.4rem 484fr;
  grid-template-columns: 530fr 484fr;
}
@media screen and (max-width: 767px) {
  .p-top .price__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__wrap {
    width: 100%;
  }
}
.p-top .price__wrap2 {
  margin-top: 2rem;
}
.p-top .price__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top .price__price span {
  font-size: 4rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.525;
  letter-spacing: 0.05em;
  color: #248BE9;
  padding-left: 1rem;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-top .price__price span {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__price span {
    font-size: 1.8rem;
  }
}
.p-top .price__price2 {
  margin-top: 2rem;
}
.p-top .price__price-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  padding-right: 2.5rem;
  letter-spacing: 0;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .price__price-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__price-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__price-txt {
    padding-right: 2rem;
  }
}
.p-top .price__price-txt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) rotate(-65deg);
          transform: translateY(-50%) rotate(-65deg);
  width: 2.6rem;
  height: 1px;
  background: #333;
}
.p-top .price__table {
  margin-top: 1rem;
  width: 100%;
}
.p-top .price__table thead th {
  background: #E5F5FF;
  color: #248BE9;
}
.p-top .price__table thead th:nth-child(n+2) {
  border-left: 1px solid #D1D2D2;
}
.p-top .price__table th {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding: 1rem 0;
}
@media screen and (max-width: 1179px) {
  .p-top .price__table th {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__table th {
    font-size: 1.4rem;
  }
}
.p-top .price__table tr {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
}
.p-top .price__table td {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding: 2rem 0;
  text-align: center;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-top .price__table td {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .price__table td {
    font-size: 1.4rem;
  }
}
.p-top .price__table td:nth-child(n+2) {
  border-left: 1px solid #D1D2D2;
}
.p-top .price__images {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-top .price__images::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 7.1rem;
  height: 2.1rem;
  z-index: 1;
  background: url(../images/top/price-arrow.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-top .price__images::before {
    width: 6.6rem;
    height: 1.6rem;
  }
}
.p-top .price__img {
  max-width: 23.8rem;
}
.p-top .price__img1 {
  position: relative;
}
.p-top .price__img1::before {
  content: "BEFORE";
  position: absolute;
  top: -1.55rem;
  left: -2.35rem;
  width: 7rem;
  height: 7rem;
  background: #333;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-top .price__img1::before {
    width: 5rem;
    height: 5rem;
    font-size: 1.2rem;
  }
}
.p-top .price__img2 {
  position: relative;
}
.p-top .price__img2::before {
  content: "AFTER";
  position: absolute;
  top: -1.55rem;
  right: -2.35rem;
  width: 7rem;
  height: 7rem;
  background: #EF701C;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-top .price__img2::before {
    width: 5rem;
    height: 5rem;
    font-size: 1.2rem;
  }
}
.p-top .flow {
  padding-bottom: 17rem;
  background: #F8F8F9 url(../images/top/bg_flow.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-top .flow {
    padding-top: 12rem;
    padding-bottom: 13rem;
  }
}
.p-top .area {
  margin-top: -6rem;
  margin-bottom: -5rem;
  padding-bottom: 22rem;
  position: relative;
  z-index: 1;
  background: url(../images/top/bg_area.png) no-repeat center/cover;
}
@media screen and (max-width: 1179px) {
  .p-top .area {
    padding-top: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area {
    margin-top: -2rem;
    padding-top: 10rem;
    padding-bottom: 15rem;
    background: url(../images/top/bg_area-sp.png) no-repeat center/cover;
    background-position: bottom;
  }
}
.p-top .area .c-heading {
  text-align: center;
  padding: 2rem 8.2rem 1rem;
  border-radius: 5px;
  position: relative;
}
.p-top .area .c-heading span {
  font-size: 4.2rem;
  font-size: 4.2rem;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .area .c-heading span {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area .c-heading span {
    font-size: 2.4rem;
  }
}
.p-top .area .c-heading::before {
  content: "";
  position: absolute;
  width: 43.5rem;
  height: 12rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -2rem;
  background: url(../images/top/area-ttl.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-top .area .c-heading::before {
    max-width: 21rem;
    height: 100%;
    top: 0;
  }
}
.p-top .area__container {
  margin-top: -2.5rem;
  background: #fff;
  border-radius: 15px;
  padding: 8.8rem 17rem;
}
@media screen and (max-width: 1179px) {
  .p-top .area__container {
    padding: 8rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area__container {
    margin-top: -1.5rem;
    padding: 6rem 2rem;
  }
}
.p-top .area__contents:nth-child(n+2) {
  margin-top: 5.5rem;
}
.p-top .area__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 3px solid #9ECFFC;
  padding: 0 1rem;
  padding-bottom: 1rem;
}
.p-top .area__name {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4333333333;
}
@media screen and (max-width: 1179px) {
  .p-top .area__name {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area__name {
    font-size: 2rem;
  }
}
.p-top .area__items {
  margin-top: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-top .area__items {
    gap: 0.5rem;
  }
}
.p-top .area__item {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 1rem 1.1rem;
}
@media screen and (max-width: 1179px) {
  .p-top .area__item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area__item {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area__item {
    padding: 0.5rem;
  }
}
.p-top .area__btn .c-btn2 {
  font-size: 2.3rem;
  font-weight: 500;
}
@media screen and (max-width: 1179px) {
  .p-top .area__btn .c-btn2 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .area__btn .c-btn2 {
    font-size: 1.4rem;
  }
}
.p-top .voice {
  padding-top: 14.5rem;
  padding-bottom: 29rem;
}
@media screen and (max-width: 1179px) {
  .p-top .voice {
    padding-bottom: 15rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .voice {
    padding-top: 10rem;
  }
}
.p-top .faq {
  position: relative;
  z-index: 1;
  margin-top: -5.7rem;
  padding-top: 12.2rem;
  padding-bottom: 14rem;
  background: url(../images/top/bg_faq.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-top .faq {
    padding-top: 8rem;
    padding-bottom: 8rem;
    background: url(../images/top/bg_faq-sp.png) no-repeat center/cover;
  }
}
.p-top .faq__bg {
  position: relative;
}
.p-top .faq__bg::before {
  content: "";
  position: absolute;
  top: -6rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 33.7rem;
  background: url(../images/service/bg_wave.png) no-repeat center/cover;
}
@media screen and (min-width: 1921px) {
  .p-top .faq__bg::before {
    height: 41rem;
    background: url(../images/service/bg_wave.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 767px) {
  .p-top .faq__bg::before {
    height: 10rem;
  }
}
.p-top .faq .container {
  position: relative;
  margin-top: -11rem;
}
@media screen and (max-width: 1179px) {
  .p-top .faq .container {
    margin-top: -5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .faq .container {
    margin-top: -2rem;
  }
}
.p-top .faq__items {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-top .faq__items {
    margin-top: 3rem;
  }
}
.p-top .faq__item:nth-child(n+2) {
  margin-top: 3.2rem;
}
.p-top .faq__question {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  padding: 1.6rem 6rem 1.6rem 2.4rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-top .faq__question {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .faq__question {
    font-size: 1.5rem;
  }
}
.p-top .faq__question span {
  background: #959595;
  width: 3.6rem;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.p-top .faq__question::before, .p-top .faq__question::after {
  content: "";
  left: unset;
  position: absolute;
  top: 50%;
  right: 3.4rem;
  width: 1.2rem;
  height: 2px;
  background-color: #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-top .faq__question::before {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.p-top .faq__question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.p-top .faq__question.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.p-top .faq__answer {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  gap: 2.4rem;
  padding: 2.4rem 2.4rem 0;
  display: none;
}
@media screen and (max-width: 1179px) {
  .p-top .faq__answer {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top .faq__answer {
    font-size: 1.5rem;
  }
}
.p-top .faq__answer.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-top .faq__answer span {
  background: #02B0ED;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.p-top .faq__btn {
  text-align: right;
  margin-top: 5rem;
}
.p-top .media {
  padding: 12rem 0 8rem;
}
@media screen and (max-width: 767px) {
  .p-top .media {
    padding: 8rem 0 8rem;
  }
}
.p-top .media__items {
  margin-top: 7.5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-top .media__items {
    margin-top: 3rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-top .media__item img {
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top .media__item a {
  font-weight: 700;
}
.p-top .media__btn {
  text-align: right;
  margin-top: 5rem;
}
.p-top .media .p-postList__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}

/*----------------------------
■■　概要ページ page-about.php　■■
------------------------------*/
/*----------------------------
■■　採用ページ page-recruit.php　■■
------------------------------*/
.p-recruit .mv__title {
  font-size: 4.5rem;
  font-weight: 500;
}
@media screen and (max-width: 1179px) {
  .p-recruit .mv__title {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit .mv__title {
    font-size: 2.8rem;
  }
}
.p-recruit .concept {
  text-align: center;
}

/*----------------------------
■■　浴室床の塗装／床シートページ　■■
------------------------------*/
.p-service .sec-read {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  margin-top: 2.4rem;
  letter-spacing: 0;
  word-break: auto-phrase;
}
@media screen and (max-width: 1179px) {
  .p-service .sec-read {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .sec-read {
    font-size: 1.5rem;
  }
}
.p-service .kv {
  position: relative;
}
.p-service .kv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 67.1rem;
  height: 62.2rem;
  background: url(../images/kv/kv-left.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .kv::before {
    width: 35.1rem;
    height: 32.2rem;
  }
}
.p-service .kv::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 36.4rem;
  height: 44.5rem;
  background: url(../images/kv/kv-right.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .kv::after {
    width: 24.4rem;
    height: 28.5rem;
  }
}
.p-service .kv__sect {
  position: relative;
  width: 100%;
}
.p-service .kv__bg-img {
  position: relative;
  width: 100%;
  margin-left: auto;
}
.p-service .kv__bg-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/776;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 1600px) {
  .p-service .kv__bg-img img {
    aspect-ratio: 1600/800;
  }
}
@media screen and (max-width: 1000px) {
  .p-service .kv__bg-img img {
    aspect-ratio: 1000/776;
  }
}
@media screen and (max-width: 600px) {
  .p-service .kv__bg-img img {
    height: 100%;
    aspect-ratio: 375/550;
  }
}
@media screen and (max-width: 600px) {
  .p-service .kv__bg-img img.img-hoge {
    -o-object-position: 67% center;
       object-position: 67% center;
  }
}
@media screen and (max-width: 1000px) {
  .p-service .kv__bg-img img.img-hoge--wall {
    -o-object-position: 80% center;
       object-position: 80% center;
  }
}
@media screen and (max-width: 600px) {
  .p-service .kv__bg-img img.img-hoge--rental {
    -o-object-position: 72% center;
       object-position: 72% center;
  }
}
@media screen and (max-width: 600px) {
  .p-service .kv__bg-img img.img-hoge--hotel {
    -o-object-position: 65% center;
       object-position: 65% center;
  }
}
@media screen and (max-width: 1000px) {
  .p-service .kv__bg-img img.img-hoge--panel {
    -o-object-position: 90% center;
       object-position: 90% center;
  }
}
.p-service .kv__container {
  position: absolute;
  top: 21%;
  left: 12%;
  z-index: 10;
}
@media screen and (max-width: 1800px) {
  .p-service .kv__container {
    left: 5%;
  }
}
@media screen and (max-width: 1380px) {
  .p-service .kv__container {
    padding: 0 5rem;
    padding-right: 7vw;
    left: 0;
    top: 13%;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__container {
    padding: 0 2rem;
  }
}
.p-service .kv__txt {
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1.625;
  color: #333;
  font-size: clamp(2.4rem, 2.86vw, 5.5rem);
}
@media screen and (max-width: 1179px) {
  .p-service .kv__txt {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__txt {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__txt {
    line-height: 1.5;
  }
}
.p-service .kv__txt span {
  display: inline-block;
  background: #fff;
  border-radius: 15px;
  -webkit-box-shadow: 3px 3px 7.6853px rgba(136, 134, 134, 0.6);
          box-shadow: 3px 3px 7.6853px rgba(136, 134, 134, 0.6);
  padding: 0 0 0 1.3rem;
}
.p-service .kv__txt span:nth-child(n+2) {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-service .kv__txt span:nth-child(n+2) {
    margin-top: 2rem;
  }
}
.p-service .kv__txt span.orange {
  margin-top: 0;
  color: #FBB212;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-left: 0;
}
.p-service .kv__point {
  display: inline-block;
  margin-top: 7.3rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1666666667;
  background: #042B66;
  color: #fff;
  padding: 0.8rem 2.4rem;
  -webkit-box-shadow: 2.05961px 2.05961px 0px #FFFFFF;
          box-shadow: 2.05961px 2.05961px 0px #FFFFFF;
  border-radius: 10.2981px;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-service .kv__point {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__point {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__point {
    margin-top: 8rem;
  }
}
.p-service .kv__point::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 4.5rem;
  width: 2rem;
  height: 2rem;
  background: url(../images/kv/kv-hukidashi.svg) no-repeat center/contain;
}
.p-service .kv__read {
  margin-top: 2rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4333333333;
  letter-spacing: 0;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-service .kv__read {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__read {
    font-size: 1.5rem;
  }
}
.p-service .kv__read span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #FFFE3E));
  background: linear-gradient(to bottom, transparent 80%, #FFFE3E 80%);
}
.p-service .kv__btn {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-service .kv__btn {
    margin-top: 3rem;
  }
}
.p-service .kv__btn .c-btn3 {
  font-size: 3.2rem;
  background: #EF701C;
  border: 3px solid #EF701C;
  padding: 1rem 17.4rem;
}
@media screen and (max-width: 1179px) {
  .p-service .kv__btn .c-btn3 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__btn .c-btn3 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .kv__btn .c-btn3 {
    margin-top: 2rem;
    padding: 1rem 5rem;
  }
}
.p-service .kv__btn .c-btn3::after {
  right: 4rem;
  width: 1.8rem;
  height: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-service .kv__btn .c-btn3::after {
    right: 2rem;
    width: 1rem;
    height: 1.6rem;
  }
}
.p-service .problem {
  background: url(../images/top/bg_problem.png) no-repeat center/cover;
  padding-bottom: 12rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 1179px) {
  .p-service .problem {
    padding: 0 0 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem {
    padding: 0 0 10rem;
  }
}
.p-service .problem--rental {
  background: url(../images/top/bg_problem.png) no-repeat center bottom/cover;
}
.p-service .problem .container {
  margin-top: 4.5rem;
}
.p-service .problem .c-heading {
  position: relative;
  padding: 0 5rem;
  word-break: auto-phrase;
}
@media screen and (max-width: 767px) {
  .p-service .problem .c-heading {
    padding: 0 2rem;
  }
}
.p-service .problem .c-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4.3rem;
  height: 5.9rem;
  background: url(../images/service/problem-ttl1.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .problem .c-heading::before {
    width: 2.3rem;
    height: 3.9rem;
  }
}
.p-service .problem .c-heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 4.3rem;
  height: 5.9rem;
  background: url(../images/service/problem-ttl2.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .problem .c-heading::after {
    width: 2.3rem;
    height: 3.9rem;
  }
}
.p-service .problem__container {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-service .problem__container {
    margin-top: 3rem;
  }
}
.p-service .problem__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-service .problem__contents {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
.p-service .problem__contents:nth-child(n+2) {
  margin-top: -4rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1179px) {
  .p-service .problem__contents:nth-child(n+2) {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem__contents:nth-child(n+2) {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: 5rem;
  }
}
.p-service .problem__body {
  margin-top: 2rem;
  width: 64.5454545455%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-service .problem__body:has(.problem__lists2) {
  margin-top: 3rem;
}
.p-service .problem__lists {
  position: relative;
  text-align: left;
  max-width: 66.3rem;
  padding-left: 6rem;
  background: #fff;
  padding: 6.4rem 4.3rem 6.4rem 5.3rem;
  border-radius: 15px;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.13));
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.13));
}
@media screen and (max-width: 1179px) {
  .p-service .problem__lists {
    padding: 6.4rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem__lists {
    padding: 2rem;
  }
}
.p-service .problem__lists::before {
  content: "";
  position: absolute;
  top: 60%;
  right: -5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6.8rem;
  height: 4.8rem;
  background: url(../images/service/hukidashi-circle.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .problem__lists::before {
    right: -3rem;
    width: 4.8rem;
    height: 2.8rem;
  }
}
.p-service .problem__lists2 {
  padding-left: 10rem;
  padding: 3.7rem 4rem;
  max-width: 66.3rem;
}
@media screen and (max-width: 1179px) {
  .p-service .problem__lists2 {
    padding: 6.4rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem__lists2 {
    padding: 2rem;
  }
}
.p-service .problem__lists2::before {
  content: "";
  position: absolute;
  top: 60%;
  left: -5.3rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 7.8rem;
  height: 4.4rem;
  background: url(../images/service/hukidashi-circle2.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .problem__lists2::before {
    left: -4rem;
    width: 5.8rem;
    height: 2.4rem;
  }
}
.p-service .problem__lists2 .problem__list span {
  color: #02B0ED;
}
.p-service .problem__lists2 .problem__list:nth-child(n+2) {
  margin-top: 1rem;
}
.p-service .problem__list {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding-left: 3.5rem;
  position: relative;
  display: inline-block;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-service .problem__list {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem__list {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .problem__list {
    padding-left: 2.5rem;
  }
}
.p-service .problem__list::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  background: url(../images/common/check.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .problem__list::before {
    top: 1.2rem;
    width: 2rem;
    height: 2rem;
  }
}
.p-service .problem__list span {
  color: #248BE9;
}
.p-service .problem__list:nth-child(n+2) {
  margin-top: 2rem;
}
.p-service .problem__img {
  width: 34.5454545455%;
}
.p-service .problem__img img {
  max-width: 38rem;
  width: 100%;
  height: auto;
  aspect-ratio: 380/410;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-service .about {
  margin-top: -7rem;
  padding-top: 14rem;
  padding-bottom: 24.5rem;
  background: url(../images/service/bg_about.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-service .about {
    padding-bottom: 16rem;
  }
}
.p-service .about .sec-title {
  text-align: center;
}
.p-service .about .sec-title .c-heading {
  font-size: 5.4rem;
  font-size: clamp(2.6rem, 3vw, 5.4rem);
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-service .about .sec-title .c-heading {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about .sec-title .c-heading {
    font-size: 2.6rem;
  }
}
.p-service .about .sec-title .c-heading::after {
  content: "";
  position: absolute;
  top: -2rem;
  right: -8rem;
  width: 6.1rem;
  height: 5.7rem;
  background: url(../images/top/point-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .about .sec-title .c-heading::after {
    top: -1rem;
    right: -5rem;
    width: 4.1rem;
    height: 3.7rem;
  }
}
.p-service .about .sec-title__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-service .about__items {
  margin-top: 11.5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5.6rem 1fr 5.6rem 1fr 5.6rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 5.6rem;
}
@media screen and (max-width: 1179px) {
  .p-service .about__items {
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__items {
    max-width: 50rem;
    margin-inline: auto;
    margin-top: 8rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}
.p-service .about__item {
  background: #fff;
  border-radius: 10px;
  padding: 5.6rem 1rem 4.5rem;
  -webkit-box-shadow: 0px 0px 40px rgba(210, 238, 255, 0.6);
          box-shadow: 0px 0px 40px rgba(210, 238, 255, 0.6);
  position: relative;
  text-align: center;
}
.p-service .about__number {
  content: "";
  position: absolute;
  top: -3.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 8.1rem;
  height: 8.1rem;
  background: #EF701C;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (max-width: 1179px) {
  .p-service .about__number {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__number {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__number {
    width: 7.1rem;
    height: 7.1rem;
  }
}
.p-service .about__number span {
  font-size: 2.4rem;
  line-height: 1;
}
@media screen and (max-width: 1179px) {
  .p-service .about__number span {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__number span {
    font-size: 2rem;
  }
}
.p-service .about__item img {
  max-width: 15.5rem;
}
@media screen and (max-width: 767px) {
  .p-service .about__item img {
    max-width: 12rem;
  }
}
.p-service .about__txt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  margin-top: 2.4rem;
}
@media screen and (max-width: 1179px) {
  .p-service .about__txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .about__txt {
    margin-top: 2rem;
  }
}
.p-service .about__txt span {
  color: #02B0ED;
}
.p-service .about__btn {
  margin-top: 6rem;
  text-align: right;
}
.p-service .work {
  background: #E5F5FF;
  padding: 10rem 0 11rem;
}
@media screen and (max-width: 767px) {
  .p-service .work {
    padding: 2rem 0;
  }
}
.p-service .work .container--l {
  position: relative;
  z-index: 5;
}
.p-service .work .c-heading {
  padding: 0 8.6rem;
}
@media screen and (max-width: 767px) {
  .p-service .work .c-heading {
    padding: 0 5rem;
  }
}
.p-service .work__items {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .p-service .work__items {
    margin-top: 4rem;
  }
}
.p-service .work__btn {
  margin-top: 9.6rem;
  max-width: unset;
}
@media screen and (max-width: 767px) {
  .p-service .work__btn {
    margin-top: 5rem;
  }
}
.p-service .work__btn .c-btn3 {
  font-size: 5rem;
  max-width: 89.6rem;
  padding: 0.7rem 31.5rem;
}
@media screen and (max-width: 1179px) {
  .p-service .work__btn .c-btn3 {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .work__btn .c-btn3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-service .work__btn .c-btn3 {
    padding: 0.7rem 15.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .work__btn .c-btn3 {
    max-width: 32rem;
    padding: 0.7rem 10.5rem;
  }
}
.p-service .price {
  padding: 17rem 0 23.3rem;
  overflow-x: hidden;
  background: url(../images/service/bg_price.png) no-repeat center/cover;
}
@media screen and (max-width: 1179px) {
  .p-service .price {
    padding: 16rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price {
    padding: 12rem 0 12rem;
  }
}
.p-service .price .sec-read {
  margin-top: 3.4rem;
}
.p-service .price__table-container {
  margin-top: 6rem;
}
@media screen and (max-width: 1400px) {
  .p-service .price__table-container {
    overflow-x: scroll;
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table-container {
    margin-top: 3rem;
  }
}
.p-service .price__table {
  width: 100%;
}
.p-service .price__table thead th {
  background: #248BE9;
  color: #fff;
}
@media screen and (max-width: 1400px) {
  .p-service .price__table tbody tr th {
    position: sticky;
    left: 0;
    background: #fff;
  }
}
@media screen and (max-width: 1400px) {
  .p-service .price__table tbody tr:nth-child(even) th {
    position: sticky;
    left: 0;
    background: #F3F3F3;
  }
}
.p-service .price__table thead th:first-child {
  background: #02B0ED;
}
@media screen and (max-width: 1400px) {
  .p-service .price__table thead th:first-child {
    position: sticky;
    left: 0;
  }
}
.p-service .price__table th {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding: 3.3rem 0;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-service .price__table th {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table th {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table th {
    padding: 2rem 0;
  }
}
.p-service .price__table th.left {
  text-align: left;
  padding: 2rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-service .price__table th.left {
    text-align: center;
    padding: 2rem 0;
  }
}
.p-service .price__table th span {
  font-size: 2rem;
}
@media screen and (max-width: 1179px) {
  .p-service .price__table th span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table th span {
    font-size: 1.4rem;
  }
}
.p-service .price__table tr {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 295fr 272fr (190fr)[5];
  grid-template-columns: 295fr 272fr repeat(5, 190fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1400px) {
  .p-service .price__table tr {
    -ms-grid-columns: 29rem 27rem (19rem)[5];
    grid-template-columns: 29rem 27rem repeat(5, 19rem);
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table tr {
    -ms-grid-columns: 20rem 22rem (9rem)[5];
    grid-template-columns: 20rem 22rem repeat(5, 9rem);
  }
}
.p-service .price__table tr:nth-child(even) {
  background: #F3F3F3;
}
.p-service .price__table td {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  padding: 1.8rem 0;
  text-align: center;
  white-space: nowrap;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-service .price__table td {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table td {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table td {
    padding: 1rem 0;
  }
}
.p-service .price__table td span {
  font-size: 3.6rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  letter-spacing: 0;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-service .price__table td span {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__table td span {
    font-size: 1.8rem;
  }
}
.p-service .price__table td:has(span) {
  font-size: 2rem;
  line-height: 1.3;
  color: #333;
}
@media screen and (max-width: 767px) {
  .p-service .price__table td:has(span) {
    font-size: 1.4rem;
  }
}
.p-service .price__bottom {
  margin-top: 2.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1179px) {
  .p-service .price__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service .price__txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1179px) {
  .p-service .price__txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__txt {
    font-size: 1.4rem;
  }
}
.p-service .price__txt span {
  color: #248BE9;
}
.p-service .price__list {
  margin-top: 0.5rem;
}
.p-service .price__item {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-service .price__item {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .price__item {
    font-size: 1.4rem;
  }
}
.p-service .price__btn {
  margin-top: 12.5rem;
  text-align: right;
}
@media screen and (max-width: 1179px) {
  .p-service .price__btn {
    margin-top: 5rem;
  }
}
.p-service .point {
  position: relative;
  z-index: 1;
  padding: 16rem 0;
  margin-top: -7rem;
  margin-bottom: -7rem;
  background: url(../images/service/bg_point.png) no-repeat center/cover;
}
@media screen and (max-width: 660px) {
  .p-service .point {
    background: none;
    padding: 12rem 0 13rem;
  }
  .p-service .point::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110rem;
    background: url(../images/service/bg_point-sp1.png) no-repeat center/cover;
  }
  .p-service .point::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 130rem;
    background: url(../images/service/bg_point-sp2.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 420px) {
  .p-service .point {
    padding: 10rem 0 13rem;
  }
  .p-service .point::before {
    height: 70rem;
  }
  .p-service .point::after {
    height: 85rem;
  }
}
.p-service .point .container--l {
  position: relative;
  z-index: 5;
}
.p-service .point__container {
  margin-top: 13rem;
  max-width: 137.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 1179px) {
  .p-service .point__container {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__container {
    margin-top: 5rem;
    max-width: 50rem;
  }
}
.p-service .point__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-service .point__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service .point__contents:nth-child(n+2) {
  margin-top: 15rem;
}
@media screen and (max-width: 1179px) {
  .p-service .point__contents:nth-child(n+2) {
    margin-top: 5rem;
  }
}
.p-service .point__contents:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-service .point__contents:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service .point__contents:nth-child(even) .point__img::before {
  left: unset;
  right: 2.4rem;
}
.p-service .point__contents:nth-child(even) .point__body {
  margin-left: unset;
  margin-right: -3rem;
}
@media screen and (max-width: 767px) {
  .p-service .point__contents:nth-child(even) .point__body {
    margin-left: -1rem;
    margin-right: 2rem;
  }
}
.p-service .point__contents:nth-child(1) .point__body {
  margin-top: 10.5rem;
  padding-left: 16rem;
}
@media screen and (max-width: 1300px) {
  .p-service .point__contents:nth-child(1) .point__body {
    padding-left: 10rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-service .point__contents:nth-child(1) .point__body {
    margin-top: 5rem;
    padding-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__contents:nth-child(1) .point__body {
    padding-left: 3rem;
    margin-top: -2rem;
  }
}
.p-service .point__contents:nth-child(2) .point__img::before {
  background: url(../images/service/point02.svg) no-repeat center/contain;
}
.p-service .point__contents:nth-child(3) .point__img::before {
  background: url(../images/service/point03.svg) no-repeat center/contain;
}
.p-service .point__contents:nth-child(3) .point__body {
  padding: 5rem 5rem 5.5rem 10rem;
}
@media screen and (max-width: 1179px) {
  .p-service .point__contents:nth-child(3) .point__body {
    padding-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__contents:nth-child(3) .point__body {
    padding-left: 3rem;
  }
}
.p-service .point__contents:nth-child(4) .point__img::before {
  background: url(../images/service/point04.svg) no-repeat center/contain;
}
.p-service .point__img {
  width: 51.2017479971%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-service .point__img {
    width: 100%;
  }
}
.p-service .point__img::before {
  content: "";
  position: absolute;
  top: -1.6rem;
  left: 2.4rem;
  width: 10.2rem;
  height: 9.861rem;
  z-index: 2;
  background: url(../images/service/point01.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .point__img::before {
    left: 2rem;
    top: -1.3rem;
    width: 7.2rem;
    height: 6.861rem;
  }
}
.p-service .point__img img {
  border-radius: 15px;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.08));
  filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.08));
}
.p-service .point__body {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  background: #E5F5FF;
  border-radius: 15px;
  padding: 8rem;
  width: 51.9300801165%;
  margin-top: 6rem;
  margin-left: -3rem;
  -webkit-box-shadow: 10px 10px 0px #FFFFFF;
          box-shadow: 10px 10px 0px #FFFFFF;
}
@media screen and (max-width: 1179px) {
  .p-service .point__body {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__body {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-service .point__body {
    padding: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__body {
    width: 100%;
    margin-top: -2rem;
    margin-left: 1rem;
    padding: 5rem 3rem 4rem;
  }
}
.p-service .point__body span {
  color: #248BE9;
}
.p-service .point__txt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 2.2rem;
}
@media screen and (max-width: 1179px) {
  .p-service .point__txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .point__txt {
    font-size: 1.4rem;
  }
}
.p-service .point__txt span {
  color: #248BE9;
}
.p-service .flow {
  padding: 18.4rem 0 28rem;
  background: #F8F8F9 url(../images/top/bg_flow.png) no-repeat center/cover;
}
@media screen and (max-width: 1179px) {
  .p-service .flow {
    padding: 16.4rem 0 24rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .flow {
    padding: 10rem 0 20rem;
  }
}
.p-service .flow .sec-read {
  margin-top: 4.5rem;
}
.p-service .voice {
  background: #E5F5FF;
  position: relative;
  padding-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  .p-service .voice {
    padding-bottom: 15rem;
  }
}
.p-service .voice::before {
  content: "";
  position: absolute;
  top: 1%;
  left: 2.2rem;
  width: 23.8rem;
  height: 65.9rem;
  z-index: 1;
  background: url(../images/top/bg_voice-left.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-service .voice::before {
    top: 20%;
  }
}
@media screen and (max-width: 767px) {
  .p-service .voice::before {
    top: 30%;
    width: 10rem;
    height: 55rem;
  }
}
.p-service .voice::after {
  content: "";
  position: absolute;
  top: 4%;
  right: 0;
  width: 24.3rem;
  height: 76.7rem;
  background: url(../images/top/bg_voice-right.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-service .voice::after {
    width: 14rem;
    height: 66rem;
  }
}
.p-service .voice__bg {
  position: relative;
}
.p-service .voice__bg::before {
  content: "";
  position: absolute;
  top: -6rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 33.7rem;
  background: url(../images/service/bg_wave.png) no-repeat center/contain;
}
@media screen and (min-width: 2000px) {
  .p-service .voice__bg::before {
    background: url(../images/service/bg_wave.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 1179px) {
  .p-service .voice__bg::before {
    top: -11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .voice__bg::before {
    top: -8rem;
    height: 21rem;
    background: url(../images/service/bg_wave-sp.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 500px) {
  .p-service .voice__bg::before {
    height: 13rem;
  }
}
.p-service .voice .container--l {
  margin-top: -6rem;
}
@media screen and (max-width: 767px) {
  .p-service .voice .container--l {
    margin-top: -5rem;
  }
}
.p-service .voice .voice__no-post {
  text-align: center;
}
.p-service .faq {
  position: relative;
  z-index: 1;
  margin-top: -5.7rem;
  padding-top: 12.2rem;
  padding-bottom: 14rem;
  background: url(../images/top/bg_faq.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-service .faq {
    background: #E5F5FF;
    padding-top: 10rem;
    padding-bottom: 8rem;
  }
}
.p-service .faq__bg {
  position: relative;
}
.p-service .faq__bg::before {
  content: "";
  position: absolute;
  top: -6rem;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 33.7rem;
  background: url(../images/service/bg_wave.png) no-repeat center/contain;
}
@media screen and (min-width: 2000px) {
  .p-service .faq__bg::before {
    background: url(../images/service/bg_wave.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 767px) {
  .p-service .faq__bg::before {
    top: -8rem;
    height: 18rem;
    background: url(../images/service/bg_wave-sp.png) no-repeat center/cover;
  }
}
@media screen and (max-width: 500px) {
  .p-service .faq__bg::before {
    height: 13rem;
  }
}
.p-service .faq .container {
  position: relative;
  margin-top: -11rem;
}
@media screen and (max-width: 1300px) {
  .p-service .faq .container {
    margin-top: -4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .faq .container {
    margin-top: -6rem;
  }
}
.p-service .faq__items {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-service .faq__items {
    margin-top: 3rem;
  }
}
.p-service .faq__item:nth-child(n+2) {
  margin-top: 3.2rem;
}
.p-service .faq__question {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  padding: 1.6rem 6rem 1.6rem 2.4rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-service .faq__question {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .faq__question {
    font-size: 1.5rem;
  }
}
.p-service .faq__question span {
  background: #959595;
  width: 3.6rem;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.p-service .faq__question::before, .p-service .faq__question::after {
  content: "";
  left: unset;
  position: absolute;
  top: 50%;
  right: 3.4rem;
  width: 1.2rem;
  height: 2px;
  background-color: #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-service .faq__question::before {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.p-service .faq__question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.p-service .faq__question.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.p-service .faq__answer {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  gap: 2.4rem;
  padding: 2.4rem 2.4rem 0;
  display: none;
}
@media screen and (max-width: 1179px) {
  .p-service .faq__answer {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .faq__answer {
    font-size: 1.5rem;
  }
}
.p-service .faq__answer.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-service .faq__answer span {
  background: #02B0ED;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.p-service .faq__btn {
  text-align: right;
  margin-top: 5rem;
}
.p-service .contact {
  padding-top: 9rem;
}
.p-service .contact__contents {
  padding-top: 6rem;
}
.p-service .contact__img {
  margin-top: -10rem;
}
.p-service .contact__item--price {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.p-service .contact__item--price .contact__item-txt {
  font-size: 5rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  letter-spacing: 0;
  color: #248BE9;
  line-height: 1;
  font-size: clamp(3rem, 2.6vw, 5rem);
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-service .contact__item--price .contact__item-txt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .contact__item--price .contact__item-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1200px) {
  .p-service .contact__item--price .contact__item-txt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .contact__item--price .contact__item-txt {
    font-size: 2.4rem;
  }
}
.p-service .contact__item--price .contact__item-txt span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #FFFE3E));
  background: linear-gradient(to bottom, transparent 80%, #FFFE3E 80%);
}
.p-service .contact__item--price .contact__item-txt p {
  font-size: 2rem;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
  color: #1363AB;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-service .contact__item--price .contact__item-txt p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service .contact__item--price .contact__item-txt p {
    font-size: 1.2rem;
  }
}

/*----------------------------
■■　選ばれる理由ページ　■■
------------------------------*/
.p-point .head {
  position: relative;
}
.p-point .read {
  padding: 0 0 23.8rem;
  text-align: center;
  background: url(../images/point/bg_point-read.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-point .read {
    padding: 0 0 15rem;
  }
}
.p-point .read .bread-nav__wrapper {
  text-align: left;
}
.p-point .read__ttl {
  font-size: 5.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #042B66;
  display: inline-block;
  padding-left: 10rem;
  position: relative;
  margin-top: 5rem;
}
@media screen and (max-width: 1179px) {
  .p-point .read__ttl {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .read__ttl {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .read__ttl {
    padding-left: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .read__ttl {
    margin-top: 3rem;
    padding-left: 4rem;
  }
}
.p-point .read__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5.4rem;
  height: 7.7rem;
  background: url(../images/point/point-read.svg) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-point .read__ttl::before {
    width: 4.4rem;
    height: 6.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .read__ttl::before {
    width: 2.4rem;
    height: 4.7rem;
  }
}
.p-point .read__txt {
  margin-top: 4.3rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-point .read__txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .read__txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .read__txt {
    margin-top: 3rem;
    line-height: 2;
  }
}
.p-point .read__txt span {
  font-weight: 700;
  color: #02B0ED;
}
.p-point .point {
  text-align: center;
}
.p-point .point .container--l {
  position: relative;
  z-index: 1;
}
.p-point .point__arrow {
  margin-top: 7.2rem;
  max-width: 8.3rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-point .point__arrow {
    margin-top: 3rem;
    max-width: 5.3rem;
  }
}
.p-point .point__read {
  margin-top: 4.4rem;
  display: inline-block;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #042B66;
  padding-left: 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-point .point__read {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point__read {
    margin-top: 3rem;
    padding-left: 5rem;
  }
}
.p-point .point__read::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 9.2rem;
  height: 10.4rem;
  background: url(../images/point/question.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point__read::before {
    width: 3.2rem;
    height: 5.4rem;
  }
}
.p-point .point__cards {
  max-width: 118rem;
  margin-inline: auto;
  margin-top: 7rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5rem 1fr 5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-point .point__cards {
    margin-top: 5rem;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-point .point__card {
  background: #fff;
  border-radius: 15px;
  padding: 5.6rem 2.4rem 3rem;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  gap: 2.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-point .point__card {
    padding: 3rem 2rem;
  }
}
.p-point .point__card::before {
  content: "";
  position: absolute;
  top: -0.6rem;
  left: 2rem;
  width: 7.2rem;
  height: 8.3rem;
  background: url(../images/point/point01.svg) no-repeat center/contain;
}
.p-point .point__card:nth-child(2)::before {
  background: url(../images/point/point02.svg) no-repeat center/contain;
}
.p-point .point__card:nth-child(3)::before {
  background: url(../images/point/point03.svg) no-repeat center/contain;
}
.p-point .point__card-img img {
  max-width: 11.2rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-point .point__card-img img {
    max-width: 8rem;
  }
}
.p-point .point__card-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.8;
  color: #042B66;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-point .point__card-ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point__card-ttl {
    font-size: 1.6rem;
  }
}
.p-point .point__card-ttl span {
  display: inline;
  color: #248BE9;
}
.p-point .point1 {
  padding: 15.6rem 0 11.4rem;
  background: #E5F5FF;
}
@media screen and (max-width: 767px) {
  .p-point .point1 {
    padding: 0 0 6rem;
  }
}
.p-point .point1__container {
  background: #fff;
  border-radius: 15px;
  -webkit-box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
          box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
  padding: 9rem 11.8rem 7rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point1__container {
    padding: 8rem 6rem 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__container {
    padding: 5rem 2rem;
  }
}
.p-point .point1__container::before {
  content: "";
  position: absolute;
  top: -7rem;
  left: -4rem;
  width: 19.4rem;
  height: 19.4rem;
  background: url(../images/point/point1-ttl.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-point .point1__container::before {
    width: 15.4rem;
    height: 15.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__container::before {
    top: -4rem;
    left: -2rem;
    width: 8rem;
    height: 8rem;
  }
}
.p-point .point1__ttl {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #042B66;
  border-bottom: 5px dashed #02B0ED;
  padding: 0 6rem 3rem;
  display: inline-block;
}
@media screen and (max-width: 1179px) {
  .p-point .point1__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__ttl {
    padding: 0 2rem 2rem;
  }
}
.p-point .point1__ttl span {
  font-size: 5.4rem;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-point .point1__ttl span {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__ttl span {
    font-size: 2.6rem;
  }
}
.p-point .point1__body {
  margin-top: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6.3rem;
}
@media screen and (max-width: 850px) {
  .p-point .point1__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__body {
    margin-top: 3rem;
    gap: 3rem;
  }
}
.p-point .point1__body-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  background: #E5F5FF;
  border-radius: 15px;
  padding: 4rem 4rem;
  text-align: left;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  width: 50.9360374415%;
  position: relative;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-point .point1__body-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__body-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 850px) {
  .p-point .point1__body-txt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point1__body-txt {
    padding: 2rem;
  }
}
.p-point .point1__body-txt span {
  color: #248BE9;
}
.p-point .point1__body-txt::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 3.9rem;
  height: 3.9rem;
  background: url(../images/point/right-top.png) no-repeat center/contain;
}
.p-point .point1__body-txt::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 3.9rem;
  height: 3.9rem;
  background: url(../images/point/left-bottom.png) no-repeat center/contain;
}
.p-point .point1__img {
  width: 44.1497659906%;
}
@media screen and (max-width: 850px) {
  .p-point .point1__img {
    width: 100%;
  }
}
.p-point .point2 {
  padding: 26rem 0 22rem;
  background: #F8F8F9;
}
@media screen and (max-width: 767px) {
  .p-point .point2 {
    padding: 15rem 0 18rem;
  }
}
.p-point .point2__container {
  background: #E5F5FF;
  border-radius: 15px;
  -webkit-box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
          box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
  padding: 9rem 11.8rem 8rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__container {
    padding: 8rem 6rem 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__container {
    padding: 5rem 2rem;
  }
}
.p-point .point2__container::before {
  content: "";
  position: absolute;
  top: -7rem;
  left: -4rem;
  width: 19.4rem;
  height: 19.4rem;
  background: url(../images/point/point2-ttl.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__container::before {
    width: 15.4rem;
    height: 15.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__container::before {
    top: -4rem;
    left: -2rem;
    width: 8rem;
    height: 8rem;
  }
}
.p-point .point2__container::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 83.2rem;
  height: 50.4rem;
  background: url(../images/point/bg_point2.png) no-repeat center/contain;
}
.p-point .point2__ttl {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #042B66;
  border-bottom: 5px dashed #02B0ED;
  padding: 0 0 5rem;
  display: inline-block;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__ttl {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .point2__ttl {
    padding: 0 6rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__ttl {
    padding: 0 0 2rem;
  }
}
.p-point .point2__ttl span {
  font-size: 5.4rem;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__ttl span {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__ttl span {
    font-size: 2.5rem;
  }
}
.p-point .point2__body {
  padding: 5rem 11rem 0;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__body {
    padding: 5rem 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__body {
    padding: 3rem 0 0;
  }
}
.p-point .point2__body-read {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 850px) {
  .p-point .point2__body-read {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-point .point2__body-read span {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0;
  background: #fff;
  color: #248BE9;
  padding: 0.5rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__body-read span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__body-read span {
    font-size: 1.6rem;
  }
}
.p-point .point2__body-txt {
  margin-top: 2.5rem;
  text-align: left;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-point .point2__body-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2__body-txt {
    font-size: 1.6rem;
  }
}
.p-point .point2__body-txt span {
  color: #248BE9;
}
.p-point .point2 .point__cards {
  margin-top: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.5rem;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__cards {
    margin-top: 5rem;
  }
}
.p-point .point2 .point__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  padding: 2rem 2.3rem;
  border-radius: 10px;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.13));
          filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.13));
  position: relative;
  border-radius: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) padding-box, -webkit-gradient(linear, left top, right top, from(#C4DAFF), to(#C4ECFF)) border-box;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to right, #C4DAFF, #C4ECFF) border-box;
  border: 3px solid transparent;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-point .point2 .point__card::before {
  content: "";
  position: absolute;
  top: -3.7rem;
  left: -2.6rem;
  width: 7.3rem;
  height: 7.3rem;
  background: url(../images/point/point2-card01.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card::before {
    left: 0;
    top: -2rem;
    width: 5.3rem;
    height: 5.3rem;
  }
}
.p-point .point2 .point__card:nth-child(2)::before {
  background: url(../images/point/point2-card02.png) no-repeat center/contain;
}
.p-point .point2 .point__card:nth-child(3)::before {
  background: url(../images/point/point2-card03.png) no-repeat center/contain;
}
.p-point .point2 .point__card-img {
  width: 28.7272727273%;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card-img {
    width: 100%;
  }
}
.p-point .point2 .point__card-img img {
  max-width: 31.6rem;
  width: 100%;
  height: 100%;
  aspect-ratio: 316/168;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card-img img {
    max-width: unset;
  }
}
.p-point .point2 .point__card-body {
  width: 70.959377701%;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card-body {
    width: 100%;
  }
}
.p-point .point2 .point__card-ttl {
  font-size: 3rem;
  line-height: 1.4333333333;
  font-weight: 700;
  color: #248BE9;
  text-align: left;
}
@media screen and (max-width: 1179px) {
  .p-point .point2 .point__card-ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card-ttl {
    font-size: 1.8rem;
  }
}
.p-point .point2 .point__card-txt {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-point .point2 .point__card-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__card-txt {
    font-size: 1.4rem;
  }
}
.p-point .point2 .point__pickup {
  max-width: 118rem;
  margin-inline: auto;
  margin-top: 13rem;
  padding: 8.5rem 12rem 4rem;
  background: #fff;
  border-radius: 15px;
  position: relative;
  -webkit-filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.2));
          filter: drop-shadow(0px 4px 4px rgba(51, 51, 51, 0.2));
}
@media screen and (max-width: 1179px) {
  .p-point .point2 .point__pickup {
    padding: 8rem 6rem 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__pickup {
    margin-top: 10rem;
    padding: 5rem 2rem;
  }
}
.p-point .point2 .point__ttl {
  content: "";
  position: absolute;
  top: -3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  font-size: 3.6rem;
  font-weight: 700;
  background: #02B0ED;
  color: #fff;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  padding: 1.1rem 1.7rem 1.3rem 5.4rem;
  border-radius: 5px;
  white-space: nowrap;
}
@media screen and (max-width: 1179px) {
  .p-point .point2 .point__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__ttl {
    padding: 1.1rem 1rem 1.3rem 4rem;
  }
}
.p-point .point2 .point__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.7rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.6rem;
  height: 4.4rem;
  background: url(../images/point/pickup-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__ttl::before {
    left: 1rem;
    width: 3rem;
    height: 3.8rem;
  }
}
.p-point .point2 .point__items {
  max-width: 98rem;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5rem 1fr 5rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__items {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-point .point2 .point__item-img img {
  max-width: 21.6rem;
  -webkit-filter: drop-shadow(4px 4px 0px #D2EEFF);
          filter: drop-shadow(4px 4px 0px #D2EEFF);
}
.p-point .point2 .point__item-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  color: #042B66;
  margin-top: 3rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point2 .point__item-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__item-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point2 .point__item-txt {
    margin-top: 2rem;
  }
}
.p-point .point3 {
  padding: 15rem 0 11rem;
}
@media screen and (max-width: 767px) {
  .p-point .point3 {
    padding: 0rem 0 6rem;
  }
}
.p-point .point3__container {
  background: #fff;
  border-radius: 15px;
  -webkit-box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
          box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
  padding: 9rem 8rem 13rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__container {
    padding: 8rem 6rem 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__container {
    padding: 5rem 2rem;
  }
}
.p-point .point3__container::before {
  content: "";
  position: absolute;
  top: -7rem;
  left: -4rem;
  width: 19.4rem;
  height: 19.4rem;
  background: url(../images/point/point3-ttl.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__container::before {
    width: 15.4rem;
    height: 15.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__container::before {
    top: -4rem;
    left: -2rem;
    width: 8rem;
    height: 8rem;
  }
}
.p-point .point3__ttl {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #333;
  border-bottom: 5px dashed #02B0ED;
  padding: 0 2rem 4rem;
  display: inline-block;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .point3__ttl {
    padding: 0 6rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__ttl {
    padding: 0 1rem 2rem;
  }
}
.p-point .point3__ttl span {
  font-size: 5.4rem;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__ttl span {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__ttl span {
    font-size: 2.6rem;
  }
}
.p-point .point3__ttl span.number {
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.p-point .point3__body {
  margin-top: 11rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__body {
    margin-top: 5rem;
    gap: 5rem;
  }
}
@media screen and (max-width: 850px) {
  .p-point .point3__body {
    margin-top: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.p-point .point3__img {
  width: 43.4492968172%;
}
@media screen and (max-width: 850px) {
  .p-point .point3__img {
    width: 100%;
  }
}
.p-point .point3__img img {
  border-radius: 15px;
  -webkit-filter: drop-shadow(10px 10px 0px #D4EAFD);
          filter: drop-shadow(10px 10px 0px #D4EAFD);
}
.p-point .point3__body-txt {
  width: 50.7772020725%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  background: #E5F5FF;
  border-radius: 15px;
  padding: 4rem 4rem;
  text-align: left;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  width: 50.9360374415%;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point3__body-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3__body-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .point3__body-txt {
    padding: 3rem 2rem;
  }
}
@media screen and (max-width: 850px) {
  .p-point .point3__body-txt {
    padding: 2rem;
    width: 100%;
  }
}
.p-point .point3__body-txt span {
  color: #248BE9;
}
.p-point .point3__body-txt::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 3.9rem;
  height: 3.9rem;
  background: url(../images/point/right-top.png) no-repeat center/contain;
}
.p-point .point3__body-txt::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 3.9rem;
  height: 3.9rem;
  background: url(../images/point/left-bottom.png) no-repeat center/contain;
}
.p-point .point3 .point__read {
  margin-top: 5.3rem;
  font-size: 3.6rem;
  font-weight: 700;
  background: #02B0ED;
  color: #fff;
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  padding: 0.5rem 1.7rem 0.5rem 5.4rem;
  border-radius: 10px;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point3 .point__read {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__read {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__read {
    margin-top: 3rem;
  }
}
.p-point .point3 .point__read::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.7rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.6rem;
  height: 4.4rem;
  background: url(../images/point/pickup-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__read::before {
    left: 2rem;
    width: 2rem;
    height: 2.8rem;
  }
}
.p-point .point3 .point__read::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 20px solid #02B0ED;
}
.p-point .point3 .point__cards {
  max-width: 138rem;
  margin-top: 6.5rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point3 .point__cards {
    gap: 3rem;
    margin-top: 5rem;
  }
}
.p-point .point3 .point__card {
  background: #fff;
  border-radius: 15px;
  padding: 5.6rem 5rem 5rem;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 3;
  grid-row: span 3;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1179px) {
  .p-point .point3 .point__card {
    padding: 5.6rem 2rem 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__card {
    gap: 2rem;
    padding: 4rem 2rem 4rem;
  }
}
.p-point .point3 .point__card::before {
  content: "";
  position: absolute;
  top: -0.6rem;
  left: 2rem;
  width: 7.2rem;
  height: 8.3rem;
  background: url(../images/point/point01.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__card::before {
    width: 6.2rem;
    height: 7.3rem;
  }
}
.p-point .point3 .point__card-ttl {
  font-size: 2.4rem;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-point .point3 .point__card-ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__card-ttl {
    font-size: 1.6rem;
  }
}
.p-point .point3 .point__card-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-point .point3 .point__card-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point3 .point__card-txt {
    font-size: 1.4rem;
  }
}
.p-point .point3 .point__card-txt span {
  color: #02B0ED;
}
.p-point .point3 .point__card-img img {
  max-width: 100%;
  border-radius: 15px;
}
.p-point .point3 .point__card:nth-child(2)::before {
  background: url(../images/point/point02.svg) no-repeat center/contain;
}
.p-point .point3 .point__card:nth-child(3)::before {
  background: url(../images/point/point03.svg) no-repeat center/contain;
}
.p-point .point4 {
  padding: 26.6rem 0 12.5rem;
  background: url(../images/point/bg_point4.png) no-repeat center bottom/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point4 {
    padding: 16rem 0 8rem;
  }
}
.p-point .point4__container {
  background: #E5F5FF;
  border-radius: 15px;
  -webkit-box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
          box-shadow: 0px 4px 4px rgba(51, 51, 51, 0.2);
  padding: 9rem 8rem 10rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__container {
    padding: 8rem 6rem 7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__container {
    padding: 5rem 2rem;
  }
}
.p-point .point4__container::before {
  content: "";
  position: absolute;
  top: -7rem;
  left: -5rem;
  width: 19.4rem;
  height: 19.4rem;
  background: url(../images/point/point4-ttl.png) no-repeat center/contain;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__container::before {
    width: 15.4rem;
    height: 15.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__container::before {
    top: -4rem;
    left: -2rem;
    width: 8rem;
    height: 8rem;
  }
}
.p-point .point4__ttl {
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  border-bottom: 5px dashed #02B0ED;
  padding: 0 6rem 5rem;
  display: inline-block;
  text-align: left;
  color: #042B66;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .point4__ttl {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__ttl {
    padding: 0 1rem 2rem;
  }
}
.p-point .point4__ttl span {
  font-size: 5.4rem;
  color: #248BE9;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__ttl span {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__ttl span {
    font-size: 2.6rem;
  }
}
.p-point .point4__read {
  margin-top: 3.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-point .point4__read {
    font-size: 1.5rem;
  }
}
.p-point .point4__read span {
  color: #248BE9;
}
.p-point .point4__body {
  margin-top: 7.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body {
    gap: 5rem;
  }
}
@media screen and (max-width: 850px) {
  .p-point .point4__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
    margin-top: 5rem;
  }
}
.p-point .point4__img {
  width: 43.6106983655%;
}
@media screen and (max-width: 850px) {
  .p-point .point4__img {
    width: 100%;
  }
}
.p-point .point4__img img {
  border-radius: 10px;
  -webkit-filter: drop-shadow(12.0279px 12.0279px 0px #D4EAFD);
          filter: drop-shadow(12.0279px 12.0279px 0px #D4EAFD);
}
.p-point .point4__body-wrap {
  width: 50.1485884101%;
  background: #fff;
  border-radius: 15px;
  padding: 6rem 4.8rem 5rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body-wrap {
    padding: 5rem 2rem 5rem;
  }
}
@media screen and (max-width: 850px) {
  .p-point .point4__body-wrap {
    width: 100%;
    padding: 5rem 2rem 4rem;
  }
}
.p-point .point4__body-ttl {
  content: "";
  position: absolute;
  top: -3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  white-space: nowrap;
  padding: 0 6rem;
  line-height: 1.6;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body-ttl {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-ttl {
    line-height: 2.6;
  }
}
.p-point .point4__body-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 5.9rem;
  background: url(../images/point/point4-ttl2.png) no-repeat center/contain;
}
.p-point .point4__body-ttl span {
  position: relative;
  z-index: 1;
}
.p-point .point4__body-lists {
  text-align: left;
}
.p-point .point4__body-list {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4333333333;
  padding-left: 4.5rem;
  letter-spacing: 0;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body-list {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-list {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-list {
    padding-left: 3rem;
  }
}
.p-point .point4__body-list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.6rem;
  height: 3.8rem;
  background: url(../images/common/check-red.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-list::before {
    width: 2rem;
    height: 2.2rem;
  }
}
.p-point .point4__body-list span {
  color: #02B0ED;
}
.p-point .point4__body-list:nth-child(n+2) {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-list:nth-child(n+2) {
    margin-top: 2rem;
  }
}
.p-point .point4__body-txt {
  margin-top: 5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body-txt {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1179px) {
  .p-point .point4__body-txt {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__body-txt {
    margin-top: 2rem;
  }
}
.p-point .point4__bottom {
  max-width: 118rem;
  margin: 9.5rem auto 0;
  background: transparent;
  border: 3px solid #1363AB;
  border-radius: 15px;
  color: #fff;
  text-align: left;
  font-weight: 700;
  line-height: 1.8;
  padding: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-point .point4__bottom {
    margin: 5rem auto 0;
  }
}
.p-point .point4__bottom-inner {
  position: relative;
  background: #1363AB;
  border: 3px solid transparent;
  padding: 3rem 3rem 3.7rem 4.7rem;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-point .point4__bottom-inner {
    padding: 3rem 2rem 3rem 2rem;
  }
}
.p-point .point4__bottom-inner span {
  font-size: 2.4rem;
  color: #fff;
  text-align: left;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  position: relative;
  display: block;
}
@media screen and (max-width: 1179px) {
  .p-point .point4__bottom-inner span {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4__bottom-inner span {
    font-size: 1.4rem;
  }
}
.p-point .point4__bottom-inner span::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.6rem;
  height: 4.4rem;
  background: url(../images/point/pickup-ttl.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-point .point4__bottom-inner span::before {
    top: 1rem;
    left: 0;
    width: 2rem;
    height: 2.8rem;
  }
}
.p-point .point4 .point__cards {
  margin-top: 6rem;
  gap: 9rem;
}
@media screen and (max-width: 1179px) {
  .p-point .point4 .point__cards {
    gap: 5rem;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4 .point__cards {
    margin-top: 5rem;
    gap: 2rem;
  }
}
.p-point .point4 .point__card {
  position: relative;
  padding: 5.6rem 2.4rem 6rem;
  border-radius: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) padding-box, -webkit-gradient(linear, left top, right top, from(#C4DAFF), to(#C4ECFF)) border-box;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(to right, #C4DAFF, #C4ECFF) border-box;
  border: 5px solid transparent;
}
@media screen and (max-width: 767px) {
  .p-point .point4 .point__card {
    padding: 3rem 2.4rem 3rem;
  }
}
.p-point .point4 .point__card::before {
  display: none;
}
.p-point .point4 .point__card-txt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1179px) {
  .p-point .point4 .point__card-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-point .point4 .point__card-txt {
    font-size: 1.6rem;
  }
}

/*----------------------------
■■　概要ページ page-about.php　■■
■■　よくある質問ページ page-faq.php　■■
■■　料金ページ page-price.php　■■
------------------------------*/
.page h2 {
  font-size: 3.6rem;
  color: #248be9;
  font-weight: 700;
  line-height: 1.2222222222;
  margin-block: 3rem 1.5rem;
}
@media screen and (max-width: 1179px) {
  .page h2 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .page h2 {
    font-size: 2rem;
  }
}
.page h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1179px) {
  .page h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .page h3 {
    font-size: 1.6rem;
  }
}
.page .heading-deco {
  padding-left: 1.5rem;
  border-left: 5px solid #02b0ed;
  color: #248be9;
}
.page p {
  margin-bottom: 0.5em;
}
.page a {
  text-decoration: none;
}
.page a:hover {
  opacity: 0.7;
}
.page .head--blue {
  background: #E6F5FE;
}
.page .faq {
  position: relative;
  z-index: 1;
  padding-top: 3rem;
  padding-bottom: 5rem;
  background: #E6F5FE;
}
@media screen and (max-width: 767px) {
  .page .faq {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.page .faq__items {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page .faq__items {
    margin-top: 3rem;
  }
}
.page .faq__item:nth-child(n+2) {
  margin-top: 3.2rem;
}
.page .faq__question {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  padding: 1.6rem 6rem 1.6rem 2.4rem;
  position: relative;
}
@media screen and (max-width: 1179px) {
  .page .faq__question {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .page .faq__question {
    font-size: 1.5rem;
  }
}
.page .faq__question span {
  background: #959595;
  width: 3.6rem;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.page .faq__question::before, .page .faq__question::after {
  content: "";
  left: unset;
  position: absolute;
  top: 50%;
  right: 3.4rem;
  width: 1.2rem;
  height: 2px;
  background-color: #333;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.page .faq__question::before {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.page .faq__question::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.page .faq__question.active::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.page .faq__answer {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  gap: 2.4rem;
  padding: 2.4rem 2.4rem 0;
  display: none;
}
@media screen and (max-width: 1179px) {
  .page .faq__answer {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .page .faq__answer {
    font-size: 1.5rem;
  }
}
.page .faq__answer.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page .faq__a {
  background: #02b0ed;
  min-width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.page .faq a {
  text-decoration: none;
  color: #248be9;
}
.page .faq a:hover {
  opacity: 0.7;
}
.page .price__table-container {
  margin-top: 0;
  padding-top: 12rem;
}
@media screen and (max-width: 767px) {
  .page .price__table-container {
    padding-top: 9.6rem;
  }
}
.page .price__table-container--2 {
  overflow-x: auto;
  margin-right: auto;
}
.page .price__table--2 tr {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}

/*----------------------------
改行クラス
使い方：
PCのみの改行は、point-br--pc
TAB未満の改行は、point-br--tab
SP未満の改行は、point-br--sp
------------------------------*/
.point-br--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .point-br--sp {
    display: block;
  }
}
.point-br--tab {
  display: none;
}
@media screen and (max-width: 1179px) {
  .point-br--tab {
    display: block;
  }
}
.point-br--pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .point-br--pc {
    display: none;
  }
}

/*----------------------------
テキスト位置調整クラス
------------------------------*/
.u-txt--center {
  text-align: center;
}

.u-txt--left {
  text-align: left;
}

.u-txt--right {
  text-align: right;
}

/*----------------------------
padding margin
------------------------------*/
.u-pt10-5 {
  padding-top: 1rem;
}
@media screen and (max-width: 767px) {
  .u-pt10-5 {
    padding-top: 0.5rem;
  }
}

.u-pt20-10 {
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .u-pt20-10 {
    padding-top: 1rem;
  }
}

.u-pt30-15 {
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .u-pt30-15 {
    padding-top: 1.5rem;
  }
}

.u-pt40-20 {
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .u-pt40-20 {
    padding-top: 2rem;
  }
}

.u-pt50-25 {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .u-pt50-25 {
    padding-top: 2.5rem;
  }
}

.u-pt60-30 {
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  .u-pt60-30 {
    padding-top: 3rem;
  }
}

.u-pt80-40 {
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .u-pt80-40 {
    padding-top: 4rem;
  }
}

.u-mt10-5 {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .u-mt10-5 {
    margin-top: 0.5rem;
  }
}

.u-mt20-10 {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .u-mt20-10 {
    margin-top: 1rem;
  }
}

.u-mt30-15 {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .u-mt30-15 {
    margin-top: 1.5rem;
  }
}

.u-mt40-20 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .u-mt40-20 {
    margin-top: 2rem;
  }
}

.u-mt50-25 {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .u-mt50-25 {
    margin-top: 2.5rem;
  }
}

.u-mt60-30 {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .u-mt60-30 {
    margin-top: 3rem;
  }
}

.u-pb10-5 {
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .u-pb10-5 {
    padding-bottom: 0.5rem;
  }
}

.u-pb20-10 {
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .u-pb20-10 {
    padding-bottom: 1rem;
  }
}

.u-pb30-15 {
  padding-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .u-pb30-15 {
    padding-bottom: 1.5rem;
  }
}

.u-pb40-20 {
  padding-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .u-pb40-20 {
    padding-bottom: 2rem;
  }
}

.u-pb50-25 {
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .u-pb50-25 {
    padding-bottom: 2.5rem;
  }
}

.u-pb60-30 {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .u-pb60-30 {
    padding-bottom: 3rem;
  }
}

.u-mb10-5 {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .u-mb10-5 {
    margin-bottom: 0.5rem;
  }
}

.u-mb20-10 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .u-mb20-10 {
    margin-bottom: 1rem;
  }
}

.u-mb30-15 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .u-mb30-15 {
    margin-bottom: 1.5rem;
  }
}

.u-mb40-20 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .u-mb40-20 {
    margin-bottom: 2rem;
  }
}

.u-mb50-25 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .u-mb50-25 {
    margin-bottom: 2.5rem;
  }
}

.u-mb60-30 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .u-mb60-30 {
    margin-bottom: 3rem;
  }
}

.u-m10-5 {
  margin: 1rem 0;
}
@media screen and (max-width: 767px) {
  .u-m10-5 {
    margin: 0.5rem 0;
  }
}

.u-m20-10 {
  margin: 2rem 0;
}
@media screen and (max-width: 767px) {
  .u-m20-10 {
    margin: 1rem 0;
  }
}

.u-m30-15 {
  margin: 3rem 0;
}
@media screen and (max-width: 767px) {
  .u-m30-15 {
    margin: 1.5rem 0;
  }
}

.u-m40-20 {
  margin: 4rem 0;
}
@media screen and (max-width: 767px) {
  .u-m40-20 {
    margin: 2rem 0;
  }
}

.u-m50-25 {
  margin: 5rem 0;
}
@media screen and (max-width: 767px) {
  .u-m50-25 {
    margin: 2.5rem 0;
  }
}

.u-m60-30 {
  margin: 6rem 0;
}
@media screen and (max-width: 767px) {
  .u-m60-30 {
    margin: 3rem 0;
  }
}

.u-p10-5 {
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .u-p10-5 {
    padding: 0.5rem 0;
  }
}

.u-p20-10 {
  padding: 2rem 0;
}
@media screen and (max-width: 767px) {
  .u-p20-10 {
    padding: 1rem 0;
  }
}

.u-p30-15 {
  padding: 3rem 0;
}
@media screen and (max-width: 767px) {
  .u-p30-15 {
    padding: 1.5rem 0;
  }
}

.u-p40-20 {
  padding: 4rem 0;
}
@media screen and (max-width: 767px) {
  .u-p40-20 {
    padding: 2rem 0;
  }
}

.u-p50-25 {
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .u-p50-25 {
    padding: 2.5rem 0;
  }
}

.u-p60-30 {
  padding: 6rem 0;
}
@media screen and (max-width: 767px) {
  .u-p60-30 {
    padding: 3rem 0;
  }
}

/*----------------------------
色変更クラス
------------------------------*/
.u-color--white--white {
  color: #fff;
}

/*----------------------------
背景色変更クラス
------------------------------*/
.u-bg--gray {
  background: #FFF;
}

/*----------------------------
背景色変更クラス
------------------------------*/
/*----------------------------
PC,TAB、SPの表示切り替え
使い方：
SPのみ出力したい等があれば、
クラス名をつけることで可能に。
------------------------------*/
.pc {
  display: block !important;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

.pc-inline {
  display: inline !important;
}
@media screen and (max-width: 767px) {
  .pc-inline {
    display: none !important;
  }
}

.pc-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
@media screen and (max-width: 767px) {
  .pc-flex {
    display: none !important;
  }
}

.tab {
  display: none !important;
}
@media screen and (max-width: 1179px) {
  .tab {
    display: block !important;
  }
}

.tab-inline {
  display: none !important;
}
@media screen and (max-width: 1179px) {
  .tab-inline {
    display: inline !important;
  }
}

.tab-flex {
  display: none !important;
}
@media screen and (max-width: 1179px) {
  .tab-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
}

.sp-inline {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp-inline {
    display: inline !important;
  }
}

.sp-flex {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

/*----------------------------
//インラインブロック
使い方：
折り返し自動制御で使える。
例）折り返しのタイミングで２段に
したい場合など。
------------------------------*/
.u-display--ib {
  display: inline-block;
  font-weight: inherit;
}

/*----------------------------
etc
------------------------------*/