/* ======================================================================================

    ANIMATION

====================================================================================== */

/* transition
*************************************************** */
  .loaded .ts, .loaded .ts-bf::before, .loaded .ts-af::after,
  .loaded .ts-fast, .loaded .ts-fast-bf::before, .loaded .ts-fast-af::after,
  .loaded .ts-slow, .loaded .ts-slow-bf::before, .loaded .ts-slow-af::after {
    transition-timing-function: ease;
  }
  .loaded .ts, .loaded .ts-bf::before, .loaded .ts-af::after {
    transition-duration: .8s;
  }
  .loaded .ts-fast, .loaded .ts-fast-bf::before, .loaded .ts-fast-af::after {
    transition-duration: .4s;
  }
  .loaded .ts-slow, .loaded .ts-slow-bf::before, .loaded .ts-slow-af::after {
    transition-duration: 1.2s;
  }


/* ======================================================================================

    LAYOUT

====================================================================================== */

  /* --- inner --- */
  .inner {
    width: 90%;
    max-width: 1280px;
  }
  .inner-xs { max-width: 880px; }
  .inner-sm { max-width: 1064px; }
  .inner-lg { max-width: 1600px; }
  .inner-xl { max-width: 1920px; }

  /* --- sect_pdg --- */
  .sect_pdg {
    padding-top: 136px;
    padding-bottom: 136px;
  }
  .sect_pdg-lg {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .sect_pdg-sm {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  .pdg_no { padding: 0 !important; }
  .pdg_no-top { padding-top: 0 !important; }
  .pdg_no-btm { padding-bottom: 0 !important; }

  @media screen and  (max-width: 1064px) {
    .sect_pdg {
      padding-top: 96px;
      padding-bottom: 96px;
    }
    .sect_pdg-lg {
      padding-top: 120px;
      padding-bottom: 120px;
    }
    .sect_pdg-sm {
      padding-top: 80px;
      padding-bottom: 80px;
    }
  }
  @media screen and  (max-width: 560px) {
    .inner { width: calc(100% - 48px); }
    .sect_pdg {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .sect_pdg-lg {
      padding-top: 80px;
      padding-bottom: 80px;
    }
    .sect_pdg-sm {
      padding-top: 48px;
      padding-bottom: 48px;
    }
  }


/* ======================================================================================

    COLOR

====================================================================================== */

/* body
*************************************************** */

  /* --- body --- */
  .clr-body, .clr-body-bf::before, .clr-body-af::after {
    color: #fff; fill: #fff;
  }
  .bg_clr-body, .bg_clr-body-bf::before, .bg_clr-body-af::after {
    background-color: #fff;
  }
  .bdr_clr-body, .bdr_clr-body-bf::before, .bdr_clr-body-af::after {
    border-color: #fff;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-body, .hov-clr-body:hover,
    .hov_area:hover .hov-clr-body-bf::before, .hov-clr-body-bf:hover::before,
    .hov_area:hover .hov-clr-body-af::after, .hov-clr-body-af:hover::after {
      color: #fff; fill: #fff;
    }
    .hov_area:hover .hov-bg_clr-body, .hov-bg_clr-body:hover,
    .hov_area:hover .hov-bg_clr-body-bf::before, .hov-bg_clr-body-bf:hover::before,
    .hov_area:hover .hov-bg_clr-body-af::after, .hov-bg_clr-body-af:hover::after {
      background-color: #fff;
    }
    .hov_area:hover .hov-bdr_clr-body, .hov-bdr_clr-body:hover,
    .hov_area:hover .hov-bdr_clr-body-bf::before, .hov-bdr_clr-body-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-body-af::after, .hov-bdr_clr-body-af:hover::after {
      border-color: #fff;
    }
  }

  /* --- body_lt --- */
  .clr-body_lt, .clr-body_lt-bf::before, .clr-body_lt-af::after {
    color: #f8f8f8; fill: #f8f8f8;
  }
  .bg_clr-body_lt, .bg_clr-body_lt-bf::before, .bg_clr-body_lt-af::after {
    background-color: #f8f8f8;
  }
  .bdr_clr-body_lt, .bdr_clr-body_lt-bf::before, .bdr_clr-body_lt-af::after,
  .wp-pagenavi a, .wp-pagenavi span {
    border-color: #f8f8f8;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-body_lt, .hov-clr-body_lt:hover,
    .hov_area:hover .hov-clr-body_lt-bf::before, .hov-clr-body_lt-bf:hover::before,
    .hov_area:hover .hov-clr-body_lt-af::after, .hov-clr-body_lt-af:hover::after {
      color: #f8f8f8; fill: #f8f8f8;
    }
    .hov_area:hover .hov-bg_clr-body_lt, .hov-bg_clr-body_lt:hover,
    .hov_area:hover .hov-bg_clr-body_lt-bf::before, .hov-bg_clr-body_lt-bf:hover::before,
    .hov_area:hover .hov-bg_clr-body_lt-af::after, .hov-bg_clr-body_lt-af:hover::after {
      background-color: #f8f8f8;
    }
    .hov_area:hover .hov-bdr_clr-body_lt, .hov-bdr_clr-body_lt:hover,
    .hov_area:hover .hov-bdr_clr-body_lt-bf::before, .hov-bdr_clr-body_lt-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-body_lt-af::after, .hov-bdr_clr-body_lt-af:hover::after {
      border-color: #f8f8f8;
    }
  }

  /* --- body_dk --- */
  .clr-body_dk, .clr-body_dk-bf::before, .clr-body_dk-af::after {
    color: #333333; fill: #333333;
  }
  .bg_clr-body_dk, .bg_clr-body_dk-bf::before, .bg_clr-body_dk-af::after {
    background-color: #333333;
  }
  .bdr_clr-body_dk, .bdr_clr-body_dk-bf::before, .bdr_clr-body_dk-af::after {
    border-color: #333333;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-body_dk, .hov-clr-body_dk:hover,
    .hov_area:hover .hov-clr-body_dk-bf::before, .hov-clr-body_dk-bf:hover::before,
    .hov_area:hover .hov-clr-body_dk-af::after, .hov-clr-body_dk-af:hover::after {
      color: #333333; fill: #333333;
    }
    .hov_area:hover .hov-bg_clr-body_dk, .hov-bg_clr-body_dk:hover,
    .hov_area:hover .hov-bg_clr-body_dk-bf::before, .hov-bg_clr-body_dk-bf:hover::before,
    .hov_area:hover .hov-bg_clr-body_dk-af::after, .hov-bg_clr-body_dk-af:hover::after {
      background-color: #333333;
    }
    .hov_area:hover .hov-bdr_clr-body_dk, .hov-bdr_clr-body_dk:hover,
    .hov_area:hover .hov-bdr_clr-body_dk-bf::before, .hov-bdr_clr-body_dk-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-body_dk-af::after, .hov-bdr_clr-body_dk-af:hover::after {
      border-color: #333333;
    }
  }

/* default
*************************************************** */
  .clr-def, .clr-def-bf::before, .clr-def-af::after,
  a, .wp-pagenavi a, .wp-pagenavi span, select, button,
  .cf_form .btn-form.btn-back {
    color: #111111; fill: #111111;
  }
  .bg_clr-def, .bg_clr-def-bf::before, .bg_clr-def-af::after {
    background-color: #111111;
  }
  .bdr_clr-def, .bdr_clr-def-bf::before, .bdr_clr-def-af::after {
    border-color: #111111;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-def, .hov-clr-def:hover,
    .hov_area:hover .hov-clr-def-bf::before, .hov-clr-def-bf:hover::before,
    .hov_area:hover .hov-clr-def-af::after, .hov-clr-def-af:hover::after {
      color: #111111; fill: #111111;
    }
    .hov_area:hover .hov-bg_clr-def, .hov-bg_clr-def:hover,
    .hov_area:hover .hov-bg_clr-def-bf::before, .hov-bg_clr-def-bf:hover::before,
    .hov_area:hover .hov-bg_clr-def-af::after, .hov-bg_clr-def-af:hover::after {
      background-color: #111111;
    }
    .hov_area:hover .hov-bdr_clr-def, .hov-bdr_clr-def:hover,
    .hov_area:hover .hov-bdr_clr-def-bf::before, .hov-bdr_clr-def-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-def-af::after, .hov-bdr_clr-def-af:hover::after {
      border-color: #111111;
    }
  }

/* main
*************************************************** */
  .clr-main, .clr-main-bf::before, .clr-main-af::after {
    color: #4CAEA2; fill: #4CAEA2;
  }
  .bg_clr-main, .bg_clr-main-bf::before, .bg_clr-main-af::after,
  .wp-pagenavi span.current,
  .cf_form-input .form_flow_list--item-input .num,
  .cf_form-confirm .form_flow_list--item-confirm .num,
  .cf_form-complete .form_flow_list--item-complete .num,
  .cf_form .btn-form.btn-confirm,
  .cf_form .btn-form.btn-send {
    background-color: #4CAEA2;
  }
  .bdr_clr-main, .bdr_clr-main-bf::before, .bdr_clr-main-af::after,
  .wp-pagenavi span.current {
    border-color: #4CAEA2;
  }
  .wpcf7 form.sent .wpcf7-response-output {
    background-color: #4CAEA20d;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-main, .hov-clr-main:hover,
    .hov_area:hover .hov-clr-main-bf::before, .hov-clr-main-bf:hover::before,
    .hov_area:hover .hov-clr-main-af::after, .hov-clr-main-af:hover::after {
      color: #4CAEA2; fill: #4CAEA2;
    }
    .hov_area:hover .hov-bg_clr-main, .hov-bg_clr-main:hover,
    .hov_area:hover .hov-bg_clr-main-bf::before, .hov-bg_clr-main-bf:hover::before,
    .hov_area:hover .hov-bg_clr-main-af::after, .hov-bg_clr-main-af:hover::after,
    .wp-pagenavi a:hover {
      background-color: #4CAEA2;
    }
    .hov_area:hover .hov-bdr_clr-main, .hov-bdr_clr-main:hover,
    .hov_area:hover .hov-bdr_clr-main-bf::before, .hov-bdr_clr-main-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-main-af::after, .hov-bdr_clr-main-af:hover::after,
    .wp-pagenavi a:hover {
      border-color: #4CAEA2;
    }
  }

/* wht
*************************************************** */
  .clr-wht, .clr-wht-bf::before, .clr-wht-af::after,
  .clr-wht a, .wp-pagenavi span.current {
    color: #fff; fill: #fff;
  }
  .bg_clr-wht, .bg_clr-wht-bf::before, .bg_clr-wht-af::after {
    background-color: #fff;
  }
  .bdr_clr-wht, .bdr_clr-wht-bf::before, .bdr_clr-wht-af::after {
    border-color: #fff;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-wht, .hov-clr-wht:hover,
    .hov_area:hover .hov-clr-wht-bf::before, .hov-clr-wht-bf:hover::before,
    .hov_area:hover .hov-clr-wht-af::after, .hov-clr-wht-af:hover::after,
    .wp-pagenavi a:hover {
      color: #fff; fill: #fff;
    }
    .hov_area:hover .hov-bg_clr-wht, .hov-bg_clr-wht:hover,
    .hov_area:hover .hov-bg_clr-wht-bf::before, .hov-bg_clr-wht-bf:hover::before,
    .hov_area:hover .hov-bg_clr-wht-af::after, .hov-bg_clr-wht-af:hover::after {
      background-color: #fff;
    }
    .hov_area:hover .hov-bdr_clr-wht, .hov-bdr_clr-wht:hover,
    .hov_area:hover .hov-bdr_clr-wht-bf::before, .hov-bdr_clr-wht-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-wht-af::after, .hov-bdr_clr-wht-af:hover::after {
      border-color: #fff;
    }
  }

/* blk
*************************************************** */
  .clr-blk, .clr-blk-bf::before, .clr-blk-af::after {
    color: #000000; fill: #000000;
  }
  .bg_clr-blk, .bg_clr-blk-bf::before, .bg_clr-blk-af::after {
    background-color: #000000;
  }
  .bdr_clr-blk, .bdr_clr-blk-bf::before, .bdr_clr-blk-af::after {
    border-color: #000000;
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .hov-clr-blk, .hov-clr-blk:hover,
    .hov_area:hover .hov-clr-blk-bf::before, .hov-clr-blk-bf:hover::before,
    .hov_area:hover .hov-clr-blk-af::after, .hov-clr-blk-af:hover::after {
      color: #000000; fill: #000000;
    }
    .hov_area:hover .hov-bg_clr-blk, .hov-bg_clr-blk:hover,
    .hov_area:hover .hov-bg_clr-blk-bf::before, .hov-bg_clr-blk-bf:hover::before,
    .hov_area:hover .hov-bg_clr-blk-af::after, .hov-bg_clr-blk-af:hover::after {
      background-color: #000000;
    }
    .hov_area:hover .hov-bdr_clr-blk, .hov-bdr_clr-blk:hover,
    .hov_area:hover .hov-bdr_clr-blk-bf::before, .hov-bdr_clr-blk-bf:hover::before,
    .hov_area:hover .hov-bdr_clr-blk-af::after, .hov-bdr_clr-blk-af:hover::after {
      border-color: #000000;
    }
  }


/* ======================================================================================

    TITLE & TEXT

====================================================================================== */

/* font type
**************************************** */

  /* --- font-jp --- */
  body,
  .fnt-jp,
  .sect_ttl .subttl,
  .bloc_ttl .ttl,
  .bloc_ttl .subttl {
    font-family: 'Zen Kaku Gothic New', sans-serif;
  }

  /* --- font-en --- */
  .fnt-en,
  .sect_ttl .ttl,
  .fnt-en-bf::before,
  .fnt-en-af::after {
    font-family: 'Lato', sans-serif;
  }


/* sect_ttl
**************************************** */
  .sect_ttl span {
    display: block;
  }
  .sect_ttl .ttl {
    font-size: 213%;
    line-height: 1.6em;
    font-weight: 700;
  }
  .sect_ttl .subttl {
    margin-top: 12px;
    font-size: 120%;
    line-height: 1em;
    font-weight: 700;
  }
  .sect_catch {
    text-align: center;
    font-size: 120%;
    font-weight: 700;
  }
  .sect > .inner > .sect_ttl:not(:last-child) {
    margin-bottom: 64px;
  }
  .sect_bloc .sect_ttl:not(:last-child) {
    margin-bottom: 40px;
  }
  @media screen and (max-width: 768px) {
    .sect > .inner > .sect_ttl:not(:last-child) {
      margin-bottom: 40px;
    }
    .sect_bloc .sect_ttl:not(:last-child) {
      margin-bottom: 24px;
    }
  }

/* bloc_ttl
**************************************** */
  .bloc_ttl span {
    display: block;
  }
  .bloc_ttl .ttl {
    font-size: 160%;
    line-height: 1.6em;
  }
  .bloc_ttl .subttl {
    margin-top: 10px;
    font-size: 107%;
    font-weight: 700;
    line-height: 1em;
  }

/* heading
**************************************** */
  .head1 { font-size: 213%; }
  .head2 { font-size: 160%; }
  .head3 { font-size: 120%; }
  .head4 { font-size: 100%; }

/* txt
**************************************** */

  /* --- size --- */
  .fnt-xxs { font-size: 80% }
  .fnt-xs  { font-size: 87% }
  .fnt-sm  { font-size: 93%; }
  .fnt-lg  { font-size: 107%; }
  .fnt-xl  { font-size: 113%; }
  .fnt-xxl { font-size: 120%; }

  /* --- attn --- */
  .txt-attn {
    font-size: 88%;
    color: #999;
  }


/* ======================================================================================

    TABLE & LIST

====================================================================================== */

/* tbl-def
*************************************************** */

  /* --- tbl-def --- */
  .tbl-def th,
  .tbl-def td {
    padding: 16px 8px;
  }
  .tbl-def th {
    border-bottom: 2px solid #666;
  }
  .tbl-def td {
    padding: 16px 16px;
    border-bottom: 1px solid #666;
    border-left: 4px solid #fff;
  }

  /* --- tbl-line --- */
  .tbl-line th,
  .tbl-line td {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .tbl-line th {
    background-color: #666;
    border: 1px solid #666;
    color: #fff;
    font-size: 107%;
  }
  .tbl-line td {
    border: 1px solid #D2D2D2;
    font-size: 93%;
  }

/* list
*************************************************** */
  .list { list-style-type: none; }
  .list li:not(:last-child) { margin-bottom: 6px; }
  .list li {
    position: relative;
    padding-left: 1em;
  }
  .list-disc li::before,
  .list-square li::before,
  .list-circle li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .8em;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #666;
  }

  /* 数字付きリスト */
  .list-num {
    padding-left: 1.4em;
    list-style-type: decimal;
  }
  .list-num li { padding-left: 0; }
  .list-num li::before { display: none; }

  /* 白丸付きリスト */
  .list-circle li::before {
    border: 1px solid #666;
    background-color: transparent;
  }

  /* 四角付きリスト */
  .list-square li::before {
    border-radius: 0;
    background-color: #666;
  }

  /* 入れ子のスタイル */
  .list li ul { margin-top: 16px; }
  .list li ul li::before {
    width: 6px;
    height: 6px;
    top: .8em;
  }

  /* --- dlリスト --- */
  .list-dl {
    position: relative;
    border-top: 1px solid #BFBFBF;
  }
  .list-dl dt {
    position: absolute;
    padding-top: 16px;
    color: #666;
    font-weight: 700;
  }
  .list-dl dd {
    padding-left: 140px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #BFBFBF;
  }

  /* --- sns_list ---  */
  .sns_list {
    gap: 12px;
  }
  @media screen and (max-width: 960px) {
    .sns_list--item {
      opacity: 1;
    }
  }


/* ======================================================================================

    ICON

====================================================================================== */
  .ico {
    position: relative;
    width: 16px;
    height: 16px;
  }

  /* --- ico-arrow ---  */
  .ico-arrow::before,
  .ico-arrow::after {
    content: '';
    position: absolute;
  }
  .ico-arrow-top::before,
  .ico-arrow-top::after,
  .ico-arrow-btm::before,
  .ico-arrow-btm::after {
    top: calc(50% - 3%);
    width: 40%;
    height: 0;
    border-top-width: 1px;
    border-top-style: solid;
  }
  .ico-arrow-top::before,
  .ico-arrow-btm::before {
    transform: rotate(40deg);
  }
  .ico-arrow-top::after,
  .ico-arrow-btm::after {
    transform: rotate(-40deg);
  }
  .ico-arrow-top::after,
  .ico-arrow-btm::before {
    right: calc(50% - 3%);
  }
  .ico-arrow-top::before,
  .ico-arrow-btm::after {
    left: calc(50% - 3%);
  }
  .ico-arrow-lft::before,
  .ico-arrow-lft::after,
  .ico-arrow-rgt::before,
  .ico-arrow-rgt::after {
    right: calc(50% - 3%);
    width: 0;
    height: 40%;
    border-right-width: 1px;
    border-right-style: solid;
  }
  .ico-arrow-lft::before,
  .ico-arrow-rgt::before {
    transform: rotate(40deg);
  }
  .ico-arrow-lft::after,
  .ico-arrow-rgt::after {
    transform: rotate(-40deg);
  }
  .ico-arrow-lft::after,
  .ico-arrow-rgt::before {
    top: calc(50% - 3%);
  }
  .ico-arrow-lft::before,
  .ico-arrow-rgt::after {
    bottom: calc(50% - 3%);
  }

  /* --- ico-outlink ---  */
  .ico-outlink::before,
  .ico-outlink::after {
    content: '';
    position: absolute;
    width: 60%;
    height: 40%;
    border-width: 1px;
    border-style: solid;
  }
  .ico-outlink::before {
    bottom: 37.5%;
    left: 27.5%;
  }
  .ico-outlink::after {
    top: 37.5%;
    right: 27.5%;
    border-top: none;
    border-right: none;
  }


/* ======================================================================================

    BLOC

====================================================================================== */

/* lr_bloc
**************************************** */
  .lr_bloc {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .lr_bloc:not(:last-child) {
    margin-bottom: 80px;
  }
  .lr_bloc.lr_mutual:nth-of-type(even) {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .lr_bloc .img_area {
    max-width: 55%;
  }
  .lr_bloc.ratio_i8t2 .img_area {   width: 80%; }
  .lr_bloc.ratio_i75t25 .img_area { width: 75%; }
  .lr_bloc.ratio_i7t3 .img_area {   width: 70%; }
  .lr_bloc.ratio_i65t35 .img_area { width: 65%; }
  .lr_bloc.ratio_i6t4 .img_area {   width: 60%; }
  .lr_bloc.ratio_i55t45 .img_area { width: 55%; }
  .lr_bloc.ratio_i5t5 .img_area {   width: 50%; }
  .lr_bloc.ratio_i45t55 .img_area { width: 45%; }
  .lr_bloc.ratio_i4t6 .img_area {   width: 40%; }
  .lr_bloc.ratio_i35t65 .img_area { width: 35%; }
  .lr_bloc.ratio_i3t7 .img_area {   width: 30%; }
  .lr_bloc.ratio_i25t75 .img_area { width: 25%; }
  .lr_bloc .slider .img img {
    height: 31.8vw;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
  }
  .lr_bloc .txt_area {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1;
  }
  .lr_bloc .txt_area {
    padding-left: 64px;
    padding-right: 64px;
  }
  .lr_bloc .bloc_ttl:not(:last-child) {
    margin-bottom: 40px;
  }
  .lr_bloc .txts:not(:last-child) {
    margin-bottom: 48px;
  }
  @media screen and (max-width: 1064px) {
    .lr_bloc,
    .lr_bloc.lr_mutual:nth-of-type(even) {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .lr_bloc .img_area {
      width: 80% !important;
      max-width: 100%;
      text-align: center;
      margin-bottom: 40px;
      margin-left: auto;
      margin-right: auto;
    }
    .lr_bloc .txt_area {
      width: 100%;
      padding-left: 32px;
      padding-right: 32px;
    }
  }
  @media screen and (max-width: 560px) {
    .lr_bloc:not(:last-child) {
      margin-bottom: 48px;
    }
    .lr_bloc .img_area {
      width: 100% !important;
      margin-bottom: 24px;
    }
    .lr_bloc .txt_area {
      padding-left: 0;
      padding-right: 0;
    }
  }

/* tb_bloc
**************************************** */
  .tb_bloc:not(:last-child) {
    margin-bottom: 96px;
  }
  .tb_bloc .img_area,
  .tb_bloc .txt_area {
    margin-left: auto;
    margin-right: auto;
  }
  .tb_bloc .img_area {
    display: table;
  }
  .tb_bloc .img_area:not(:last-child) {
    margin-bottom: 48px;
  }
  .tb_bloc .slider .img img {
    height: 32vw;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
  }
  .tb_bloc .txt_area {
    max-width: 960px;
  }
  .tb_bloc .bloc_ttl:not(:last-child) {
    margin-bottom: 40px;
  }
  .tb_bloc .bloc_ttl .ttl {
    font-size: 187%;
  }
  .tb_bloc .bloc_ttl .subttl {
    font-size: 120%;
  }
  .tb_bloc .txts:not(:last-child) {
    margin-bottom: 40px;
  }

/* column
**************************************** */
  .clm {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .clm .img img {
    height: 15vw;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
  }

  /* --- clm-2 ---  */
  .clm-2 { gap: 56px; }
  .clm-2 > * { width: calc(50% - 28px); }
  .clm-2 .img_area:not(:last-child) { margin-bottom: 32px; }
  .clm-2 .bloc_ttl:not(:last-child) { margin-bottom: 24px; }
  .clm-2 .txts:not(:last-child)     { margin-bottom: 32px; }

  /* --- clm-3 ---  */
  .clm-3 { gap: 40px; }
  .clm-3 > * { width: calc(100% / 3 - 27px); }
  .clm-3 .img_area:not(:last-child) { margin-bottom: 24px; }
  .clm-3 .bloc_ttl:not(:last-child) { margin-bottom: 20px; }
  .clm-3 .txts:not(:last-child)     { margin-bottom: 24px; }
  .clm-3 .bloc_ttl .ttl {    font-size: 147%;  }
  .clm-3 .bloc_ttl .subttl { font-size: 100%; }

  /* --- clm-4 ---  */
  .clm-4 { gap: 32px; }
  .clm-4 > * { width: calc(100% / 4 - 24px); }
  .clm-4 .img_area:not(:last-child) { margin-bottom: 24px; }
  .clm-4 .bloc_ttl:not(:last-child) { margin-bottom: 20px; }
  .clm-4 .txts:not(:last-child)     { margin-bottom: 24px; }
  .clm-4 .bloc_ttl .ttl {
    font-size: 133%;
  }
  .clm-4 .bloc_ttl .subttl {
    margin-top: 8px;
    font-size: 100%;
  }
  .clm-4 .txts {
    font-size: 93%;
  }

  /* --- clm-5 ---  */
  .clm-5 { gap: 24px; }
  .clm-5 > * { width: calc(100% / 5 - 20px); }
  .clm-5 .img_area:not(:last-child) { margin-bottom: 16px; }
  .clm-5 .bloc_ttl:not(:last-child) { margin-bottom: 12px; }
  .clm-5 .txts:not(:last-child)     { margin-bottom: 16px; }
  .clm-5 .bloc_ttl .ttl {
    font-size: 120%;
  }
  .clm-5 .bloc_ttl .subttl {
    margin-top: 6px;
    font-size: 93%;
  }
  .clm-5 .txts {
    font-size: 87%;
  }

  @media screen and (max-width: 1680px) {
    .clm-1-xlpc { gap: 0; }
    .clm-1-xlpc > * { width: 100%; }
    .clm-2-xlpc { gap: 56px; }
    .clm-2-xlpc > * { width: calc(50% - 28px); }
    .clm-3-xlpc { gap: 40px; }
    .clm-3-xlpc > * { width: calc(100% / 3 - 27px); }
    .clm-4-xlpc { gap: 32px; }
    .clm-4-xlpc > * { width: calc(100% / 4 - 24px); }
    .clm-5-xlpc { gap: 24px; }
    .clm-5-xlpc > * { width: calc(100% / 5 - 20px); }
  }
  @media screen and (max-width: 1480px) {
    .clm-1-lgpc { gap: 0; }
    .clm-1-lgpc > * { width: 100%; }
    .clm-2-lgpc { gap: 56px; }
    .clm-2-lgpc > * { width: calc(50% - 28px); }
    .clm-3-lgpc { gap: 40px; }
    .clm-3-lgpc > * { width: calc(100% / 3 - 27px); }
    .clm-4-lgpc { gap: 32px; }
    .clm-4-lgpc > * { width: calc(100% / 4 - 24px); }
    .clm-5-lgpc { gap: 24px; }
    .clm-5-lgpc > * { width: calc(100% / 5 - 20px); }
  }
  @media screen and (max-width: 1280px) {
    .clm-1-smpc { gap: 0; }
    .clm-1-smpc > * { width: 100%; }
    .clm-2-smpc { gap: 56px; }
    .clm-2-smpc > * { width: calc(50% - 28px); }
    .clm-3-smpc { gap: 40px; }
    .clm-3-smpc > * { width: calc(100% / 3 - 27px); }
    .clm-4-smpc { gap: 32px; }
    .clm-4-smpc > * { width: calc(100% / 4 - 24px); }
    .clm-5-smpc { gap: 24px; }
    .clm-5-smpc > * { width: calc(100% / 5 - 20px); }
  }
  @media screen and (max-width: 1064px) {
    .clm-1-xspc { gap: 0; }
    .clm-1-xspc > * { width: 100%; }
    .clm-2-xspc { gap: 56px; }
    .clm-2-xspc > * { width: calc(50% - 28px); }
    .clm-3-xspc { gap: 40px; }
    .clm-3-xspc > * { width: calc(100% / 3 - 27px); }
    .clm-4-xspc { gap: 32px; }
    .clm-4-xspc > * { width: calc(100% / 4 - 24px); }
    .clm-5-xspc { gap: 24px; }
    .clm-5-xspc > * { width: calc(100% / 5 - 20px); }
  }
  @media screen and (max-width: 960px) {
    .clm-1-tab { gap: 0; }
    .clm-1-tab > * { width: 100%; }
    .clm-2-tab { gap: 56px; }
    .clm-2-tab > * { width: calc(50% - 28px); }
    .clm-3-tab { gap: 40px; }
    .clm-3-tab > * { width: calc(100% / 3 - 27px); }
    .clm-4-tab { gap: 32px; }
    .clm-4-tab > * { width: calc(100% / 4 - 24px); }
    .clm-5-tab { gap: 24px; }
    .clm-5-tab > * { width: calc(100% / 5 - 20px); }
  }
  @media screen and (max-width: 560px) {
    .clm-1-sp { gap: 0; }
    .clm-1-sp > * { width: 100%; }
    .clm-2-sp { gap: 24px; }
    .clm-2-sp > * { width: calc(50% - 12px); }
    .clm-3-sp { gap: 16px; }
    .clm-3-sp > * { width: calc(100% / 3 - 11px); }
    .clm-4-sp { gap: 12px; }
    .clm-4-sp > * { width: calc(100% / 4 - 9px); }
    .clm-5-sp { gap: 8px; }
    .clm-5-sp > * { width: calc(100% / 5 - 7px); }
  }
  @media screen and (max-width: 413px) {
    .clm-1-smsp { gap: 0; }
    .clm-1-smsp > * { width: 100%; }
    .clm-2-smsp { gap: 24px; }
    .clm-2-smsp > * { width: calc(50% - 12px); }
    .clm-3-smsp { gap: 16px; }
    .clm-3-smsp > * { width: calc(100% / 3 - 11px); }
    .clm-4-smsp { gap: 12px; }
    .clm-4-smsp > * { width: calc(100% / 4 - 9px); }
    .clm-5-smsp { gap: 8px; }
    .clm-5-smsp > * { width: calc(100% / 5 - 7px); }
  }
  @media screen and (max-width: 374px) {
    .clm-1-xssp { gap: 0; }
    .clm-1-xssp > * { width: 100%; }
    .clm-2-xssp { gap: 20px; }
    .clm-2-xssp > * { width: calc(50% - 10px); }
    .clm-3-xssp { gap: 12px; }
    .clm-3-xssp > * { width: calc(100% / 3 - 8px); }
    .clm-4-xssp { gap: 10px; }
    .clm-4-xssp > * { width: calc(100% / 4 - 8px); }
    .clm-5-xssp { gap: 8px; }
    .clm-5-xssp > * { width: calc(100% / 5 - 7px); }
  }


/* sect_txt
**************************************** */
  .sect_top_txt {
    margin-bottom: 56px;
  }
  .sect_btm_txt {
    margin-top: 40px;
  }


/* ======================================================================================

    BUTTON

====================================================================================== */
  .sect > .inner > .btn_list {
    margin-top: 64px;
  }
  .sect.clr-wht > .inner > .btn_list .btn--in:not(:hover),
  .sect_bloc.clr-wht .sect_item:not(.hov_area) .btn_list .btn--in:not(:hover),
  .sect_bloc.clr-wht .sect_item.hov_area:not(:hover) .btn_list .btn--in {
    color: #fff;
  }
  @media screen and (max-width: 960px) {
    .sect > .inner > .btn_list {
      margin-bottom: 48px;
    }
  }
  @media screen and (max-width: 560px) {
    .sect > .inner > .btn_list {
      margin-bottom: 32px;
    }
  }

  /* --- btn-def --- */
  .btn-def {
    display: block;
    width: 100%;
    max-width: 280px;
  }
  .btn-def.btn-sm {
    max-width: 200px;
    font-size: 87%;
  }
  .btn_list.flx {
    margin-top: -12px;
    margin-left: -8px;
    margin-right: -8px;
  }
  .btn_list.flx .btn {
    margin-top: 12px;
    margin-left: 8px;
    margin-right: 8px;
  }
  .btn-def .ico {
    margin-left: 8px;
  }

  /* --- btn-fix_btm --- */
  .btn-fix_btm {
    position: fixed;
    bottom: 16px;
    left: 16px;
    right: 16px;
    z-index: 10001;
  }
  .btn-fix_btm.is_hide {
    opacity: 0;
    pointer-events: none;
  }
  .btn-fix_btm .btn-def {
    max-width: 100%;
    margin: 0;
  }


/* ======================================================================================

    FORM

====================================================================================== */

/* form_flow
*************************************************** */
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-input,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete) {
    color: #ccc;
  }
  .form_flow_list--item::before,
  .form_flow_list--item::after,
  .form_flow_list--item .num {
    background-color: #ccc;
  }
  .form_flow_list--item .num {
    color: #fff;
  }

/* COMMON
*************************************************** */
  #cf_form {
  }
  .form_list--item .cont input[type="text"],
  .form_list--item .cont input[type="email"],
  .form_list--item .cont input[type="tel"],
  .form_list--item .cont input[type="date"],
  .form_list--item .cont input[type="password"] {
    height: 44px;
    line-height: 44px;
  }
  .form_list--item .cont select { height: 40px; }
  .form_list--item .cont input[type="text"],
  .form_list--item .cont input[type="email"],
  .form_list--item .cont input[type="tel"],
  .form_list--item .cont input[type="date"],
  .form_list--item .cont input[type="password"],
  .form_list--item .cont select,
  .form_list--item .cont textarea {
    background-color: #f6f6f6;
  }
  .form_list--item .cont textarea { height: 100px; }
  .form_list--item .cont select { height: 40px; }
  .form_list--item .cont .cf_rc .mwform-radio-field-text::before,
  .form_list--item .cont .cf_rc .mwform-checkbox-field-text::before,
  .form_list--item .cont .acceptance input[type="checkbox"] {
    border-color: #000;
  }
  .form_list--item .cont .cf_rc input[type="radio"] + .mwform-radio-field-text::before { border-radius: 10px; }
  .form_list--item .cont .cf_rc input[type="radio"]:checked + .mwform-radio-field-text,
  .form_list--item .cont .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text {
    color: rgb(201,44,51);
  }
  .form_list--item .cont .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::before,
  .form_list--item .cont .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::before,
  .form_list--item .cont .acceptance input[type="checkbox"]:checked,
  .form_list--item .cont .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::after,
  .form_list--item .cont .acceptance input[type="checkbox"]:checked::after {
    border-color: rgb(201,44,51);
  }
  .form_list--item .cont .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::after,
  .required,
  .mw_wp_form .error::before {
    background-color: rgb(201,44,51);
  }
  .mw_wp_form .error {
    color: rgb(201,44,51) !important;
  }
  .mw_wp_form .form_list--item.is-error .cont input {
    background-color: rgba(201,44,51,.1);
    border-color: rgba(201,44,51,.5);
  }
  @media only screen and (max-width: 560px) {
    #cf_form {
      padding-top: 16px;
      padding-bottom: 24px;
      padding-left: 16px;
      padding-right: 16px;
    }
  }

/* other
*************************************************** */

  /* --- support --- */
  .cf_form--support {
    margin-top: 4px;
    line-height: 1.6em;
    opacity: .5;
    font-size: 80%;
  }

  /* --- required --- */
  .required {
    background: rgb(201,44,51);
    color: #fff;
    font-size: 70%;
    padding: 7px 8px;
    line-height: 1em;
  }

  /* --- cf_form--btns --- */
  .cf_form--btns {
    padding-top: 32px;
    gap: 24px;
  }

  /* --- thanks_area ---  */
  .thanks_area {

  }


/* ======================================================================================

    SLIICK

====================================================================================== */

/* common
*************************************************** */
  .slider button {
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: transparent;
  }
  .slick-arrow {
    position: absolute;
  }
  .slick-dots,
  .slick-dots li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

/* dots
*************************************************** */


/* style-line
*************************************************** */
  .slider.style-line .slick-arrow,
  .slider.style-line .slick-dots {
    z-index: 10;
  }
  .slider.style-line .slick-arrow,
  .slider.style-line .slick-dots li {
    height: 24px;
  }
  .slider.style-line .slick-arrow {
    width: 24px;
    bottom: 6px;
    z-index: 1;
  }
  .slider.style-line .slick-prev {
    left: 6px;
  }
  .slider.style-line .slick-next {
    left: 32px;
  }
  .slider.style-line .slick-dots {
    position: absolute;
    bottom: 6px;
    right: 6px;
  }
  .slider.style-line .slick-dots li:not(:last-child) {
    margin-right: 6px;
  }
  .slider.style-line .slick-dot {
    width: 20px;
    height: 3px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
  }
  .slider.style-line .slick-dots li:not(.slick-active) .slick-dot::before {
    opacity: 0;
  }
  @media screen and (min-width: 961px) {
    .sect_item:not(.clm_bloc) .slider.style-line .slick-arrow,
    .sect_item:not(.clm_bloc) .slider.style-line .slick-dots li {
      height: 40px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-arrow {
      width: 40px;
      bottom: 12px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-prev {
      left: 12px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-next {
      left: 56px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-dots {
      bottom: 12px;
      right: 12px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-dots li:not(:last-child) {
      margin-right: 8px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-dot {
      width: 32px;
      height: 4px;
    }
    .sect_item:not(.clm_bloc) .slider.style-line .slick-dots li:not(.slick-active):hover .slick-dot::before {
      opacity: .35;
    }
  }


/* ##############################################################################

    FAQ

############################################################################## */

/* common
*************************************************** */
  .page-faq .header {
    transition: .4s;
  }
  .page-faq .header.is_hide {
    opacity: 0;
    pointer-events: none;
  }
  .page-faq .container {
    z-index: 100;
  }

/* main
*************************************************** */
  .page-faq .sect-faq {
    padding: 56px;
  }
  .page-faq .sect-faq:not(:last-child) {
    margin-bottom: 32px;
  }
  .page-faq .sect-faq::before {
    border-width: 4px;
    border-style: solid;
  }
  .page-faq .sect-faq .faq--bloc:not(:last-child) {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
  }
  .page-faq .sect-faq .faq--bloc ul br {
    display: none;
  }
  .page-faq .sect-faq .faq--bloc .list li:not(:last-child) {
    margin-bottom: 16px;
  }
  .page-faq .sect-faq .faq--bloc a {
    text-decoration: underline;
  }
  .page-faq .sect-faq .faq--bloc .faq_q,
  .page-faq .sect-faq .faq--bloc .faq_a {
    padding-left: 2em;
  }
  .page-faq .sect-faq .faq--bloc .faq_q::before,
  .page-faq .sect-faq .faq--bloc .faq_a::before {
    position: absolute;
    top: .15em;
    left: 0;
    line-height: 1em;
    font-size: 22px;
    font-family: futura-pt, sans-serif;
    font-weight: 700;
  }
  .page-faq .sect-faq .faq--bloc .faq_q::before {
    content: 'Q';
  }
  .page-faq .sect-faq .faq--bloc .faq_a::before {
    content: 'A';
  }
  .page-faq .sect-faq .faq--bloc .tag_list--item {
    margin-top: 8px;
    margin-right: 8px;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 93%;
  }

/* side
*************************************************** */
  .side--faq,
  .side--faq:not(:last-child) {
    margin-bottom: 0;
  }
  .side--faq_list a:not(.flx) {
    display: block;
  }
  .side--faq_item {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
    overflow: hidden;
  }
  .side--faq_item:not(:last-child) {
    margin-bottom: 8px;
  }
  .side--faq_item > a {
    padding-right: 32px;
  }
  .side--faq_item ul {
    display: none;
    font-size: 80%;
    line-height: 1.6em;
    margin-top: 12px;
  }
  .side--faq_item ul li {
    padding-left: 16px;
  }
  .side--faq_item ul li:not(:last-child) {
    margin-bottom: 10px;
  }
  .side--faq_item ul li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 4px;
    height: 4px;
    transform: rotate(45deg);
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    transform-origin: center;
  }
  .side--faq_item .btn-tgl {
    position: absolute;
    top: 6px;
    right: 8px;
    width: 32px;
    height: 32px;
  }
  .side--faq_item .btn-tgl::before,
  .side--faq_item .btn-tgl::after {
    width: 20%;
  }
  .side--faq_item.active .btn-tgl {
    transform: rotate(180deg);
  }
  .side--faq_item .active_line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateX(-100%);
  }
  .side--faq_item.active .active_line {
    transform: translateX(0);
  }
  .side--faq_item.active {
    padding-top: 10px;
    padding-bottom: 16px;
  }
  .side--faq_item.active::before {
    opacity: 1;
  }
  @media screen and (min-width: 1065px) {
    .page-faq .btn-srch {
      display: none;
    }
  }
  @media screen and (min-width: 961px) {
    .page-faq .sect-faq .faq--bloc a:hover {
      text-decoration: none;
    }
    .side--faq_item ul li:hover::before {
      transform: rotate(45deg) translate(2px,-2px);
    }
  }
  @media screen and (max-width: 1064px) {
    .page-faq .sect-faq {
      padding: 40px;
    }
  }
  @media screen and (max-width: 560px) {
    .page-faq .sect-faq {
      padding-top: 24px;
      padding-bottom: 40px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .page-faq .sect-faq:not(:last-child) {
      margin-bottom: 16px;
    }
    .page-faq .sect-faq .faq--bloc .faq_q,
    .page-faq .sect-faq .faq--bloc .faq_a {
      padding-left: 22px;
    }
    .page-faq .sect-faq .faq--bloc .faq_q::before,
    .page-faq .sect-faq .faq--bloc .faq_a::before {
      top: .25em;
      font-size: 18px;
    }
  }




