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

    KEYFRAMES

############################################################################## */
  @keyframes fade_in {
    0% { opacity: 0; }
    100% { opacity: 1; }
  }
  @keyframes fade_out {
    0% { opacity: 1; }
    100% { opacity: 0; }
  }
  @keyframes slide-to_top {
    0% { transform: translateY(110%); }
    100% { transform: translateY(0%); }
  }
  @keyframes slide-to_btm {
    0% { transform: translateY(-110%); }
    100% { transform: translateY(0%); }
  }
  @keyframes slide-to_lft {
    0% { transform: translateX(110%); }
    100% { transform: translateX(0%); }
  }
  @keyframes slide-to_rgt {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(0%); }
  }
  @keyframes slide-rev_top {
    0% { transform: translateY(0%); }
    100% { transform: translateY(-110%); }
  }
  @keyframes slide-rev_btm {
    0% { transform: translateY(0%); }
    100% { transform: translateY(110%); }
  }
  @keyframes slide-rev_lft {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-110%); }
  }
  @keyframes slide-rev_rgt {
    0% { transform: translateX(0%); }
    100% { transform: translateX(110%); }
  }
  @keyframes slide-rev_rgt-lg {
    0% { transform: translateX(0%); }
    100% { transform: translateX(200%); }
  }
  @keyframes slide-to_rgt-lg {
    0% { transform: translateX(-200%); }
    100% { transform: translateX(0%); }
  }
  @keyframes mask-to_rgt {
    0% { transform: translateX(-8px); clip-path: inset(0 100% -20% 0); }
    100% { transform: translateX(0px); clip-path: inset(0 0 -20% 0); }
  }
  @keyframes scr_imgs {
    0% { background-position: -2064px 0; }
    100% { background-position: 0 0; }
  }
  @keyframes scr_imgs-sp {
    0% { background-position: 0 0; }
    100% { background-position: -1032px 0; }
  }
  @keyframes line3-mov {
    0% { transform: translateY(0); }
    50% { transform: translateY(110%); }
    50.01% { transform: translateY(-110%); }
    100% { transform: translateY(0); }
  }
  @keyframes skew_in-y {
    0% {
      opacity: 0;
      transform: translateY(32px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes skew_in-x {
    0% {
      opacity: 0;
      transform: translateX(32px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes hov_line {
    0% { transform: translateX(0); }
    49.9% { transform: translateX(110%); }
    50% { transform: translateX(-110%); }
    100% { transform: translateX(0); }
  }
  .loaded .ts,
  .loaded .ts-bf::before,
  .loaded .ts-af::after {
    transition: .8s cubic-bezier(.19,1,.22,1);
  }
  .loaded .ts04,
  .loaded .ts04-bf::before,
  .loaded .ts04-af::after,
  .arrow-area > .slick-arrow,
  .slick-dots button,
  .slick-dots button::before {
    transition-duration: .4s;
  }
  .loaded .ts06,
  .loaded .ts06-bf::before,
  .loaded .ts06-af::after {
    transition-duration: .6s;
  }
  .skew_in-x,
  .skew_in-y {
    opacity: 0;
    transform: translate(32px, 4px) rotate(-0.5deg) skew(-0.6deg, 2.5deg);
    animation-duration: 1.2s;
    animation-timing-function: cubic-bezier(.19,1,.22,1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  .visible .skew_in-x {
    animation-name: skew_in-x;
  }
  .visible .skew_in-y {
    animation-name: skew_in-y;
  }
  .anm_del50 { animation-delay: .05s; }
  .anm_del100 { animation-delay: .1s; }
  .anm_del150 { animation-delay: .15s; }
  .anm_del200 { animation-delay: .2s; }
  .anm_del250 { animation-delay: .25s; }
  .anm_del300 { animation-delay: .3s; }
  .anm_del350 { animation-delay: .35s; }
  .anm_del400 { animation-delay: .4s; }
  .anm_del450 { animation-delay: .45s; }
  .anm_del500 { animation-delay: .5s; }
  .anm_del550 { animation-delay: .55s; }
  .anm_del600 { animation-delay: .6s; }
  .anm_del650 { animation-delay: .65s; }
  .anm_del700 { animation-delay: .7s; }
  .anm_del750 { animation-delay: .75s; }
  .anm_del800 { animation-delay: .8s; }
  .anm_del850 { animation-delay: .85s; }
  .anm_del900 { animation-delay: .9s; }
  .anm_del950 { animation-delay: .95s; }
  .anm_del1050 { animation-delay: 1.05s; }


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

    COMMON

############################################################################## */
  .wrapper { overflow: hidden; }
  .svg-symbol { display: none; }

/* layout
**************************************** */

  /* --- inner --- */
  .inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
  }
  .inner-xs { max-width: 880px; }
  .inner-sm { max-width: 960px; }
  .inner-lg { max-width: 1400px; }
  .inner-xl { max-width: calc(100% - 112px); }

  /* --- sect_pdg --- */
  .sect_pdg {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .sect_pdg-sm {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .sect_pdg-top_no {
    padding-top: 0 !important;
  }
  .sect_pdg-btm_no {
    padding-bottom: 0 !important;
  }

  /* --- float --- */
  .flt-rgt { float: right; }
  .flt-lft { float: left; }

  /* --- position --- */
  .por {
    position: relative;
    z-index: 0;
  }
  .poa,
  .poa-bf::before,
  .poa-af::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .poa-bf::before,
  .poa-af::after {
    content: '';
  }

  /* --- margin --- */
  .btm8 { margin-bottom: 8px; }
  .btm16 { margin-bottom: 16px; }
  .btm24 { margin-bottom: 24px; }
  .btm32 { margin-bottom: 32px; }
  .btm40 { margin-bottom: 40px; }
  .btm48 { margin-bottom: 48px; }
  .btm56 { margin-bottom: 56px; }
  .btm64 { margin-bottom: 64px; }
  .btm72 { margin-bottom: 72px; }
  .btm80 { margin-bottom: 80px; }
  .btm88 { margin-bottom: 88px; }
  .btm96 { margin-bottom: 96px; }
  .btm104 { margin-bottom: 104px; }
  .btm112 { margin-bottom: 112px; }
  .btm120 { margin-bottom: 120px; }

  /* --- pc or sp --- */
  .disp-none,
  .pc-none,
  .pc-none-inline,
  .pc-none-table,
  .pc-none-flx,
  .lgpc-none,
  .tab-show,
  .tab-show-inline,
  .tab-show-table,
  .tab-show-flx { display: none; }
  .smpc-none,
  .tab-none,
  .sp-none { display: block; }
  .sp-none-inline { display: inline; }
  .sp-none-table { display: table; }
  .tab-none-flx,
  .sp-none-flx {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  @media screen and  (max-width: 1064px) {
    .lgpc-none {
      display: block;
    }
    .smpc-none {
      display: none;
    }
    .sect_pdg {
      padding-top: 96px;
      padding-bottom: 96px;
    }
    .sect_pdg-sm {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .btm24 { margin-bottom: 20px; }
    .btm32 { margin-bottom: 24px; }
    .btm40 { margin-bottom: 32px; }
    .btm48 { margin-bottom: 32px; }
    .btm56 { margin-bottom: 48px; }
    .btm64 { margin-bottom: 48px; }
    .btm72 { margin-bottom: 56px; }
    .btm80 { margin-bottom: 56px; }
    .btm88 { margin-bottom: 64px; }
    .btm96 { margin-bottom: 64px; }
    .btm104 { margin-bottom: 80px; }
    .btm112 { margin-bottom: 80px; }
    .btm120 { margin-bottom: 96px; }
  }
  @media screen and  (max-width: 960px) {
    .tab-show { display: block; }
    .tab-show-inline { display: inline; }
    .tab-show-table { display: table; }
    .tab-show-flx {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
    .tab-none,
    .tab-none-flx { display: none; }
  }
  @media screen and  (max-width: 560px) {
    .inner { width: calc(100% - 32px); }
    .btm16 { margin-bottom: 8px; }
    .btm24 { margin-bottom: 16px; }
    .btm32 { margin-bottom: 16px; }
    .btm40 { margin-bottom: 24px; }
    .btm48 { margin-bottom: 24px; }
    .btm56 { margin-bottom: 32px; }
    .btm64 { margin-bottom: 32px; }
    .btm72 { margin-bottom: 40px; }
    .btm80 { margin-bottom: 40px; }
    .btm88 { margin-bottom: 48px; }
    .btm96 { margin-bottom: 48px; }
    .btm104 { margin-bottom: 56px; }
    .btm112 { margin-bottom: 56px; }
    .btm120 { margin-bottom: 64px; }
    .sp-none,
    .sp-none-inline,
    .sp-none-table,
    .sp-none-flx { display: none; }
    .pc-none { display: block; }
    .pc-none-inline { display: inline; }
    .pc-none-table { display: table; }
    .pc-none-flx {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
    .sect_pdg {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .sect_pdg-sm {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  }

/* flex
**************************************** */

  /* --- ブロック要素 --- */
  .flx {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flx-rev {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .flx-ctr {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /* --- インライン要素 --- */
  .flx-in {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }

  /* --- 縦並び --- */
  .flx-col {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .flx-col-rev {
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  /* --- 水平方向揃え --- */
  .flx-stt-j {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .flx-ctr-j {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .flx-end-j {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .flx-btw-j {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  /* --- 垂直方向揃え --- */
  .flx-stt-a {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .flx-end-a {
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .flx-ctr-a {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /* --- 子要素の折り返し設定 --- */
  .flx-nowrap-c {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .flx-wrap-c {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* --- 子要素の複数行設定 --- */
  .flx-stt-c {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .flx-end-c {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
  }
  .flx-ctr-c {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
  }

  .flx-1 {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1;
  }

  /* --- ざっくりflexレイアウト --- */
  .flx-lo2,
  .flx-lo3,
  .flx-lo4 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flx-lo2 { margin-top: -3%; }
  .flx-lo2 > * {
    width: 48.5%;
    margin-right: 3%;
    margin-top: 3%;
  }
  .flx-lo2 > *:nth-child(even) { margin-right: 0; }
  .flx-lo3 { margin-top: -3%; }
  .flx-lo3 > * {
    width: 32.3%;
    margin-right: 1.5%;
    margin-top: 3%;
  }
  .flx-lo3 > *:nth-child(3n+3) { margin-right: 0; }
  .flx-lo4 { margin-top: -3%; }
  .flx-lo4>* {
    width: 24%;
    margin-right: 1.25%;
    margin-top: 3%;
  }
  .flx-lo4 > *:nth-child(4n+4) { margin-right: 0; }
  @media screen and (max-width: 1064px) {
    /* --- 縦並び - sp --- */
    .flx-smpc-blc {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  @media screen and (max-width: 960px) {
    .flx-tab-blc {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    /* --- ざっくりflexレイアウト - tab --- */
    .flx-lo2-tab { margin-top: -3%; }
    .flx-lo2-tab > *,
    .flx-lo2-tab.flx-lo3 > *:nth-child(3n+3) {
      width: 48.5%;
      margin-right: 3%;
      margin-top: 3%;
    }
    .flx-lo2-tab > *:nth-child(even) { margin-right: 0; }
    .flx-lo3-tab { margin-top: -3%; }
    .flx-lo3-tab > *,
    .flx-lo3-tab.flx-lo4 > *:nth-child(4n+4) {
      width: 31.33%;
      margin-right: 3%;
      margin-top: 3%;
    }
    .flx-lo3-tab > *:nth-child(3n+3) { margin-right: 0; }
    .flx-lo4.flx-tab-blc,
    .flx-lo3.flx-tab-blc,
    .flx-lo2.flx-tab-blc {
      display: block;
    }
    .flx-lo4.flx-tab-blc > *,
    .flx-lo3.flx-tab-blc > *,
    .flx-lo2.flx-tab-blc > * {
      width: 100%;
      margin-right: 0 !important;
    }
    .flx-tab-blc {
      margin-top: 0;
    }
    .flx-lo4.flx-tab-blc > *:first-child,
    .flx-lo3.flx-tab-blc > *:first-child,
    .flx-lo2.flx-tab-blc > *:first-child {
      margin-top: 0;
    }
  }
  @media screen and (max-width: 560px) {
    /* --- 縦並び - sp --- */
    .flx-sp-blc {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    /* --- ざっくりflexレイアウト - sp --- */
    .flx-lo2-sp { margin-top: -6%; }
    .flx-lo2-sp > *,
    .flx-lo2-sp.flx-lo3 > *:nth-child(3n+3) {
      width: 47%;
      margin-right: 6%;
      margin-top: 6%;
    }
    .flx-lo4.flx-lo2-sp > * { margin-top: 6%; }
    .flx-lo2-sp > *:nth-child(even) { margin-right: 0; }
    .flx-lo3-sp { margin-top: -6%; }
    .flx-lo3-sp > *,
    .flx-lo3-sp.flx-lo4 > *:nth-child(4n+4) {
      width: 29.33%;
      margin-right: 6%;
      margin-top: 6%;
    }
    .flx-lo3-sp > *:nth-child(3n+3) { margin-right: 0; }
    .flx-lo4.flx-sp-blc,
    .flx-lo3.flx-sp-blc,
    .flx-lo2.flx-sp-blc {
      display: block;
    }
    .flx-lo4.flx-sp-blc > *,
    .flx-lo3.flx-sp-blc > *,
    .flx-lo2.flx-sp-blc > * {
      width: 100%;
      margin-right: 0 !important;
      margin-top: 6%;
    }
    .flx-sp-blc {
      margin-top: 0;
    }
    .flx-lo4.flx-sp-blc > *:first-child,
    .flx-lo3.flx-sp-blc > *:first-child,
    .flx-lo2.flx-sp-blc > *:first-child {
      margin-top: 0;
    }
  }

/* column
**************************************** */
  .clm {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .clm-2 { gap: 40px; }
  .clm-2 > * { width: calc((100% - 40px) / 2); }
  .clm-3 { gap: 32px; }
  .clm-3 > * { width: calc((100% - 32px*2) / 3); }
  .clm-4 { gap: 24px; }
  .clm-4 > * { width: calc((100% - 24px*3) / 4); }
  .clm-5 { gap: 20px; }
  .clm-5 > * { width: calc((100% - 20px*4) / 5); }
  @media screen and (max-width: 1680px) {
    .clm-1-xlpc { gap: 48px; }
    .clm-1-xlpc > * { width: 100%; }
    .clm-2-xlpc { gap: 40px; }
    .clm-2-xlpc > * { width: calc((100% - 40px) / 2); }
    .clm-3-xlpc { gap: 32px; }
    .clm-3-xlpc > * { width: calc((100% - 32px*2) / 3); }
    .clm-4-xlpc { gap: 24px; }
    .clm-4-xlpc > * { width: calc((100% - 24px*3) / 4); }
    .clm-5-xlpc { gap: 20px; }
    .clm-5-xlpc > * { width: calc((100% - 20px*4) / 5); }
  }
  @media screen and (max-width: 1480px) {
    .clm-1-lgpc { gap: 48px; }
    .clm-1-lgpc > * { width: 100%; }
    .clm-2-lgpc { gap: 40px; }
    .clm-2-lgpc > * { width: calc((100% - 40px) / 2); }
    .clm-3-lgpc { gap: 32px; }
    .clm-3-lgpc > * { width: calc((100% - 32px*2) / 3); }
    .clm-4-lgpc { gap: 24px; }
    .clm-4-lgpc > * { width: calc((100% - 24px*3) / 4); }
    .clm-5-lgpc { gap: 20px; }
    .clm-5-lgpc > * { width: calc((100% - 20px*4) / 5); }
  }
  @media screen and (max-width: 1280px) {
    .clm-1-smpc { gap: 40px; }
    .clm-1-smpc > * { width: 100%; }
    .clm-2-smpc { gap: 32px; }
    .clm-2-smpc > * { width: calc((100% - 32px) / 2); }
    .clm-3-smpc { gap: 24px; }
    .clm-3-smpc > * { width: calc((100% - 24px*2) / 3); }
    .clm-4-smpc { gap: 20px; }
    .clm-4-smpc > * { width: calc((100% - 20px*3) / 4); }
    .clm-5-smpc { gap: 16px; }
    .clm-5-smpc > * { width: calc((100% - 16px*4) / 5); }
  }
  @media screen and (max-width: 1064px) {
    .clm-1-xspc { gap: 32px; }
    .clm-1-xspc > * { width: 100%; }
    .clm-2-xspc { gap: 24px; }
    .clm-2-xspc > * { width: calc((100% - 24px) / 2); }
    .clm-3-xspc { gap: 20px; }
    .clm-3-xspc > * { width: calc((100% - 20px*2) / 3); }
    .clm-4-xspc { gap: 16px; }
    .clm-4-xspc > * { width: calc((100% - 16px*3) / 4); }
    .clm-5-xspc { gap: 12px; }
    .clm-5-xspc > * { width: calc((100% - 12px*4) / 5); }
  }
  @media screen and (max-width: 960px) {
    .clm-1-tab { gap: 32px; }
    .clm-1-tab > * { width: 100%; }
    .clm-2-tab { gap: 24px; }
    .clm-2-tab > * { width: calc((100% - 24px) / 2); }
    .clm-3-tab { gap: 20px; }
    .clm-3-tab > * { width: calc((100% - 20px*2) / 3); }
    .clm-4-tab { gap: 16px; }
    .clm-4-tab > * { width: calc((100% - 16px*3) / 4); }
    .clm-5-tab { gap: 12px; }
    .clm-5-tab > * { width: calc((100% - 12px*4) / 5); }
  }
  @media screen and (max-width: 768px) {
    .clm-1-lgsp { gap: 32px; }
    .clm-1-lgsp > * { width: 100%; }
    .clm-2-lgsp { gap: 24px; }
    .clm-2-lgsp > * { width: calc((100% - 24px) / 2); }
    .clm-3-lgsp { gap: 20px; }
    .clm-3-lgsp > * { width: calc((100% - 20px*2) / 3); }
    .clm-4-lgsp { gap: 16px; }
    .clm-4-lgsp > * { width: calc((100% - 16px*3) / 4); }
    .clm-5-lgsp { gap: 12px; }
    .clm-5-lgsp > * { width: calc((100% - 12px*4) / 5); }
  }
  @media screen and (max-width: 560px) {
    .clm-1-sp { gap: 24px; }
    .clm-1-sp > * { width: 100%; }
    .clm-2-sp { gap: 16px; }
    .clm-2-sp > * { width: calc((100% - 16px) / 2); }
    .clm-3-sp { gap: 16px; }
    .clm-3-sp > * { width: calc((100% - 16px*2) / 3); }
    .clm-4-sp { gap: 12px; }
    .clm-4-sp > * { width: calc((100% - 12px*3) / 4); }
    .clm-5-sp { gap: 8px; }
    .clm-5-sp > * { width: calc((100% - 8px*4) / 5); }
  }
  @media screen and (max-width: 413px) {
    .clm-1-smsp { gap: 16px; }
    .clm-1-smsp > * { width: 100%; }
    .clm-2-smsp { gap: 12px; }
    .clm-2-smsp > * { width: calc((100% - 12px) / 2); }
    .clm-3-smsp { gap: 12px; }
    .clm-3-smsp > * { width: calc((100% - 12px*2) / 3); }
    .clm-4-smsp { gap: 8px; }
    .clm-4-smsp > * { width: calc((100% - 8px*3) / 4); }
    .clm-5-smsp { gap: 6px; }
    .clm-5-smsp > * { width: calc((100% - 6px*4) / 5); }
  }
  @media screen and (max-width: 374px) {
    .clm-1-xssp { gap: 16px; }
    .clm-1-xssp > * { width: 100%; }
    .clm-2-xssp { gap: 12px; }
    .clm-2-xssp > * { width: calc((100% - 12px) / 2); }
    .clm-3-xssp { gap: 12px; }
    .clm-3-xssp > * { width: calc((100% - 12px*2) / 3); }
    .clm-4-xssp { gap: 8px; }
    .clm-4-xssp > * { width: calc((100% - 8px*3) / 4); }
    .clm-5-xssp { gap: 6px; }
    .clm-5-xssp > * { width: calc((100% - 6px*4) / 5); }
  }

/* color
**************************************** */

  /* --- default --- */
  .clr-def,
  .clr-def-bf::before,
  .clr-def-af::after,
  a.button {
    color: #121d3f;
    fill: #121d3f;
  }
  .bg_clr-def,
  .bg_clr-def-bf::before,
  .bg_clr-def-af::after {
    background-color: #121d3f;
  }
  .bdr_clr-def,
  .bdr_clr-def-bf::before,
  .bdr_clr-def-af::after {
    border-color: #121d3f;
  }

  /* --- main --- */
  .clr-main,
  .clr-main-bf::before,
  .clr-main-af::after,
  .slick-dots button:hover::before {
    color: #0ab4c4;
    fill: #0ab4c4;
  }
  .bg_clr-main,
  .bg_clr-main-bf::before,
  .bg_clr-main-af::after,
  .slick-dots li.slick-active button,
  .line10-main span,
  .slick-dots button:hover {
    background-color: #0ab4c4;
  }
  .bdr_clr-main,
  .bdr_clr-main-bf::before,
  .bdr_clr-main-af::after {
    border-color: #0ab4c4;
  }
  @media screen and (min-width: 961px) {
    .hov_clr-main:hover,
    .hov_clr-main:hover a,
    #breadcrumbs a:hover {
      color: #0ab4c4;
    }
    .bnr_btn_list--item:hover::before {
      background-color: #0ab4c4;
    }
  }

  /* --- sub --- */
  .clr-sub,
  .clr-sub-bf::before,
  .clr-sub-af::after,
  .trunk_list .slick-dots li.slick-active button::before {
    color: #eec139;
    fill: #eec139;
  }
  .bg_clr-sub,
  .bg_clr-sub-bf::before,
  .bg_clr-sub-af::after,
  .trunk_list .slick-dots li.slick-active button,
  .line10-sub span {
    background-color: #eec139;
  }
  .bdr_clr-sub,
  .bdr_clr-sub-bf::before,
  .bdr_clr-sub-af::after,
  .slick-arrow::before {
    border-color: #eec139;
  }
  strong {
    background:linear-gradient(transparent 75%, #eec139d9 0%);
    font-weight: normal;
  }
  .txt-sesame {
    text-emphasis: #eec139e6 sesame;
    -webkit-text-emphasis: #eec139e6 sesame;
  }
  #cf_form input:focus,
  #cf_form textarea:focus,
  #cf_form select:focus {
    outline-color: #eec139;
  }
  @media (any-hover: hover) {
    .hov_bg_clr-sub:hover {
      background-color: #eec139;
    }
  }

  /* --- sub02 --- */
  .clr-sub02,
  .clr-sub02-bf::before,
  .clr-sub02-af::after {
    color: #009a76;
    fill: #009a76;
  }
  .bg_clr-sub02,
  .bg_clr-sub02-bf::before,
  .bg_clr-sub02-af::after {
    background-color: #009a76;
  }
  .bdr_clr-sub02,
  .bdr_clr-sub02-bf::before,
  .bdr_clr-sub02-af::after {
    border-color: #009a76;
  }

  /* --- sub03 --- */
  .clr-sub03,
  .clr-sub03-bf::before,
  .clr-sub03-af::after {
    color: #756dba;
    fill: #756dba;
  }
  .bg_clr-sub03,
  .bg_clr-sub03-bf::before,
  .bg_clr-sub03-af::after {
    background-color: #756dba;
  }
  .bdr_clr-sub03,
  .bdr_clr-sub03-bf::before,
  .bdr_clr-sub03-af::after {
    border-color: #756dba;
  }

  /* --- red --- */
  .clr-red,
  .clr-red-bf::before,
  .clr-red-af::after {
    color: #ea1339;
    fill: #ea1339;
  }
  .bg_clr-red,
  .bg_clr-red-bf::before,
  .bg_clr-red-af::after {
    background-color: #ea1339;
  }
  .bdr_clr-red,
  .bdr_clr-red-bf::before,
  .bdr_clr-red-af::after {
    border-color: #ea1339;
  }

  /* --- wht --- */
  .clr-wht,
  .clr-wht-bf::before,
  .clr-wht-af::after {
    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_clr-wht:hover,
    .hov_clr-wht:hover a {
      color: #fff;
    }
  }

  /* --- gry --- */
  .clr-gry,
  .clr-gry-bf::before,
  .clr-gry-af::after {
    color: #f6f6f8;
    fill: #f6f6f8;
  }
  .bg_clr-gry,
  .bg_clr-gry-bf::before,
  .bg_clr-gry-af::after {
    background-color: #f6f6f8;
  }
  .bdr_clr-gry,
  .bdr_clr-gry-bf::before,
  .bdr_clr-gry-af::after {
    border-color: #f6f6f8;
  }

  /* --- blk --- */
  .clr-blk,
  .clr-blk-bf::before,
  .clr-blk-af::after {
    color: #121d3f;
    fill: #121d3f;
  }
  .bg_clr-blk,
  .bg_clr-blk-bf::before,
  .bg_clr-blk-af::after {
    background-color: #121d3f;
  }
  .bdr_clr-blk,
  .bdr_clr-blk-bf::before,
  .bdr_clr-blk-af::after {
    border-color: #121d3f;
  }

/* bg
**************************************** */
  .bg-ptrn,
  .bg-ptrn-blk {
    background-repeat: repeat;
    background-size: 77px;
  }
  .bg-ptrn {
    background-image: url(../images/common/bg_ptrn@2x.png);
  }
  .bg-ptrn-blk {
    background-image: url(../images/common/bg_ptrn-blk@2x.png);
  }
  .bg-ptrn-blk {
    background-image: url(../images/common/bg_ptrn-blk@2x.png);
  }
  @media screen and (max-width: 560px) {
    .bg-ptrn,
    .bg-ptrn-blk {
      background-size: 38px;
    }
  }

/* ttl
**************************************** */

  /* --- page_ttl --- */
  .page_ttl {
    padding-top: 144px;
    padding-bottom: 64px;
  }
  .page_ttl .fnt-jp,
  .page_ttl .fnt-en { display: block; }
  .page_ttl .fnt-en {
    font-size: 320%;
    text-transform: uppercase;
  }
  .page_ttl .fnt-jp {
    font-size: 120%;
  }
  .page_ttl .fnt-en.bg_txt {
    position: absolute;
    opacity: .03;
    top: -18px;
    left: -56px;
    z-index: -1;
    font-size: 800%;
    line-height: 1em;
  }

  /* --- sect_ttl --- */
  .sect_ttl {
    position: relative;
    font-size: 193%;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: .1em;
  }
  .sect_ttl img {
    display: inline-block;
    margin-bottom: 20px;
    transform: translateY(4px);
  }
  .side_column .sect_ttl .line3 {
    position: absolute;
    top: 9px;
    left: -44px;
  }
  .sect_ttl .slash {
    position: absolute;
    top: .3em;
    width: 6px;
    height: 100%;
    opacity: .25;
  }
  .sect_ttl .slash:first-child {
    right: calc(100% + 64px);
    transform: skewX(30deg);
  }
  .sect_ttl .slash:last-child {
    left: calc(100% + 64px);
    transform: skewX(-30deg);
  }
  .sect_ttl .num {
    display: inline-block;
    margin-right: 3px;
    transform: translateY(2px);
    font-size: 159%;
    line-height: 1em;
  }
  .sect_ttl-sm { font-size: 267%; }
  .sect_catch {
    text-align: center;
    font-size: 120%;
    font-weight: 700;
  }

  /* --- visible --- */
  .visible .sect_ttl .line3 .line::before {
    animation-duration: .4s;
    animation-timing-function: cubic-bezier(0.645, 0.005, 0.355, 1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-name: line3-mov;
  }
  .visible .sect_ttl .line3 .line:nth-of-type(1)::before {
    animation-delay: 0s;
  }
  .visible .sect_ttl .line3 .line:nth-of-type(2)::before {
    animation-delay: .15s;
  }
  .visible .sect_ttl .line3 .line:nth-of-type(3)::before {
    animation-delay: .3s;
  }

  /* --- heading --- */
  .head1,
  .head2,
  .head3 {
    letter-spacing: .1em;
  }
  .head1 { font-size: 172%; }
  .head2 { font-size: 157%; }
  .head3 { font-size: 143%; }
  .head3 .line3 { margin-right: 22px; }
  .head4 { font-size: 128%; }
  .head4 .line3 { margin-right: 16px; }
  @media screen and (max-width: 1064px) {
    .page_ttl {
      padding-top: 104px;
      padding-bottom: 24px;
    }
    .page_ttl .fnt-en.bg_txt {
      top: -4px;
      left: -24px;
      font-size: 600%;
    }
    .side_column .sect_ttl {
      padding-bottom: 24px;
    }
    .side_column .sect_ttl .line3 {
      top: auto;
      top: inherit;
      bottom: 0;
      left: 50%;
      width: 64px;
      height: 4px;
      transform: translateX(-50%);
    }
    .side_column .sect_ttl .line3 .line {
      width: 32.5%;
    }
  }
  @media screen and (max-width: 560px) {
    .page_ttl {
      padding-top: 80px;
      padding-bottom: 16px;
      padding-left: 24px;
    }
    .page_ttl .fnt-en {
      font-size: 220%;
    }
    .page_ttl .fnt-en.bg_txt {
      font-size: 400%;
      top: -2px;
      letter-spacing: .3em;
    }
    .page_ttl .fnt-jp {
      font-size: 109%;
    }
    .sect_ttl {
      font-size: 157%;
    }
    .sect_ttl img {
      margin-bottom: 12px;
    }
    .sect_ttl .slash:first-child {
      right: calc(100% + 32px);
    }
    .sect_ttl .slash:last-child {
      left: calc(100% + 32px);
    }
    .head1 { font-size: 150%; }
    .head2 { font-size: 135%; }
    .head3 {
      font-size: 129%;
      margin-left: 12px;
    }
  }
  @media screen and (max-width: 320px) {
    .page_ttl .fnt-en.bg_txt {
      letter-spacing: .1em;
    }
  }

/* txt
**************************************** */
  .fnt-en,
  .slick-dots button::before {
    font-family: 'Lato', sans-serif;
    letter-spacing: .35em;
  }
  .fnt-en.fnt-bold { font-weight: 700; }
  .fnt-jp { font-family: 'Zen Kaku Gothic New', sans-serif; }
  .txtarea p:not(:last-child) { margin-bottom: 1em; }
  .fnt-lg { font-size: 107%; }
  .fnt-xl { font-size: 114%; }
  .fnt-sm { font-size: 93%; }
  .fnt-xs { font-size: 86%; }
  .fnt-xxs { font-size: 79%; }
  .txt-ctr { text-align: center; }
  .txt-rgt { text-align: right; }
  .txt-attn {
    font-size: 88%;
    color: #999;
  }
  .tbl-ctr {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .txt-frame {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 16px;
    padding-right: 16px;
    line-height: 1em;
    border-radius: 100px;
    background-color: #ededf1;
    letter-spacing: .1em;
  }
  .fnt-bold { font-weight: bold; }
  .w-r { font-weight: 500; }
  .ls-50 { letter-spacing: .05em; }
  .ls-100 { letter-spacing: .1em; }
  .ls-150 { letter-spacing: .15em; }
  .ls-200 { letter-spacing: .2em; }
  .ls-250 { letter-spacing: .25em; }
  .ls-300 { letter-spacing: .3em; }
  .ls-350 { letter-spacing: .35em; }
  .ls-400 { letter-spacing: .4em; }
  .op05 { opacity: .5; }
  @media screen and (max-width: 1064px) {
    .txt-ctr-smpc { text-align: center; }
    .txt-lft-smpc { text-align: justify; }
  }
  @media screen and (max-width: 960px) {
    .txt-ctr-tab { text-align: center; }
    .txt-lft-tab { text-align: justify; }
  }
  @media screen and (max-width: 560px) {
    .txt-ctr-sp { text-align: center; }
    .txt-lft-sp { text-align: justify; }
    .fnt-lg { font-size: 100%; }
  }

/* table & list
**************************************** */
  table { width: 100%; }

  /* --- 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: 8px; }
  .list li {
    position: relative;
    padding-left: 1.2em;
  }
  .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: 2px;
    background-color: #0ab4c4;
  }
  /* 数字付きリスト */
  .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 #0ab4c4;
    background-color: transparent;
  }
  /* 四角付きリスト */
  .list-square li::before {
    border-radius: 0;
    background-color: #0ab4c4;
  }
  /* 入れ子のスタイル */
  .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;
    font-weight: 700;
    opacity: .5;
  }
  .list-dl dd {
    padding-left: 140px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #BFBFBF;
  }

/* btn
**************************************** */

  /* --- btn --- */
  .btn .btn--in {
    overflow: hidden;
    padding-top: 15px;
    padding-bottom: 15px;
    letter-spacing: .5em;
    width: 360px;
    border-radius: 100px;
    cursor: pointer;
  }
  .btn .btn--in::before,
  .btn .btn--in::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: .05;
    transition: .4s cubic-bezier(0,1,.4,1);
  }
  .btn .btn--in::before {
    border-radius: 0 0 100% 100%;
    transform: translateY(-110%);
  }
  .btn .btn--in::after {
    border-radius: 100% 100% 0 0;
    transform: translateY(110%);
  }
  .btn .btn--in .arrow_wrap,
  .btn .btn--in .plus {
    margin-left: 24px;
  }
  .btn .btn--in .arrow_wrap {
    width: 8px;
    height: 8px;
  }
  .btn .btn--in .arrow_wrap .arrow {
    position: absolute;
    top: -1px;
    border-top-width: 2px;
    border-top-style: solid;
    border-right-width: 2px;
    border-right-style: solid;
  }
  .btn .btn--in .arrow_wrap .arrow-next {
    transform: rotate(45deg);
  }
  .btn .btn--in .arrow_wrap .arrow-down {
    transform: rotate(135deg);
  }
  .btn .btn--in .plus {
    width: 16px;
    height: 16px;
    border-radius: 100%;
  }
  .btn .btn--in .plus .line {
    position: absolute;
    width: 8px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 4px);
  }
  .btn .btn--in .plus .line:nth-of-type(2) {
    transform: rotate(90deg);
  }
  @media screen and (min-width: 961px) {
    .hov_area:hover .btn .btn--in::before,
    .hov_area:hover .btn .btn--in::after,
    .btn:hover .btn--in::before,
    .btn:hover .btn--in::after {
      border-radius: 0;
      transform: translateY(0%);
    }
  }
  @media screen and (max-width: 560px) {
    .btn .btn--in {
      padding-top: 10px;
      padding-bottom: 10px;
      width: 280px;
      letter-spacing: .3em;
    }
  }

  /* --- btn-fix_btm --- */
  .btn-fix_btm,
  .btn-fix_btm::before {
    border-radius: 100px;
  }
  .btn-fix_btm {
    position: fixed;
    bottom: 20px;
    left: 24px;
    right: 24px;
    z-index: 10001;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 24px;
    padding-right: 24px;
    line-height: 1em;
  }
  .btn-fix_btm::before {
    border-width: 2px;
    border-style: solid;
  }
  .btn-fix_btm .iw {
    margin-right: 6px;
    font-size: 109%;
  }
  .btn-fix_btm.active {
    color: #fff;
  }
  .btn-fix_btm.active::before {
    opacity: 0;
  }
  .btn-fix_btm.is_hide {
    opacity: 0;
    pointer-events: none;
  }


/* slick
**************************************** */
  .slick-dots {
    position: absolute;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .slick-dots li {
    position: relative;
    margin-right: 6px;
    margin-left: 6px;
  }
  .slick-dots button {
    background-color: #ededf1;
    border: none;
    color: transparent;
    display: block;
    width: 24px;
    height: 3px;
  }
  .slick-dots button::before {
    color: #ededf1;
    font-weight: bold;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  .slick-arrow {
    position: absolute;
    z-index: 1;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    appearance: none;
    color: transparent;
    padding: 0;
  }
  .slick-arrow::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    border-top-style: solid;
    border-right-style: solid;
    transform-origin: 50% 50%;
  }
  .slick-prev::before {
    transform: translate(-50%,-50%) rotate(-135deg);
  }
  .slick-next::before {
    transform: translate(-50%,-50%) rotate(45deg);
  }
  .arrow-area > .slick-arrow {
    top: 0;
    width: 126px;
    height: 100%;
    background-color: rgba(255,255,255,.75);
  }
  .arrow-area > .slick-arrow::before {
    width: 22px;
    height: 22px;
    border-top-width: 3px;
    border-right-width: 3px;
  }
  .arrow-area > .slick-prev {
    right: calc(100% - 82px);
  }
  .arrow-area > .slick-next {
    left: calc(100% - 82px);
  }
  .arrow-btn > .slick-arrow {
    width: 52px;
    height: 52px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100%;
    border-top-width: 2px;
    border-right-width: 2px;
    background-color: rgba(255,255,255,.4);
  }
  .arrow-btn > .slick-arrow::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #fff;
    border-radius: 100%;
    transform: scale(.8);
    transition: .35s;
  }
  .arrow-btn > .slick-arrow::before {
    width: 6px;
    height: 6px;
    border-top-width: 2px;
    border-right-width: 2px;
  }
  .arrow-btn > .slick-prev {
    left: -26px;
  }
  .arrow-btn > .slick-prev::before {
    left: 65%;
  }
  .arrow-btn > .slick-next {
    right: -26px;
  }
  .arrow-btn > .slick-next::before {
    left: 35%;
  }
  @media screen and (min-width: 961px) {
    .arrow-area > .slick-arrow:hover {
      background-color: rgba(255,255,255,.9);
    }
    .arrow-btn > .slick-arrow:hover::after {
      transform: scale(1);
    }
  }
  @media screen and (max-width: 1280px) {
    .arrow-area > .slick-arrow {
      width: 80px;
    }
    .arrow-area > .slick-prev {
      right: calc(100% - 35px);
    }
    .arrow-area > .slick-next {
      left: calc(100% - 35px);
    }
  }
  @media screen and (max-width: 560px) {
    .slick-dots li {
      margin-left: 3px;
      margin-right: 3px;
    }
  }

/* line3
**************************************** */
  .line3 {
    width: 18px;
    height: 28px;
  }
  .line3 .line {
    display: block;
    width: 4px;
    height: 100%;
    transform: skewX(-35deg);
    overflow: hidden;
  }
  .line3 .line:nth-of-type(1) {
    left: -3px;
  }
  .line3 .line:nth-of-type(3) {
    right: -3px;
  }
  .line3 .line::before {
    opacity: .1;
  }
  .line3-sm {
    width: 11px;
    height: 18px;
  }
  .line3-sm .line {
    width: 3px;
  }
  .line3-xs {
    width: 6px;
    height: 12px;
  }
  .line3-xs .line {
    width: 2px;
  }

/* page_list
**************************************** */
  .page_list--item {
    cursor: pointer;
  }
  .page_list--item:not(:last-child) {
    margin-right: 32px;
  }
  .page_list--item .fnt-en,
  .page_list--item .fnt-jp {
    display: block;
    padding-left: 18px;
    line-height: 1.1em;
  }
  .page_list--item .fnt-en {
    margin-bottom: 10px;
  }
  .page_list--item .fnt-en .line {
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    overflow: hidden;
    transform: skewX(-35deg);
  }
  .page_list--item .fnt-en .line::before {
    transform: translateY(-110%);
    animation-duration: .4s;
    animation-timing-function: cubic-bezier(.19,1,.22,1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-name: slide-rev_btm;
  }
  .page_list--item .fnt-jp {
    opacity: .35;
  }
  @media screen and (min-width: 961px) {
    .page_list--item:hover .fnt-en .line::before {
      animation-name: slide-to_btm;
    }
  }
  @media screen and (max-width: 560px) {
    .page_list--item .fnt-en,
    .page_list--item .fnt-jp {
      padding-left: 14px;
    }
    .page_list--item .fnt-en {
      margin-bottom: 6px;
      letter-spacing: .3em;
    }
    .page_list--item .fnt-jp {
      font-size: 75%;
    }
    .page_list--item .fnt-en .line::before {
      content: none;
    }
  }
  @media screen and (max-width: 374px) {
    .page_list--item .fnt-en {
      letter-spacing: .2em;
    }
  }

/* bnr_btn_list
**************************************** */
  .bnr_btn_list--item::before {
    border-radius: 10px;
    opacity: .35;
  }
  .bnr_btn_list--item::after {
    border-radius: 8px;
    top: 6px;
    left: 6px;
    opacity: .8;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
  }
  .bnr_btn_list--item a::before {
    z-index: 1;
  }
  .bnr_btn_list--item h5 {
    line-height: 1em;
    margin-top: 4px;
  }
  .bnr_btn_list--item p {
    line-height: 1.6em;
    opacity: .75;
  }

  /* --- bnr_btn_list-w --- */
  .bnr_btn_list-w .bnr_btn_list--item {
    width: 49%;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .bnr_btn_list-w .bnr_btn_list--item .ico {
    margin-right: 10px;
  }

  /* --- bnr_btn_list-h --- */
  .bnr_btn_list-h .bnr_btn_list--item:not(:first-child) {
    margin-top: 12px;
  }
  .bnr_btn_list-h .bnr_btn_list--item::before,
  .bnr_btn_list-h .bnr_btn_list--item::after {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
  }
  .bnr_btn_list-h .bnr_btn_list--item::before {
    opacity: .1;
  }
  .bnr_btn_list-h .bnr_btn_list--item::after {
    opacity: .9;
  }
  .bnr_btn_list-h .bnr_btn_list--item {
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .bnr_btn_list-h .bnr_btn_list--item .ico {
    margin-bottom: 10px;
  }
  .bnr_btn_list-h .bnr_btn_list--item h5 {
    margin-bottom: 8px;
  }
  .bnr_btn_list-h .bnr_btn_list--item p {
    line-height: 1.3em;
  }

  /* --- bnr_btn_list-fix --- */
  .bnr_btn_list-fix {
    position: fixed;
    top: 80px;
    right: -6px;
    z-index: 9999;
    opacity: 0;
    transform: translateX(8px);
  }
  .scrolled .bnr_btn_list-fix,
  .subpage:not(.single-shop) .bnr_btn_list-fix {
    opacity: 1;
    transform: translateX(0px);
  }
  @media screen and (min-width: 561px) {
    .bnr_btn_list-fix.bnr_btn_list-h  .bnr_btn_list--item-tel {
      display: none;
    }
  }
  @media screen and (min-width: 961px) {
    .bnr_btn_list .bnr_btn_list--item:hover::before {
      opacity: .65;
    }
    .bnr_btn_list .bnr_btn_list--item:hover::after {
      opacity: .95;
    }
  }
  @media screen and (max-width: 1280px) {
    .bnr_btn_list-fix,
    .scrolled .bnr_btn_list-fix,
    .subpage .bnr_btn_list-fix {
      top: inherit;
      top: auto;
      bottom: -6px;
      right: 50%;
      transform: translateX(50%);
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 90%;
    }
    .bnr_btn_list-h .bnr_btn_list--item {
      width: calc(50% - 8px);
      white-space: nowrap;
    }
    .bnr_btn_list-h .bnr_btn_list--item:not(:first-child) {
      margin-top: 0;
      margin-left: 16px;
    }
    .bnr_btn_list-h .bnr_btn_list--item::before,
    .bnr_btn_list-h .bnr_btn_list--item::after {
      border-radius: 10px;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
    .bnr_btn_list-fix {
      opacity: 1;
      transform: translateX(50%) !important;
    }
  }
  @media screen and (max-width: 1280px) and (min-width: 561px) {
    .bnr_btn_list-h {
      transform: translate(50%,8px);
    }
    .bnr_btn_list-h .bnr_btn_list--item {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: left;
      font-size: 133%;
      padding-top: 20px;
      padding-bottom: 20px;
    }
    .bnr_btn_list-h .bnr_btn_list--item .ico {
      margin-bottom: 0;
      margin-right: 16px;
    }
    .bnr_btn_list-h .bnr_btn_list--item .ico img {
      width: 36px;
      height: 40px;
    }
    .bnr_btn_list-h .bnr_btn_list--item h5 {
      margin-top: 0;
      margin-bottom: 4px;
    }
    .bnr_btn_list-h .bnr_btn_list--item p {
      font-size: 60%;
    }
    .bnr_btn_list-h .bnr_btn_list--item br {
      display: none;
    }
  }
  @media screen and (max-width: 768px) {
    .bnr_btn_list-h .bnr_btn_list--item .ico img {
      width: 28px;
      height: 30px;
    }
    .bnr_btn_list-h .bnr_btn_list--item {
      font-size: 120%;
    }
  }
  @media screen and (max-width: 560px) {
    .bnr_btn_list--item p {
      line-height: 1.4em;
    }
    .bnr_btn_list-w .bnr_btn_list--item {
      text-align: center;
    }
    .bnr_btn_list-w .bnr_btn_list--item .ico {
      margin-right: 0;
      margin-bottom: 6px;
    }
    .bnr_btn_list-w .bnr_btn_list--item h5 {
      margin-bottom: 6px;
    }
    .bnr_btn_list-fix,
    .scrolled .bnr_btn_list-fix,
    .subpage .bnr_btn_list-fix {
      width: 95%;
    }
    .bnr_btn_list-h .bnr_btn_list--item {
      padding-top: 18px;
      padding-bottom: 18px;
      font-size: 100%;
      width: calc(50% - 3px);
    }
    .bnr_btn_list-h .bnr_btn_list--item:not(:first-child) {
      margin-left: 6px;
    }
    .bnr_btn_list-h .bnr_btn_list--item h5 {
      margin-bottom: 0;
    }
    .bnr_btn_list-fix .bnr_btn_list--item.v2 {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      padding-bottom: 36px;
    }
    .bnr_btn_list-fix .bnr_btn_list--item.v2 .ico {
      margin-bottom: 0;
      margin-right: 10px;
    }
    .bnr_btn_list-fix .bnr_btn_list--item.v2 h5 {
      margin-top: 0;
      line-height: 1.2em;
      text-align: left;
      font-size: 100%;
    }
    .bnr_btn_list-fix .bnr_btn_list--item.v2 p {
      position: absolute;
      bottom: 18px;
      left: 50%;
      white-space: nowrap;
      transform: translateX(-50%);
    }
  }

/* company
**************************************** */
  .company_modal {
    padding-left: 56px;
    padding-right: 56px;
  }
  .company_modal--in {
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
    padding-right: 80px;
    border-radius: 16px;
  }
  .company_modal .modal_ttl {
    position: absolute;
    font-size: 400%;
    bottom: calc(100% - 83px);
    left: -44px;
    line-height: 1.5em;
  }
  .company_modal .logo svg {
    display: block;
  }
  .company_modal .comp_list {
    width: 260px;
  }
  .company_modal .comp_list:not(:last-child) {
    margin-right: 40px;
  }
  .company_modal .comp_list--item {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(14,21,40,.2);
  }
  .company_modal .comp_list--item:not(:last-child) {
    margin-bottom: 20px;
  }
  .company_modal .comp_list--item h4 {
    margin-bottom: 4px;
  }
  .company_modal .comp_list--item p {
    line-height: 1.6em;
  }
  .modal .close {
    position: absolute;
    top: -56px;
    right: -48px;
    width: 56px;
    height: 56px;
    z-index: 1;
  }
  .modal .close::before,
  .modal .close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    height: 50%;
  }
  .modal .close::before {
    transform: translate(-50%,-50%) skewX(-55deg);
  }
  .modal .close::after {
    transform: translate(-50%,-50%) skewX(55deg);
  }
  @media screen and (min-width: 961px) {
    .modal .close:hover {
      transform: rotate(360deg);
    }
    .modal .close:hover::before,
    .modal .close:hover::after {
      width: 2px;
      height: 60%;
    }
    .modal .close:hover::before {
      transform: translate(-50%,-50%) skewX(-40deg);
    }
    .modal .close:hover::after {
      transform: translate(-50%,-50%) skewX(40deg);
    }
  }
  @media screen and (max-width: 1280px) {
    .company_modal--in {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .company_modal .logo {
      margin-bottom: 40px;
    }
    .company_modal .logo svg {
      width: 160px;
      height: 160px;
    }
    .company_modal .comp_lists {
      width: 100%;
    }
    .company_modal .comp_list {
      width: calc(50% - 28px);
    }
  }
  @media screen and (max-width: 960px) {
    .modal .close {
      right: -32px;
    }
    .company_modal {
      padding-top: 80px;
    }
    .company_modal .modal_ttl {
      font-size: 300%;
      top: -64px;
      left: -32px;
      bottom: auto;
      bottom: inherit;
    }
    .company_modal--in {
      padding-left: 48px;
      padding-right: 48px;
      padding-bottom: 64px;
    }
    .company_modal .comp_list {
      width: calc(50% - 16px);
    }
    .company_modal .comp_list:not(:last-child) {
      margin-right: 32px;
    }
  }
  @media screen and (max-width: 680px) {
    .company_modal .comp_list {
      width: 100%;
    }
    .company_modal .comp_list:not(:last-child) {
      margin-right: 0;
    }
  }
  @media screen and (max-width: 560px) {
    .company_modal {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 0;
      padding-right: 0;
      background-color: #fff !important;
    }
    .company_modal .modal_ttl {
      font-size: 178%;
      position: static;
      width: 100%;
      margin-bottom: 24px;
      text-align: center;
    }
    .modal .close {
      top: 24px;
      right: 16px;
      width: 40px;
      height: 40px;
    }
    .modal .close::before,
    .modal .close::after {
      background-color: #121d3f;
    }
    .company_modal--in {
      padding-top: 24px;
      padding-bottom: 40px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .company_modal .logo {
      margin-bottom: 32px;
    }
    .company_modal .logo svg {
      width: 104px;
      height: 104px;
    }
  }

/* catch
*************************************************** */
  .catch .logo svg {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .catch .ttl {
    font-size: 213%;
    font-weight: 500;
    letter-spacing: .3em;
  }
  @media screen and (max-width: 1064px) {
    .catch .logo svg {
      width: 144px;
      height: 144px;
    }
    .catch .ttl {
      font-size: 187%;
    }
  }
  @media screen and (max-width: 768px) {
    .catch .logo svg {
      width: 128px;
      height: 128px;
    }
    .catch .ttl {
      font-size: 167%;
    }
  }
  @media screen and (max-width: 560px) {
    .catch .logo svg {
      width: 104px;
      height: 104px;
    }
    .catch .ttl {
      font-size: 116%;
    }
  }

/* breadcrumbs
*************************************************** */
  #breadcrumbs a {
    opacity: .5;
    transition: .4s all;
  }
  #breadcrumbs .bread_line {
    width: 2px;
    height: 14px;
    transform: translateY(3px) skewX(-35deg);
    display: inline-block;
    margin-left: 10px;
    margin-right: 10px;
    opacity: .25;
  }
  @media screen and (min-width: 961px) {
    #breadcrumbs a:hover {
      opacity: 1;
    }
  }


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

    HEADER

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

/* header
**************************************** */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
  }
  .header--logo {
    position: fixed;
    top: 20px;
    left: 16px;
    z-index: 1000;
    mix-blend-mode: exclusion;
    opacity: 0;
    pointer-events: none;
  }
  .header--logo {
    opacity: 1;
    pointer-events: all;
  }
  @media screen and (min-width: 561px) {
    .header--logo {
      display: none;
    }
  }

/* gnav
**************************************** */
  .gnav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: .35s ease-out;
    opacity: 0;
  }
  .gnav_btn {
    position: fixed;
    top: 24px;
    left: 24px;
    width: 80px;
    height: 48px;
    padding-left: 44px;
    color: #EDE1BE;
    mix-blend-mode: exclusion;
    z-index: 10001;
    opacity: 0;
    transform: translateX(-8px);
  }
  .scrolled .gnav_btn,
  .header.active + .gnav_btn,
  .subpage .gnav_btn {
    opacity: 1;
    transform: translateX(0px);
  }
  .gnav_btn--in {
    line-height: 1em;
  }
  .gnav_btn--lines {
    position: relative;
    width: 36px;
    height: 20px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4px;
  }
  .gnav_btn--lines span {
    position: absolute;
    overflow: hidden;
    transition: all .4s;
  }
  .gnav_btn--lines span::before {
    background-color: #EDE1BE;
  }
  .gnav_btn--lines .line-w {
    width: 100%;
    height: 2px;
    left: 0;
    transform: skewX(40deg);
  }
  .gnav_btn--lines .line-w:nth-of-type(1) {
    top: 0;
    left: -6px;
  }
  .gnav_btn--lines .line-w:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .gnav_btn--lines .line-w:nth-of-type(3) {
    bottom: 0;
    left: 6px;
  }
  .gnav_btn--lines .line-w::before,
  .gnav_btn--lines .line-h::before {
    animation-duration: .6s;
    animation-timing-function: cubic-bezier(.19,1,.22,1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-name: slide-to_rgt;
  }
  .gnav_btn--lines .line-h {
    width: 4px;
    height: 100%;
    left: calc(50% - 1px);
  }
  .gnav_btn--lines .line-h:nth-of-type(4) {
    transform: skewX(55deg);
  }
  .gnav_btn--lines .line-h:nth-of-type(5) {
    transform: skewX(-55deg);
  }
  .gnav_btn--lines .line-h::before{
    transform: translateY(-110%);
    animation-name: slide-rev_btm;
  }
  .gnav_btn--txt,
  .gnav_btn--txt span  {
    position: absolute;
    top: 50%;
  }
  .gnav_btn--txt {
    left: 0;
    display: inline-block;
    font-size: 70%;
  }
  .gnav_btn--txt span {
    left: 1em;
    transform: rotate(90.028deg) translate(-50%,-50%);
    transform-origin: 0 0;
  }
  .gnav .bg {
    position: absolute;
    top: 96px;
    left: 96px;
    z-index: -1;
    width: calc(100% - 192px);
    height: calc(100% - 192px);
    overflow: hidden;
    border-radius: 80px;
    background-color: #E8E9EC;
    opacity: 0;
  }
  .gnav--rgt {
    padding-left: 80px;
    padding-right: 80px;
  }
  .gnav .gnav--cont {
    max-width: 900px;
  }
  .gnav .page_list {
    margin-top: -40px;
    padding-left: 6px;
  }
  .gnav .page_list--item:not(:last-child) {
    margin-right: 0;
  }
  .gnav .page_list--item {
    width: 20%;
    margin-top: 40px;
  }
  .gnav .bnr_btn_list--item::before {
    opacity: .1;
  }

  /* --- active --- */
  .header.active .gnav {
    opacity: 1;
    pointer-events: all;
    transform: translate(0,0);
  }
  .gnav .gnav--logo,
  .gnav .page_list--item,
  .gnav .bnr_btn_list--item {
    opacity: 0;
  }
  .gnav .gnav--logo,
  .gnav .bnr_btn_list--item {
    transform: translateY(8px);
  }
  .gnav .bnr_btn_list--item {
    width: 32%;
  }
  .gnav .page_list--item {
    transform: translateX(8px);
  }
  .header.active .gnav--logo {
    transition-delay: .6s;
  }
  .header.active .gnav .bg {
    opacity: .2;
  }
  .header.active .gnav .page_list--item:nth-of-type(1) {
    transition-delay: .8s;
  }
  .header.active .gnav .page_list--item:nth-of-type(2) {
    transition-delay: .85s;
  }
  .header.active .gnav .page_list--item:nth-of-type(3) {
    transition-delay: .9s;
  }
  .header.active .gnav .page_list--item:nth-of-type(4) {
    transition-delay: .95s;
  }
  .header.active .gnav .page_list--item:nth-of-type(5) {
    transition-delay: 1s;
  }
  .header.active .gnav .page_list--item:nth-of-type(6) {
    transition-delay: 1.05s;
  }
  .header.active .gnav .page_list--item:nth-of-type(7) {
    transition-delay: 1.1s;
  }
  .header.active .gnav .page_list--item:nth-of-type(8) {
    transition-delay: 1.15s;
  }
  .header.active .gnav .page_list--item:nth-of-type(9) {
    transition-delay: 1.2s;
  }
  .header.active .gnav .bnr_btn_list--item:nth-of-type(1) {
    transition-delay: 1.35s;
  }
  .header.active .gnav .bnr_btn_list--item:nth-of-type(2) {
    transition-delay: 1.4s;
  }
  .header.active .gnav .bnr_btn_list--item:nth-of-type(3) {
    transition-delay: 1.45s;
  }
  .header.active .gnav--logo,
  .header.active .gnav .page_list--item,
  .header.active .gnav .bnr_btn_list--item {
    opacity: 1;
    transform: translate(0);
  }
  .gnav_btn.active .gnav_btn--lines .line-w::before {
    animation-name: slide-rev_rgt;
    transform: translateX(-110%);
  }
  .gnav_btn.active .gnav_btn--lines .line-h::before {
    animation-name: slide-to_btm;
  }
  @media screen and (min-width: 961px) {
    .gnav_btn:hover .gnav_btn--lines .line-w:nth-of-type(1) {
      transform: skewX(40deg) translateX(4px);
    }
    .gnav_btn:hover .gnav_btn--lines .line-w:nth-of-type(3) {
      transform: skewX(40deg) translateX(-4px);
    }
  }
  @media screen and (max-width: 1480px) {
    .gnav_btn {
      left: auto;
      left: inherit;
      right: 24px;
      padding-left: 0;
      padding-right: 16px;
      opacity: 1;
      transform: translateX(0px);
    }
    .gnav_btn--txt {
      left: calc(100% - 16px);
    }
    .gnav .bg {
      top: 80px;
      left: 80px;
      width: calc(100% - 160px);
      height: calc(100% - 160px);
    }
    .gnav--logo img {
      width: 160px;
      height: 160px;
    }
  }
  @media screen and (max-width: 960px) {
    .gnav {
      padding-top: 104px;
      padding-bottom: 104px;
      padding-left: 104px;
      padding-right: 104px;
    }
    .gnav .bg {
      top: 64px;
      left: 64px;
      width: calc(100% - 128px);
      height: calc(100% - 128px);
    }
    .gnav .page_list--item {
      width: 33.333%;
    }
  }
  @media screen and (max-width: 768px) {
    .gnav {
      padding-top: 40px;
      padding-bottom: 40px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .gnav .bg {
      top: 16px;
      left: 16px;
      width: calc(100% - 32px);
      height: calc(100% - 32px);
      border-radius: 24px;
    }
  }
  @media screen and (max-width: 560px) {
    .gnav_btn {
      top: 16px;
      right: 16px;
    }
    .gnav {
      padding-top: 80px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      overflow-y: scroll;
    }
    .gnav .bg {
      top: 8px;
      left: 8px;
      width: calc(100% - 16px);
      height: calc(100% - 16px);
      border-radius: 16px;
    }
    .gnav--logo img {
      width: 120px;
      height: 120px;
    }
    .gnav .page_list {
      margin-top: -32px;
    }
    .gnav .page_list--item {
      width: 50%;
      margin-top: 32px;
    }
    .gnav .bnr_btn_list {
      row-gap: 10px;
    }
    .gnav .bnr_btn_list--item-access {
      width: 100%;
    }
    .gnav .bnr_btn_list--item-access br {
      display: none;
    }
    .gnav .bnr_btn_list--item:not(.gnav .bnr_btn_list--item-access) {
      width: calc(50% - 5px);
    }
    .gnav_btn {
      padding-right: 0;
    }
    .gnav_btn--lines .line-w {
      transform: skewX(0deg);
    }
    .gnav_btn--lines .line-w:nth-of-type(1) {
      left: 0;
    }
    .gnav_btn--lines .line-w:nth-of-type(3) {
      left: 0;
    }
  }
  @media all and (-ms-high-contrast:none){
    .gnav_btn {
      color: #121d3f;
    }
    .gnav_btn--lines span::before {
      background-color: #121d3f;
    }
  }


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

    FOOTER

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

/* footer_news
*************************************************** */
  .footer_news .news_list .post {
    padding-left: 16px;
    padding-right: 40px;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .footer_news .news_list .post:first-child {
    border-top: 1px solid #efefef;
  }
  @media screen and (min-width: 1065px) {
    .footer_news .btn {
      position: absolute;
      bottom: 16px;
      left: -16px;
    }
    .footer_news .btn .btn--in {
      padding-top: 10px;
      padding-bottom: 10px;
      width: 196px;
    }
  }
  @media screen and (max-width: 1064px) {
    .footer_news .btn {
      margin-top: 48px;
    }
  }
  @media screen and (max-width: 560px) {
    .footer_news .btn {
      margin-top: 32px;
    }
  }

/* footer
*************************************************** */
  .footer--logo_nav {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  .footer--logo .logo-txt {
    display: block;
    margin-bottom: 6px;
  }
  .footer--logo .logo-txt img {
    height: 39px;
  }
  .footer--sub_copy {
    padding-top: 24px;
    padding-bottom: 24px;
    font-size: 70%;
    line-height: 1em;
  }
  .footer--sub_copy::before {
    opacity: .5;
    background-color: #040917;
  }
  .footer--sub_copy .sub_list--item:not(:last-child) {
    padding-right: 24px;
    margin-right: 24px;
  }
  .footer--sub_copy .sub_list--item:not(:last-child)::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    transform: skewX(-35deg);
    opacity: .4;
  }
  .footer--sub_copy .sub_list--item > * {
    cursor: pointer;
  }
  .footer.v2 .footer--nav {
    width: 820px;
    max-width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    column-gap: 24px;
  }
  .footer.v2 .bnr_btn_list-w,
  .footer.v2 .foot_bnr {
    width: calc(50% - 12px);
  }
  .footer.v2 .bnr_btn_list-w {
    row-gap: 12px;
    -webkit-flex-wrap: inherit;
    -ms-flex-wrap: inherit;
    flex-wrap: inherit;
  }
  .footer.v2 .bnr_btn_list-w .bnr_btn_list--item {
    width: 100%;
  }
  .footer.v2 .foot_bnr {
    border-radius: 8px;
    overflow: hidden;
  }
  @media (any-hover: hover) {
    .footer.v2 .foot_bnr:hover {
      opacity: .8;
    }
  }
  @media screen and (max-width: 1280px) {
    .footer {
      padding-bottom: 96px;
    }
    .page-faq .footer {
      padding-bottom: 0;
    }
  }
  @media screen and (max-width: 1064px) {
    .footer,
    .page-faq .footer {
      padding-bottom: 96px;
    }
  }
  @media screen and (max-width: 960px) {
    .footer--logo_nav {
      padding-top: 80px;
      padding-bottom: 80px;
    }
    .footer--logo_nav .inner {
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .footer--logo {
      margin-bottom: 48px;
    }
    .footer.v2 .foot_bnr {
      width: auto;
      display: table;
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media screen and (max-width: 768px) {
    .footer--logo_nav .inner {
      display: block;
    }
    .footer--nav .page_list {
      margin-top: -24px;
    }
    .footer--nav .page_list--item {
      width: 33.333%;
      margin-top: 24px;
      margin-right: 0;
    }
    .footer--sub_copy .inner {
      text-align: center;
      display: block;
    }
    .footer--sub_copy .sub_list {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-bottom: 20px;
    }
  }
  @media screen and (max-width: 560px) {
    .footer--logo {
      margin-bottom: 40px;
    }
    .footer--logo_nav {
      padding-top: 64px;
      padding-bottom: 64px;
    }
    .footer--logo .logo {
      display: inline-block;
      margin-bottom: 16px;
    }
    .footer--logo .logo svg,
    .footer--logo .logo-txt svg {
      display: block;
      margin-left: auto;
      margin-right: auto;
    }
    .footer--logo .logo svg {
      width: 120px;
      height: 120px;
    }
    .footer--logo .logo-txt svg {
      width: 100px;
    }
    .footer--nav .page_list {
      margin-bottom: 0;
      max-width: 360px;
      margin-left: auto;
      margin-right: auto;
    }
    .footer--nav .page_list--item {
      width: 50%;
    }
    .footer--nav .page_list--item .fnt-en,
    .footer--nav .page_list--item .fnt-jp {
      padding-left: 18px;
    }
    .footer--copy {
      letter-spacing: .3em;
    }
    .footer.v2 .page_list {
      margin-bottom: 32px;
    }
  }
  @media screen and (max-width: 374px) {
    .footer--sub_copy .sub_list--item:not(:last-child) {
      margin-right: 16px;
      padding-right: 16px;
    }
  }


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

    INDEX

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

/* hero
*************************************************** */
  .hero {
    height: calc(100vh - 120px);
    padding-left: 292px;
    padding-right: 292px;
  }
  .hero--img,
  .hero_slider--item .bg_img {
    width: calc(100vw - 292px * 2);
  }
  .hero--img {
    position: relative;
    top: 120px;
    left: 0;
    z-index: 1;
    height: calc(100vh - 120px * 2);
  }
  .hero_slider {
    position: absolute !important;
    z-index: -10;
  }
  .hero_slider .slick-list,
  .hero_slider .slick-track {
    height: 100%;
  }
  .hero_slider--item .img_wrap {
    width: 0;
    overflow: hidden;
  }
  .hero_slider--item .bg_img {
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
  .hero_slider--item:nth-of-type(1) .bg_img { background-image: url(../images/hero_img-01-pc.jpg); }
  .hero_slider--item:nth-of-type(2) .bg_img { background-image: url(../images/hero_img-02-pc.jpg); }
  .hero_slider--item:nth-of-type(3) .bg_img { background-image: url(../images/hero_img-03-pc.jpg); }
  .hero_slider--item:nth-of-type(4) .bg_img { background-image: url(../images/hero_img-04-pc.jpg); }
  .hero_slider--item:nth-of-type(5) .bg_img { background-image: url(../images/hero_img-05-pc.jpg); }
  .hero_slider--item.add-anm .img_wrap {
    width: 100%;
  }
  .hero_slider--item.add-anm .bg_img {
    transform: scale(1.075);
    transition-duration: 18s;
  }
  .hero .catch {
    position: absolute;
    top: 50%;
    left: 80px;
    translate: 0 -50%;
    z-index: 1;
    text-shadow: 0 2px 3px rgba(255, 255, 255, 0.3);
  }
  .hero .catch .ttl {
    line-height: 1.5em;
    font-size: 250%;
    letter-spacing: .2em;
  }
  .hero .catch .ttl .txt {
    display: table;
  }
  .hero .catch .ttl .txt,
  .hero .catch .ttl .txt::before {
    clip-path: inset(0 100% -20% 0);
  }
  .hero .catch .ttl .txt::before {
    z-index: -1;
  }
  .hero .catch .ttl .txt-1 {
    margin-bottom: .8em;
  }
  .hero.visible .catch .ttl .txt,
  .hero.visible .catch .ttl .txt::before {
    animation-timing-function: cubic-bezier(0.86,0,0.07,1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    animation-name: mask-to_rgt;
  }
  .hero.visible .catch .ttl .txt-1 {
    animation-delay: 1s;
  }
  .hero.visible .catch .ttl .txt-2 {
    animation-delay: 1.1s;
  }
  .hero.visible .catch .ttl .txt-1::before {
    animation-delay: 1.5s;
  }
  .hero.visible .catch .ttl .txt-2::before {
    animation-delay: 1.6s;
  }
  .hero--mov {
    z-index: 10;
    width: 100%;
    padding-top: 56.15%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
  }
  .hero--mov #video {
    transform: scale(1.01);
  }
  .hero--mov .texture {
    z-index: 1;
    background: linear-gradient(45deg, #222 25%, transparent 25%, transparent 75%, #222 75%),linear-gradient(45deg, #232323 25%, transparent 25%, transparent 75%, #232323 75%);
    background-size: 2px 2px;
    background-position: 0 0,1px 1px;
    opacity: 0.6;
  }
  .hero--mov .texture::before {
    opacity: .05;
    background-color: #fff;
  }
  .hero--nav {
    position: absolute;
  }
  .hero--nav {
    right: 0;
    top: 0;
    z-index: 1;
    min-width: 22.3vw;
    min-height: calc(100% - 200px);
    padding-top: 80px;
    padding-bottom: 80px;
    padding-right: 80px;
    padding-left: 220px;
  }
  .hero--nav .nav_list--item:not(:last-child) {
    margin-bottom: 20px;
  }
  .hero--nav .nav_list--item > * {
    cursor: pointer;
  }
  .hero--nav .nav_list--item .line {
    position: absolute;
    right: calc(100% + 14px);
    top: 0;
    width: 2px;
    height: 100%;
    z-index: -1;
    transform: skewX(-35deg);
    overflow: hidden;
  }
  .hero--nav .nav_list--item .line::before {
    transform: translateY(-110%);
    animation-duration: .4s;
    animation-timing-function: cubic-bezier(.19,1,.22,1);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-name: slide-rev_btm;
  }
  .hero .home_news {
    z-index: 100;
    left: 80px;
  }
  .hero .home_news {
    position: absolute;
    bottom: -40px;
    padding-top: 32px;
    padding-bottom: 32px;
    padding-left: 32px;
    padding-right: 32px;
    width: 520px;
  }
  .hero .home_news::before {
    opacity: .95;
    border-radius: 16px;
  }
  .hero .home_news .news_list .post {
    display: flex !important;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    border-bottom: none;
  }
  .hero .home_news .news_list .post::before {
    content: none;
  }
  .hero .home_news .slick-dots {
    bottom: -32px;
    left: -3px;
  }
  .hero .home_news .slick-dots li {
    margin-left: 3px;
    margin-right: 3px;
  }
  .hero .home_news .slick-dots button {
    width: 16px;
    height: 3px;
  }

  /* --- visible --- */
  .hero--mov,
  .hero .nav--in,
  .home_news {
    opacity: 0;
    transition: .8s cubic-bezier(0.645, 0.005, 0.355, 1);
    transition-delay: .8s;
  }
  .hero--mov {
    transform: translateY(32px);
    transition-delay: 0s;
  }
  .home_news {
    transform: translateX(32px);
  }
  .hero .nav--in {
    transform: translateX(-32px);
  }
  .hero--nav::before {
    transform: translateY(-110%);
  }
  .hero .news_list .post--ttl {
    width: calc(100% - 40px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .hero.visible .hero--nav::before {
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.645, 0.005, 0.355, 1);
    animation-name: slide-to_btm;
  }
  .hero.visible .hero--mov,
  .hero.visible  .nav--in,
  .hero.visible .home_news {
    opacity: 1;
    transform: translate(0);
  }
  @media screen and (min-width: 961px) {
    .hero--nav .nav_list--item > *:hover .line::before {
      animation-name: slide-to_btm;
    }
  }
  @media screen and (max-width: 1600px) {
    .hero {
      padding-left: 220px;
      padding-right: 220px;
    }
    .hero--img,
    .hero_slider--item .bg_img {
      width: calc(100vw - 220px * 2);
    }
    .hero--nav {
      min-height: calc(100% - 260px);
    }
    .hero--nav .logo svg {
      width: 96px;
      height: 96px;
      margin-bottom: 40px;
    }
    .hero--nav .nav_list--item:not(:last-child) {
      margin-bottom: 16px;
    }
    .hero .home_news {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
      width: 480px;
    }
    .hero .home_news .ttl_btn {
      line-height: 1em;
      margin-bottom: 16px;
    }
    .hero .news_list .post--ttl {
      margin-top: 4px;
    }
    .hero .home_news .slick-dots {
      bottom: -24px;
    }
  }
  @media screen and (max-width: 1480px) {
    .hero {
      margin-bottom: 80px;
      height: calc(100vh - 80px);
    }
    .hero .home_news {
      left: 40px;
      bottom: -16px;
    }
  }
  @media screen and (max-width: 1280px) {
    .hero {
      padding-left: 80px;
      padding-right: 80px;
      height: calc(77vh - 80px);
      margin-bottom: 186px;
    }
    .hero--img,
    .hero_slider--item .bg_img {
      width: calc(100vw - 80px * 2);
    }
    .hero--img {
      top: 80px;
      height: calc(100vh - 80px * 2);
    }
    .hero--nav::before {
      content: none;
    }
    .hero--nav .logo svg,
    .hero--nav .nav_list {
      display: none;
    }
    .hero--nav .logo svg {
      margin-bottom: 0;
    }
    .hero--img {
      top: 80px;
      left: 80px;
      height: calc(77vh - 80px * 2);
    }
    .hero .catch {
      top: 56%;
      left: 40px;
    }
    .hero .catch .ttl {
      font-size: 240%;
    }
    .hero .nav--in {
      transform: translateX(32px);
    }
    .hero .home_news {
      position: relative;
      bottom: 0;
      left: -80px;
      width: 100vw;
      margin-top: 80px;
      padding-top: 64px;
      padding-bottom: 40px;
      padding-left: 80px;
      padding-right: 80px;
    }
    .hero .home_news .slick-dots {
      bottom: -40px;
    }
  }
  @media screen and (max-width: 1064px) {
    .hero {
      padding-bottom: 0px;
    }
  }
  @media screen and (max-width: 960px) {
    .hero {
      margin-top: 96px;
    }
    .hero,
    .hero--img {
      height: 56.45vw;
    }
    .hero {
      padding-left: 64px;
      padding-right: 64px;
      margin-bottom: 188px;
    }
    .hero--img,
    .hero_slider--item .bg_img {
      width: calc(100vw - 64px * 2);
    }
    .hero--img {
      top: 0;
      left: 64px;
    }
    .hero .catch {
      left: 40px;
    }
    .hero .catch .ttl {
      font-size: 200%;
    }
    .hero--nav {
      left: 56px;
    }
    .hero--nav .logo svg {
      width: 100px;
      height: 100px;
    }
    .hero .home_news {
      left: -64px;
      margin-top: 64px;
      padding-top: 64px;
      padding-left: 56px;
      padding-right: 56px;
    }
  }
  @media screen and (max-width: 768px) {
    .hero {
      padding-left: 16px;
      padding-right: 16px;
      margin-bottom: 162px;
    }
    .hero--img,
    .hero_slider--item .bg_img {
      width: calc(100vw - 24px * 2);
    }
    .hero--img {
      left: 32px;
    }
    .hero .catch {
      left: 24px;
    }
    .hero .catch .ttl {
      font-size: 160%;
    }
    /*.hero_slider--item:nth-of-type(1) .bg_img { background-image: url(../images/hero_img-01-sp.jpg); }
    .hero_slider--item:nth-of-type(2) .bg_img { background-image: url(../images/hero_img-02-sp.jpg); }
    .hero_slider--item:nth-of-type(3) .bg_img { background-image: url(../images/hero_img-03-sp.jpg); }
    .hero_slider--item:nth-of-type(4) .bg_img { background-image: url(../images/hero_img-04-sp.jpg); }*/
    .hero .home_news {
      margin-top: 16px;
      left: -16px;
      padding-top: 40px;
      padding-left: 24px;
      padding-right: 24px;
    }
  }
  @media screen and (max-width: 560px) {
    .hero,
    .hero--img {
      height: 75vw;
    }
    .hero {
      margin-top: 80px;
      margin-bottom: 0;
      padding-left: 12px;
      padding-right: 12px;
    }
    .hero .catch {
      left: 16px;
    }
    .hero .catch .ttl {
      font-size: 116%;
    }
    .hero--img,
    .hero_slider--item .bg_img {
      width: calc(100vw - 22px * 2);
    }
    .hero--nav,
    .hero .home_news {
      display: none;
    }
    .hero--mov {
      padding-top: 62vw;
    }
  }

  /* --- hero v2 --- */
  @media (max-width: 560px) {
    .hero.v2 {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      height: auto;
      padding-top: 24px;
    }
    .hero.v2 .catch {
      position: static;
      order: 1;
      font-size: 120%;
      margin-bottom: 32px;
      translate: 0;
    }
    .hero.v2 .catch .ttl {
      line-height: 1em;
    }
    .hero.v2 .hero--img {
      order: 2;
      height: 70vw;
    }
  }
  @media (max-width: 374px) {
    .hero.v2 .catch {
      font-size: 106%;
      margin-bottom: 24px;
    }
  }

/* new_open
*************************************************** */
  .new_open {
    padding-top: 0;
  }
  .new_open .link_area {
    z-index: 10;
  }
  .new_open--in {
    padding-top: 64px;
    padding-bottom: 64px;
    padding-left: 20px;
    padding-right: 20px;
    overflow: hidden;
  }
  .new_open--cont {
    padding-top: 80px;
    padding-bottom: 80px;
    border-radius: 16px;
    background-color: rgba(255,255,255,.2);
    backdrop-filter: blur(10px);
    max-width: 100%;
    width: 1064px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 64px;
    padding-right: 64px;
  }
  .new_open--cont::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 12px;
    background-color: rgba(255,255,255,.6);
    border-radius: 4px;
  }
  .new_open--cont .ttl {
    font-size: 228%;
    line-height: 1.6em;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 72px;
    padding-right: 72px;
    margin-bottom: 56px;
    word-break: keep-all;
  }
  .new_open--cont .ttl .line {
    position: absolute;
    height: 3px;
  }
  .new_open--cont .ttl .line-top {
    top: 0;
    left: 0;
    width: 100%;
  }
  .new_open--cont .ttl .line-btm {
    bottom: 0;
    width: calc(50% - 20px);
  }
  .new_open--cont .ttl .line-btm_lft {
    left: 0;
  }
  .new_open--cont .ttl .line-btm_rgt {
    right: 0;
  }
  .new_open--cont .ttl .line-slash {
    top: calc(100% - 3px);
    left: calc(50% + 7px);
    width: 4px;
    height: 28px;
    transform: skewX(-40deg);
  }
  .new_open--cont .kirakira {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -54%;
    scale: 1.175;
  }
  .new_open--cont .head1 strong {
    padding-left: 0.5em;
  }
  .new_open .bg_img {
    object-fit: cover;
    object-position: center;
    scale: 1.025;
  }
  @media (any-hover: hover) {
    .new_open .bg_img {
      transition: 1.2s cubic-bezier(0.17,0.84,0.44,1);
    }
    .new_open--cont:hover + .bg_img {
      scale: 1;
    }
    .new_open--cont:hover {
      background-color: rgba(255,255,255,.15);
    }
    .new_open--cont:hover::before {
      background-color: rgba(255,255,255,.45);
      inset: 20px;
      border-radius: 8px;
    }
  }
  @media (max-width: 1280px) {
    .new_open {
      padding-top: 120px;
      padding-bottom: 0;
    }
  }
  @media (max-width: 1064px) {
    .new_open--cont .ttl {
      font-size: 172%;
      padding-top: 16px;
      padding-bottom: 16px;
      padding-left: 40px;
      padding-right: 40px;
      margin-bottom: 56px;
    }
    .new_open--cont .ttl .line {
      height: 2px;
    }
    .new_open--cont .ttl .line-btm {
      width: calc(50% - 16px);
    }
    .new_open--cont .ttl .line-slash {
      top: calc(100% - 2px);
      left: calc(50% + 6px);
      width: 3px;
      height: 24px;
    }
    .new_open--cont .txt-new_open {
      width: 480px;
    }
    .new_open--cont .head1 {
      font-size: 133%;
    }
  }
  @media (max-width: 560px) {
    .new_open {
      padding-top: 64px;
    }
    .new_open--in {
      padding-top: 32px;
      padding-bottom: 32px;
      padding-left: 12px;
      padding-right: 12px;
    }
    .new_open--cont {
      padding-top: 48px;
      padding-bottom: 48px;
      padding-left: 40px;
      padding-right: 40px;
    }
    .new_open--cont::before {
      inset: 8px;
      border-radius: 8px;
    }
    .new_open--cont .ttl {
      width: calc(100% - 24px);
      padding-left: 0;
      padding-right: 0;
      margin-bottom: 44px;
      font-size: 157%;
    }
    .new_open--cont .ttl .line-btm {
      width: calc(50% - 12px);
    }
    .new_open--cont .ttl .line-slash {
      left: calc(50% + 1px);
    }
    .new_open--cont .txt-new_open {
      width: 240px;
    }
    .new_open--cont .kirakira {
      scale: 1.3;
    }
    .new_open--cont .head1 {
      font-size: 120%;
    }
    .new_open--cont .btn {
      width: calc(100% - 20px);
    }
    .new_open--cont .btn .btn--in {
      width: 100%;
    }
    .new_open--cont .btn .btn--in {
      font-size: 100%;
    }
  }

/* access
*************************************************** */
  .access .side_column {
    width: 100%;
  }
  .access .gm iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .access .btn .btn--in {
    border-width: 1px;
    border-style: solid;
    padding-left: 24px;
    padding-right: 24px;
    width: 204px;
    font-size: 93%;
    letter-spacing: .1em;
  }
  .access .btn .btn--in .arrow_wrap {
    width: 6px;
    height: 6px;
    margin-left: 8px;
  }
  .access .btn .btn--in .arrow_wrap .arrow {
    border-top-width: 1px;
    border-right-width: 1px;
  }
  .access .gm,
  .access .gm::before {
    border-radius: 16px;
  }
  .access .gm {
    padding-top: 40%;
    overflow: hidden;
  }
  .access .gm::before {
    border-width: 8px;
    border-style: solid;
    z-index: 1;
    pointer-events: none;
    opacity: .25;
  }
  @media screen and (max-width: 1280px) {
    .access .inner {
      padding-top: 96px;
    }
  }
  @media screen and (max-width: 960px) {
    .access .gm {
      padding-top: 60%;
    }
  }
  @media screen and (max-width: 560px) {
    .access .inner {
      padding-top: 56px;
    }
    .access .side_column:not(.scr_cont-news) {
      margin-bottom: 24px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .access .side_column .sect_ttl {
      padding-bottom: 16px;
    }
    .access .side_column .sect_ttl .line3 {
      transform: translateX(0);
      left: 0;
    }
    .access .gm {
      padding-top: 110%;
    }
    .access .btn .btn--in {
      width: 186px;
      padding-left: 16px;
      padding-right: 16px;
    }
  }

/* promotion
*************************************************** */
  .promotion .inner {
    max-width: 1080px;
  }
  .promotion .sect_ttl .slash {
    opacity: .8;
  }
  .promotion .sect_ttl .slash:first-child {
    right: calc(100% + 40px);
  }
  .promotion .sect_ttl .slash:last-child {
    left: calc(100% + 40px);
  }
  .promotion .campaign_bnrs {
    padding-top: 112px;
  }
  .promotion .campaign_bnrs-sp {
    display: none;
  }
  .promotion .campaign_bnrs.arrow-area > .slick-prev,
  .promotion .campaign_bnrs.arrow-area > .slick-next {
    top: 112px;
    height: calc(100% - 112px);
    width: 100vw;
  }
  .promotion .campaign_bnrs.arrow-area > .slick-arrow::before,
  .promotion .campaign_bnrs.arrow-area > .slick-arrow::after {
    width: 32px;
    height: 32px;
  }
  .promotion .campaign_bnrs.arrow-area > .slick-prev {
    right: calc(100% + 8px);
  }
  .promotion .campaign_bnrs.arrow-area > .slick-next {
    left: calc(100% + 8px);
  }
  .promotion .campaign_bnrs.arrow-area > .slick-next::before {
    left: 16px;
  }
  .promotion .campaign_bnrs.arrow-area > .slick-prev::before {
    left: auto;
    left: inherit;
    right: 16px;
    translate: 100% 0;
  }
  .promotion .campaign_bnrs .slick-dots {
    top: 0;
    left: 0;
    width: 100%;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .promotion .campaign_bnrs .slick-dot::before,
  .promotion .campaign_bnrs .slick-dot::after {
    border-radius: 8px;
  }
  .promotion .campaign_bnrs .slick-dot::before {
    opacity: .05;
  }
  .promotion .campaign_bnrs .slick-dot::after {
    opacity: 0;
  }
  .promotion .campaign_bnrs .slick-active .slick-dot::before {
    opacity: 0;
  }
  .promotion .campaign_bnrs .slick-active .slick-dot::after {
    opacity: .25;
  }
  .promotion .campaign_bnrs .slick-list {
    overflow: visible;
  }
  .promotion .campaign_bnr {
    margin-left: 8px;
    margin-right: 8px;
  }
  .promotion .campaign_bnr--in {
    display: block;
  }
  .promotion .campaign_bnr--in::before {
    z-index: 1;
    pointer-events: none;
    border: 8px solid #f6f6f8;
    border-radius: 16px;
  }
  .promotion .campaign_bnr-styles a {
    z-index: 1;
    height: 90%;
    width: 29%;
    top: 5%;
    left: 35.2%;
  }
  .promotion .trial_campaign a {
    display: block;
  }
  .promotion .campaign_list--item {
    margin-left: 8px;
    margin-right: 8px;
  }
  @media (any-hover: hover) {
    .promotion .campaign_bnr-styles a:hover {
      background-color: rgba(255,255,255,.4);
    }
    .promotion .campaign_bnrs li:not(.slick-active) .slick-dot:hover::before {
      opacity: .1;
    }
    .promotion a:hover img {
      opacity: .6;
    }
  }
  @media screen and (min-width: 769px) {
    .promotion .sect_ttl br {
      display: none;
    }
  }
  @media (min-width: 1281px) {
    .promotion .sect_pdg {
      padding-top: 0;
    }
  }
  @media (max-width: 960px) {
    .promotion .campaign_bnrs.arrow-area > .slick-arrow::before,
    .promotion .campaign_bnrs.arrow-area > .slick-arrow::after {
      width: 22px;
      height: 22px;
    }
    .promotion .campaign_bnrs.arrow-area > .slick-prev::before {
      right: 8px;
    }
    .promotion .campaign_bnrs.arrow-area > .slick-next::before {
      left: 8px;
    }
  }
  @media screen and (max-width: 768px) {
    .promotion .sect_ttl {
      line-height: 1.2em;
    }
    .promotion .sect_ttl .slash:first-child {
      right: calc(100% + 64px);
    }
    .promotion .sect_ttl .slash:last-child {
      left: calc(100% + 64px);
    }
    .promotion .slider_wrap {
      max-width: 388px;
      margin-left: auto;
      margin-right: auto;
    }
    .promotion .campaign_list .slick-list {
      overflow: visible;
    }
    .promotion .campaign_list--item {
      margin-left: 16px;
      margin-right: 16px;
    }
    .promotion .arrow-area > .slick-next {
      left: 100%;
    }
    .promotion .arrow-area > .slick-prev {
      right: 100%;
    }
  }
  @media screen and (max-width: 560px) {
    .promotion .inner {
      max-width: calc(100% - 56px);
    }
    .promotion .campaign_bnrs-pc {
      display: none;
    }
    .promotion .campaign_bnrs-sp {
      display: block;
    }
    .promotion .campaign_bnrs {
      padding-top: 32px;
    }
    .promotion .campaign_bnrs.arrow-area > .slick-prev,
    .promotion .campaign_bnrs.arrow-area > .slick-next {
      top: 32px;
      height: calc(100% - 32px);
    }
    .promotion .campaign_bnrs.arrow-area > .slick-prev {
      right: calc(100% + 4px);
    }
    .promotion .campaign_bnrs.arrow-area > .slick-next {
      left: calc(100% + 4px);
    }
    .promotion .campaign_bnrs.arrow-area > .slick-arrow::before,
    .promotion .campaign_bnrs.arrow-area > .slick-arrow::after {
      width: 16px;
      height: 16px;
    }
    .promotion .campaign_bnr {
      margin-left: 4px;
      margin-right: 4px;
    }
    .promotion .campaign_bnr--in::before {
      content: none;
    }
    .promotion .sect_ttl .slash:first-child {
      right: calc(100% + 40px);
    }
    .promotion .sect_ttl .slash:last-child {
      left: calc(100% + 40px);
    }
    .promotion .trial_campaign img {
      width: 90%;
    }
    .promotion .slider_wrap {
      max-width: 85%;
    }
    .promotion .campaign_list--item {
      margin-left: 8px;
      margin-right: 8px;
    }
    .promotion .arrow-area > .slick-next {
      left: calc(100% - 6px);
    }
    .promotion .arrow-area > .slick-prev {
      right: calc(100% - 6px);
    }
  }
  @media screen and (max-width: 413px) {
    .promotion .sect_ttl {
      font-size: 129%;
    }
    .promotion .sect_ttl .slash:first-child {
      right: calc(100% + 28px);
    }
    .promotion .sect_ttl .slash:last-child {
      left: calc(100% + 28px);
    }
    .promotion .sect_ttl .slash:first-child {
      right: calc(100% + 40px);
    }
    .promotion .sect_ttl .slash:last-child {
      left: calc(100% + 40px);
    }
  }

/* message
*************************************************** */
  .message {
    overflow: hidden;
  }
  .message::before {
    content: '';
    position: absolute;
    top: 0;
    left: 37.5%;
    z-index: -1;
    width: 67vw;
    height: 100%;
    opacity: .04;
    transform: skew(-35deg);
  }
  .message .imgarea svg {
    display: block;
  }
  .message .txtarea {
    flex: 1;
    padding-left: 88px;
  }
  .message .area_list--item {
    font-size: 122%;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 100px;
  }
  .message .area_list--item:not(:last-child) {
    margin-right: 12px;
  }
  .message .area_list--item small {
    font-size: 76%;
  }
  @media screen and (max-width: 960px) {
    .message .imgarea {
      margin-bottom: 24px;
    }
    .message .imgarea svg {
      width: 144px;
      height: 144px;
    }
    .message .txtarea {
      padding-left: 0;
    }
  }
  @media screen and (max-width: 560px) {
    .message::before {
      left: 6.5%;
      width: 130vw;
    }
    .message .imgarea svg {
      width: 112px;
      height: 112px;
    }
    .message .area_list--item {
      font-size: 109%;
    }
    .message .txtarea .head2,
    .message .txtarea p {
      line-height: 2em;
    }
  }

/* scr_area
*************************************************** */
  @media screen and (max-width: 1064px) {
    .home .scr_area {
      padding-bottom: 0;
    }
  }

/* style
*************************************************** */
  .style_list--item {
    box-shadow: 0 4px 16px rgba(11,3,6,.04);
    border-radius: 16px;
    overflow: hidden;
  }
  .style_list--item:not(:last-child) {
    margin-bottom: 56px;
  }
  .style_list--item .style_list--item--in {
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 48px;
    padding-right: 48px;
    border-radius: 16px 16px 0 0;
  }
  .style_list--item .style_main .txtarea {
    flex: 1;
    padding-left: 48px;
  }
  .style_list--item .style_main .head1 {
    margin-right: 12px;
  }
  .style_list--item .style_box {
    height: 0;
    min-height: 0;
  }
  .style_list--item .style_detail {
    position: absolute;
    left: 50%;
    opacity: 0;
    pointer-events: none;
    width: calc(100% - 88px);
    transform: translate(-50%,16px);
  }
  .style_list--item.is_active .style_detail {
    opacity: 1;
    transform: translate(-50%,0px);
    pointer-events: all;
  }
  .style_list--item.is_active .style_detail .mov_bloc {
    margin-top: 40px;
  }
  .style_list--item.is_active .style_detail .frame_wrap {
    padding-top: 56.3%;
    border: 1px solid rgba(18,29,63,.1);
  }
  .style_list--item .detail_bloc:first-child {
    padding-top: 40px;
  }
  .style_list--item .detail_bloc:not(:last-child) {
    margin-bottom: 48px;
  }
  .style_list--item .btn .btn--in {
    width: 100%;
    border-radius: 0 0 16px 16px;
  }
  .style_list--item .btn .btn--in .txt {
    position: relative;
  }
  .style_list--item > .btn .btn--in .txt::before {
    content: '詳細を閉じる';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    color: #fff;
    white-space: nowrap;
  }
  .style_list--item .desc_attn {
    margin-top: 6px;
    color: #e70d33;
    font-size: 88%;
    line-height: 1.5em;
    font-weight: 700;
  }
  @media (any-hover: hover) {
    .style_list--item .detail_bloc .bnr:hover {
      opacity: .8;
    }
  }
  @media screen and (min-width: 561px) {
    .style_list--item-private .img_list,
    .style_list--item-bike .img_list {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
    }
    .style_list--item-private .img_list--item,
    .style_list--item-bike .img_list--item {
      width: 32%;
    }
  }
  @media screen and (max-width: 1280px) {
    .style_list--item .style_main {
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .style_list--item .style_main .imgarea img {
      width: 300px;
    }
  }
  @media screen and (max-width: 960px) {
    .style_list--item .style_main .txtarea {
      padding-left: 32px;
    }
    .style_list--item .style_list--item--in {
      padding-top: 40px;
      padding-bottom: 40px;
      padding-left: 40px;
      padding-right: 40px;
    }
  }
  @media screen and (max-width: 860px) {
    .style_list--item .style_main {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .style_list--item .style_main .imgarea img {
      width: 250px;
    }
    .style_list--item .style_main .txtarea {
      padding-left: 0;
      width: 100%;
      padding-top: 24px;
      flex: auto;
    }
    .style_list--item .style_main .txtarea .num_ttl {
      position: absolute;
      bottom: calc(100% + 40px);
      left: 282px;
    }

    .style_list--item .style_main .txtarea .ttl_wrap {
      margin-bottom: 0;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
  }
  @media screen and (max-width: 660px) {
    .style_list--item .style_list--item--in {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .style_list--item .style_main .imgarea img {
      width: 180px;
    }
    .style_list--item .style_main .txtarea {
      padding-top: 16px;
    }
    .style_list--item .style_main .txtarea .num_ttl {
      bottom: calc(100% + 18px);
      left: 204px;
    }
  }
  @media screen and (max-width: 560px) {
    .style_list--item .style_detail {
      width: calc(100% - 48px);
    }
    .style_list--item:not(:last-child) {
      margin-bottom: 32px;
    }
    .style_list--item .style_main .imgarea img {
      width: 140px;
    }
    .style_list--item .style_main .txtarea .num_ttl {
      bottom: calc(100% + 10px);
      left: 160px;
    }
    .style_list--item .style_main .head1 {
      margin-right: 0;
      font-size: 120%;
      margin-bottom: 4px;
    }
    .style_list--item .style_main .num_ttl h4 {
      font-size: 80%;
      margin-bottom: 2px;
    }
    .style_list--item .style_main .txt-frame {
      font-size: 93%;
    }
    .style_list--item-private .img_list--item img,
    .style_list--item-bike .img_list--item img {
      width: 100%;
    }
    .style_list--item-private .style_main .head1 {
      line-height: 1.4em;
    }
    .style_list--item-private .style_main .txtarea .num_ttl {
      bottom: calc(100% + 5px);
    }
  }
  @media screen and (max-width: 400px) {
    .style_list--item .style_main .imgarea img {
      width: 120px;
    }
    .style_list--item .style_main .txtarea .num_ttl {
      bottom: calc(100% + 6px);
      left: 140px;
    }
    .style_list--item-private .style_main .txtarea .num_ttl {
      bottom: calc(100% - 3px);
    }
  }

  /* --- trunk --- */
  .style_list--item .trunk_list > .slick-list {
    overflow: visible;
  }
  .style_list--item .trunk_list .slick-track {
    display: flex;
  }
  .style_list--item .trunk_list--item {
    padding-left: 20px;
    padding-right: 20px;
    height: auto !important;
  }
  .style_list--item .trunk_list--item .badge {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 1;
    font-size: 72%;
    line-height: 1em;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 100vmax;
    column-gap: 4px;
  }
  .style_list--item .trunk_list--item .badge img {
    width: 10px;
  }
  .style_list--item .trunk_list--item .desc_list--item:not(:last-child) {
    margin-bottom: 12px;
  }
  .style_list--item .trunk_list--item .desc_list--item-premium_desc {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .style_list--item .trunk_list--item .desc_list--item-premium_desc::before {
    border-radius: 10px;
    opacity: .1;
  }
  .style_list--item .trunk_list--item .desc_list--item-premium_desc .txt {
    font-size: 85%;
  }
  .style_list--item .trunk_list--item .btn {
    width: 48%;
  }
  .style_list--item .trunk_list--item .btn .btn--in {
    display: block;
    border-style: solid;
    border-width: 1px;
    border-radius: 100px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .style_list--item .trunk_list-std {
    padding-left: 62px;
    padding-right: 62px;
  }
  .style_list--item .trunk_list .slick-dots {
    top: -54px;
    right: 0;
    z-index: 1;
  }
  .style_list--item .trunk_list .slick-dots li {
    padding-top: 20px;
  }
  .style_list--item .trunk_list .slick-dots button {
    width: 20px;
  }
  .style_list--item .trunk_list .slick-dots button[data-type="F（本棚）"] {
    width: 64px;
    white-space: nowrap;
  }
  .style_list--item .trunk_list .slick-dots button::before {
    content: attr(data-type);
    letter-spacing: 0em;
    line-height: 1em;
    font-size: 14px;
  }
  .style_list--item .trunk_list-prem .trunk_list--item {
    width: 50%;
  }
  .style_list--item .trunk_list-prem .trunk_list--item .desc_list {
    padding-left: 16px;
    padding-right: 16px;
  }
  .style_list--item .trunk_list-prem .trunk_list--item .txt-frame {
    margin-top: 4px;
  }
  @media screen and (min-width: 801px) {
    .style_list--item .trunk_list-prem .slick-dots {
      display: none;
    }
  }
  @media screen and (max-width: 1280px) {
    .style_list--item .trunk_list-std {
      padding-left: 24px;
      padding-right: 24px;
    }
  }
  @media (max-width: 960px) {
    .style_list--item .trunk_list .slick-dots {
      top: -50px;
    }
  }
  @media screen and (max-width: 800px) {
    .style_list--item .trunk_list-std,
    .style_list--item .trunk_list-prem {
      padding-left: 80px;
      padding-right: 80px;
    }
    .arrow-area > .slick-arrow {
      width: 144px;
    }
    .arrow-area > .slick-prev {
      right: calc(100% - 100px);
    }
    .arrow-area > .slick-next {
      left: calc(100% - 100px);
    }
    .style_list--item .trunk_list-prem .trunk_list--item .desc_list {
      padding-left: 0;
      padding-right: 0;
    }
  }
  @media screen and (max-width: 700px) {
    .style_list--item .trunk_list-std,
    .style_list--item .trunk_list-prem {
      padding-top: 40px;
    }
    .style_list--item .trunk_list .slick-dots {
      top: 0;
      right: 50%;
      translate: 50% 0;
    }
    .style_list--item .trunk_list-std,
    .style_list--item .trunk_list-prem {
      padding-left: 24px;
      padding-right: 24px;
    }
    .arrow-area > .slick-arrow {
      width: 88px;
    }
    .arrow-area > .slick-prev {
      right: calc(100% - 44px);
    }
    .arrow-area > .slick-next {
      left: calc(100% - 44px);
    }
  }
  @media screen and (max-width: 560px) {
    .style_list--item .trunk_list-std,
    .style_list--item .trunk_list-prem {
      padding-top: 32px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .style_list--item .trunk_list--item {
      padding-left: 8px;
      padding-right: 8px;
    }
    .style_list--item .trunk_list .slick-dots li {
      padding-top: 16px;
      margin-left: 1px;
      margin-right: 1px;
    }
    .style_list--item .trunk_list .slick-dots button {
      width: 16px;
    }
    .style_list--item .trunk_list .slick-dots button[data-type="F（本棚）"] {
      width: 40px;
    }
    .style_list--item .trunk_list .slick-dots button::before {
      font-size: 11px;
    }
    .arrow-area > .slick-arrow {
      width: 48px;
    }
    .arrow-area > .slick-prev {
      right: calc(100% - 22px);
    }
    .arrow-area > .slick-next {
      left: calc(100% - 22px);
    }
    .style_list .arrow-area > .slick-arrow::before {
      top: 238px;
    }
    .style_list--item .trunk_list--item .btn .btn--in {
      font-size: 80%;
    }
    .style_list--item .trunk_list-prem .trunk_list--item .txt-frame {
      margin-bottom: 16px;
    }
  }
  @media screen and (max-width: 413px) {
    .style_list .arrow-area > .slick-arrow::before {
      top: 220px;
    }
  }
  @media screen and (max-width: 389px) {
    .style_list .arrow-area > .slick-arrow::before {
      top: 208px;
    }
  }
  @media screen and (max-width: 374px) {
    .style_list .arrow-area > .slick-arrow::before {
      top: 166px;
    }
  }

  /* --- is_active --- */
  .style_list--item.is_active > .btn .btn--in .txt {
    color: transparent;
  }
  .style_list--item.is_active > .btn .btn--in .txt::before {
    opacity: 1;
  }
  .style_list--item.is_active .btn .btn--in .plus .line:nth-of-type(1),
  .style_list--item.is_active .btn .btn--in .plus .line:nth-of-type(2) {
    transform: rotate(360deg);
  }

  /* --- detail_list --- */
  .style_list--item .style_detail .detail_list {
    margin-top: -16px;
  }
  .style_list--item .style_detail .detail_list--item {
    width: calc(50% - 12px);
    margin-top: 16px;
    padding-bottom: 16px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .style_list--item .style_detail .detail_list--item::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    opacity: .2;
  }
  @media screen and (max-width: 960px) {
    .style_list--item .style_detail .detail_list--item {
      width: 100%;
      padding-left: 12px;
      padding-right: 12px;
    }
  }

  /* --- cp_price --- */
  .cp_price {
    margin-top: 8px;
  }
  .cp_price h3 {
    color: #e70d33;
    font-size: 79%;
    line-height: 1.2em;
    letter-spacing: .1em;
    margin-bottom: 1px;
  }
  .cp_price p {
    color: #e70d33;
    font-weight: bold;
  }
  @media screen and (max-width: 374px) {
    .style_list--item .trunk_list--item .btn .btn--in .txt {
      letter-spacing: -.1em;
    }
  }

  /* --- availability --- */
  .availability {
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 64px;
    padding-right: 64px;
    background-color: #fff;
  }
  .availability table th,
  .availability table td {
    border: 1px solid #e8e8ec;
    vertical-align: middle;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .availability table th {
    font-size: 88%;
  }
  .availability table td {
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 1.6em;
  }
  .availability table .mark {
    font-size: 180%;
    line-height: 1em;
  }
  .availability table .attn_txt {
    letter-spacing: .1em;
    margin-top: -2px;
  }
  .availability table .size_txt {
    letter-spacing: .1em;
    font-weight: normal;
  }
  .availability table .type-label {
    display: inline-block;
    font-size: 143%;
    translate: 0 1px;
    margin-right: -2px;
  }
  .availability table .cp_price {
    margin-top: 4px;
    font-weight: bold;
  }
  .availability table .status-not td:nth-child(n+2) > * {
    opacity: .35;
  }
  .availability_modal .close {
    top: 8px;
    right: 8px;
  }
  .availability_bnr {
    margin-top: 56px;
    border-radius: 8px;
    background-color: rgb(17 30 64 / 5%);
    padding-top: 32px;
    padding-bottom: 40px;
    font-size: 157%;
    letter-spacing: 0.15em;
    cursor: pointer;
  }
  .availability_bnr p {
    row-gap: 16px;
  }
  .availability_bnr::before {
    top: 6px;
    left: 6px;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-radius: 4px;
    border: 1px solid #fff;
  }
  .availability_bnr .ppls {
    z-index: 1;
  }
  .availability_bnr .ppl {
    position: absolute;
    bottom: 0;
  }
  .availability_bnr .ppl-lft {
    left: 32px;
    width: 14%;
  }
  .availability_bnr .ppl-rgt {
    right: 24px;
    width: 16.5%;
  }
  .availability_bnr strong {
    font-weight: 700;
  }
  .availability_bnr .btn {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 10;
    translate: -50% 50%;
    min-width: 260px;
  }
  .availability_bnr .btn .btn--in {
    border-radius: 100vmax;
    font-size: 70%;
    letter-spacing: .2em;
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  @media (min-width: 375px) {
    .availability_bnr .xssp-show{
      display: none;
    }
  }
  @media (max-width: 960px) {
    .availability_bnr .ppl-lft {
      left: 16px;
    }
    .availability_bnr .ppl-rgt {
      right: 10px;
    }
  }
  @media (max-width: 768px) {
    .availability {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 16px;
      padding-right: 16px;
    }
    .availability table {
      width: 100%;
      display: block;
      overflow-x: auto;
      white-space: nowrap;
    }
    .availability table th,
    .availability table td {
      padding: 6px 12px;
    }
    .availability_modal .close {
      top: 4px;
    }
  }
  @media (max-width: 560px) {
    .availability {
      font-size: 80%;
    }
    .availability .scroll_txt {
      margin-bottom: 10px;
      margin-top: -16px;
      opacity: .5;
    }
    .availability_bnr {
      padding-top: 24px;
      padding-left: 24px;
      padding-right: 24px;
      font-size: 128%;
    }
    .availability_bnr .btn {
      min-width: 220px;
    }
    .availability_bnr p {
      row-gap: 12px;
    }
    .availability_bnr .txt {
      translate: 0 -2px;
    }
    .availability_bnr .line {
      width: 260px;
    }
    .availability_bnr .ppl-lft {
      left: 8px;
    }
    .availability_bnr .ppl-rgt {
      right: 2px;
    }
  }
  @media (any-hover: hover) {
    .availability table tbody tr:not(.status-not):hover {
      background-color: #f8f8f8;
    }
    .availability_bnr:hover {
      background-color: rgb(17 30 64 / 10%);
    }
  }

/* scr_area
*************************************************** */
  .scr_txt,
  .scr_imgs {
    width: 100%;
    background-size: auto 100%;
  }
  .scr_txt {
    z-index: 1;
    height: 148px;
    background-image: url(../images/common/scr_txt.png);
  }
  .scr_imgs {
    margin-top: -24px;
    height: 250px;
    background-image: url(../images/common/scr_imgs.jpg);
    background-repeat: repeat-x;
    animation-duration: 75s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: scr_imgs;
  }
  @media screen and (max-width: 560px) {
    .scr_txt {
      height: 60px;
    }
    .scr_imgs {
      margin-top: -8px;
      height: 125px;
      animation-name: scr_imgs-sp;
    }
  }

/* reason
*************************************************** */
  .reason_list--item:not(:last-child) {
    margin-bottom: 64px;
  }
  .reason_list--item .ico__ttl {
    padding-left: 64px;
    padding-right: 64px;
  }
  .reason_list--item .ico {
    width: 136px;
  }
  .reason_list--item .ttl_area {
    flex: 1;
    margin-left: 24px;
  }
  .reason_list--item .ttl_area .head {
    font-size: 229%;
  }
  .reason_list--item .ttl_area .num {
    font-size: 857%;
    letter-spacing: 0.05em;
    line-height: 1em;
    opacity: .075;
  }
  .reason_list--item .ico_list {
    padding-top: 32px;
    padding-bottom: 32px;
    background-color: #fff;
    border-radius: 16px;
  }
  .reason_list--item .ico_list--item {
    width: calc(100% / 3);
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .reason_list--item .ico_list--item:not(:last-child) {
    border-right: 3px solid #f6f6f8;
  }
  .reason_list--item .ico_list h4 {
    line-height: 1.6em;
  }
  @media screen and (max-width: 1280px) {
    .reason_list--item .ico__ttl {
      padding-left: 48px;
      padding-right: 48px;
    }
    .reason_list--item .ico {
      width: 112px;
    }
    .reason_list--item .ttl_area .head {
      font-size: 171%;
    }
    .reason_list--item .ttl_area .num {
      font-size: 642%;
    }
  }
  @media screen and (max-width: 768px) {
    .reason_list--item .ico__ttl {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    .reason_list--item .ttl_area {
      margin-left: 0;
      margin-bottom: 16px;
    }
    .reason_list--item .ttl_area .num {
      position: absolute;
      bottom: -9px;
      right: 0;
      z-index: -1;
      opacity: .05;
    }
  }
  @media screen and (max-width: 560px) {
    .reason_list--item {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .reason_list--item:not(:last-child) {
      margin-bottom: 40px;
    }
    .reason_list--item .ico__ttl {
      padding-left: 0;
      padding-right: 0;
    }
    .reason_list--item .ttl_area {
      margin-bottom: 10px;
    }
    .reason_list--item .ttl_area .head {
      font-size: 143%;
    }
    .reason_list--item .ttl_area .num {
      font-size: 443%;
      bottom: -6px;
      right: 16px;
    }
    .reason_list--item .ico_list {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      padding-top: 8px;
      padding-bottom: 8px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .reason_list--item .ico_list--item {
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      width: 100%;
    }
    .reason_list--item .ico_list--item:not(:last-child) {
      border-right: none;
      border-bottom: 2px solid #f6f6f8;
    }
    .reason_list--item .ico_list--item .ico_img {
      width: 64px;
      height: 64px;
      margin-bottom: 0;
    }
    .reason_list--item .ico_list h4 {
      text-align: left;
      -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
      flex: 1;
      margin-left: 16px;
      max-width: 160px;
      white-space: nowrap;
    }
  }

/* media
*************************************************** */
  .media .media_list {
    column-gap: 40px;
    row-gap: 64px;
  }
  .media .media_list--item {
    width: calc(50% - 20px);
  }
  .media .media_list--item .img_area,
  .media .media_list--item .img_area::before {
    overflow: hidden;
    border-radius: 16px;
  }
  .media .media_list--item .img_area {
    width: 100%;
    padding-top: 56.25%;
  }
  .media .media_list--item .img_area::before {
    z-index: 1;
    border-width: 6px;
    border-style: solid;
    opacity: .1;
  }
  .media .media_list--item .img_area .bg_img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .media .media_list--item .img_area .arrow_cir {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 64px;
    border-radius: 100%;
    transform: translate(-50%,-50%);
    background-color: rgba(255,0,0,.85);
  }
  .media_bloc-txt {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 48px;
    padding-right: 48px;
  }
  .media_bloc-txt::before {
    border-radius: 12px;
    opacity: .02;
  }
  .media_bloc-txt .list-disc li,
  .media_bloc-txt .list-disc li:not(:last-child) {
    border-bottom: 2px solid #0a122b;
    padding-bottom: 12px;
  }
  .media_bloc-txt .list-disc li:not(:last-child) {
    margin-bottom: 12px;
  }
  @keyframes arrow_mov {
    0% { transform: translateX(0); opacity: 1; }
    50% { transform: translateX(8px); opacity: 0; }
    51% { transform: translateX(-8px); opacity: 0; }
    100% { transform: translateX(0); opacity: 1;}
  }
  .media .media_list--item .img_area .arrow_cir .arrow {
    position: absolute;
    top: calc(50% - 6px);
    left: calc(50% - 4px);
    border-style: solid;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left-width: 10px;
    border-right-width: 0;
  }
  .media .media_list--item .ttl {
    font-weight: 500;
    line-height: 1.6em;
  }
  .media .media_list--item .ttl a::before {
    z-index: 1;
  }
  .media .media_list--item-goriraccho .bg_img {
    background-image: url(http://img.youtube.com/vi/o_TYKGCpcBU/hqdefault.jpg);
  }
  .media .media_list--item-furawan .bg_img {
    background-image: url(http://img.youtube.com/vi/xpzKIp7cvnE/maxresdefault.jpg);
  }
  .media .media_list--item-gutto .bg_img {
    background-image: url(../images/media_img-gutto.jpg);
  }
  @media screen and (min-width: 961px) {
    .media .media_list--item:hover .img_area .bg_img {
      opacity: .25;
    }
    .media .media_list--item:hover .img_area .arrow {
      animation-duration: 1s;
      animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
      animation-delay: 0s;
      animation-iteration-count: infinite;
      animation-fill-mode: forwards;
      animation-name: arrow_mov;
    }
  }
  @media screen and (max-width: 768px) {
    .media .media_list {
      column-gap: 24px;
      row-gap: 40px;
    }
    .media .media_list--item {
      width: calc(50% - 12px);
    }
    .media .media_list--item .img_area .arrow_cir {
      transform: translate(-50%,-50%) scale(.8);
    }
    .media_bloc-txt {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
    }
    .media_bloc-txt::before {
      border-radius: 8px;
    }
  }
  @media screen and (max-width: 560px) {
    .media .media_list {
      column-gap: 12px;
      row-gap: 24px;
    }
    .media .media_list--item {
      width: calc(50% - 6px);
    }
    .media .media_list--item .img_area,
    .media .media_list--item .img_area::before {
      border-radius: 8px;
    }
    .media .media_list--item .img_area {
      margin-bottom: 12px;
    }
    .media .media_list--item .img_area::before {
      border-width: 5px;
    }
    .media .media_list--item .img_area .arrow_cir {
      transform: translate(-50%,-50%) scale(.6);
    }
    .media .media_list--item .ttl {
      font-size: 75%;
      letter-spacing: .05em;
    }
    .media .head3 {
      font-size: 120%;
    }
    .media .head3 .line3 {
      margin-right: 16px;
    }
    .media .head4 {
      font-size: 109%;
    }
    .media .head4 .line3 {
      margin-right: 12px;
      width: 9px;
      height: 14px;
    }
    .media_bloc-txt {
      padding-left: 16px;
      padding-right: 16px;
    }
    .media_bloc-txt .list-disc li {
      font-size: 86%;
    }
  }
  @media screen and (max-width: 374px) {
    .media .media_list {
      column-gap: 0;
    }
    .media .media_list--item {
      width: 100%;
    }
  }

/* layout
*************************************************** */
  .layout_list--item:not(:last-child) {
    margin-bottom: 24px;
  }
  /* --- layout_modal ---- */
  .layout_modal .layout_list {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
    padding-right: 40px;
  }
  .layout_modal .current_area {
    opacity: 0;
  }
  .layout_modal .current_area.active {
    opacity: 1;
  }
  @media screen and (max-width: 560px) {
    .layout .side_column:not(.scr_cont-news) {
      margin-bottom: 24px;
    }
    .layout_modal .layout_list {
      padding-top: 24px;
      padding-bottom: 24px;
      padding-left: 24px;
      padding-right: 24px;
    }
  }

/* home_faq
*************************************************** */
  .home_faq_list {
    margin-top: -56px;
  }
  .home_faq_list--item {
    width: calc(33.333% - 16px);
    margin-top: 56px;
    padding-top: 24px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 24px;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,.01);
  }
  .home_faq_list--item::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: -1;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 11px;
  }
  .home_faq_list--item .home_faq--head {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
  }
  .line10 {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 38px;
    height: 6px;
    transform: translateX(-50%);
  }
  .line10 span {
    width: 1px;
    height: 100%;
    transform: skewX(-35deg);
  }
  .home_faq_list--item .home_faq--ppl {
    height: 120px;
  }
  .home_faq_list--item .home_faq--ttl {
    min-height: 76px;
    padding-bottom: 20px;
    line-height: 2em;
  }
  .home_faq_list--item-price li:not(:last-child) {
    margin-bottom: 12px;
  }
  .home_faq_list--item-price .ttl {
    margin-bottom: 2px;
  }
  .home_faq_list--item-price p {
    text-align: left;
    line-height: 1.4em;
  }
  .home_faq_list--item-price small {
    display: inline-block;
  }
  @media screen and (max-width: 1280px) {
    .home_faq_list--item {
      width: calc(50% - 16px);
    }
  }
  @media screen and (max-width: 1064px) {
    .home_faq .arrow-area > .slick-arrow {
      background: transparent;
    }
    .home_faq_list--item {
      margin-left: 16px;
      margin-right: 16px;
    }
  }
  @media screen and (max-width: 700px) {
    .home_faq .arrow-area > .slick-next {
      left: calc(100% - 64px);
    }
    .home_faq .arrow-area > .slick-prev {
      right: calc(100% - 64px);
    }
  }
  @media screen and (max-width: 560px) {
    .home_faq .side_column:not(.scr_cont-news) {
      margin-bottom: 56px;
    }
    .home_faq .arrow-area > .slick-next {
      left: calc(100% - 44px);
    }
    .home_faq .arrow-area > .slick-prev {
      right: calc(100% - 44px);
    }
  }

/* contact_bnrs
*************************************************** */
  .contact_bnrs {
    background-image: url(../images/contact_bnrs_bg_img.jpg);
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding-left: 104px;
    padding-right: 104px;
  }
  .contact_bnrs .bnr_btn_list-w .bnr_btn_list--item {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .contact_bnrs .bnr_btn_list-w .bnr_btn_list--item .ico {
    margin-right: 0;
  }
  .tel_area .attn_txt {
    margin-top: 28px;
  }
  .tel_num {
    line-height: 1em;
    font-size: 350%;
    letter-spacing: .1em;
    font-weight: 700;
  }
  .tel_num small {
    font-size: 68%;
  }
  @media screen and (max-width: 1280px) {
    .contact_bnrs .bnr_btn_list {
      display: none;
    }
  }
  @media screen and (max-width: 960px) {
    .contact_bnrs {
      padding-left: 0px;
      padding-right: 0px;
    }
  }
  @media screen and (max-width: 768px) {
    .tel_area img {
      max-width: 75%;
    }
    .tel_num {
      font-size: 280%;
      letter-spacing: .05em;
    }
  }
  @media screen and (max-width: 560px) {
    .contact_bnrs .bnr_btn_list-w .bnr_btn_list--item {
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .contact_bnrs .bnr_btn_list--item .ico {
      margin-bottom: 16px;
    }
    .contact_bnrs .bnr_btn_list--item h5 {
      font-size: 100%;
    }
    .contact_bnrs .bnr_btn_list--item p {
      font-size: 80%;
      line-height: 1.6em;
    }
    .tel_area img {
      max-width: 90%;
    }
    .tel_num {
      font-size: 200%;
    }
    .tel_area .fnt-xl {
      font-size: 108%;
    }
    .tel_area .attn_txt {
      margin-top: 16px;
      text-align: justify;
      font-size: 88%;
    }
  }


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

    PAGE

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

/* FAQ
**************************************** */
  .page-faq .faq_sect:not(:last-child) {
    margin-bottom: 96px;
  }
  .page-faq .faq_sect,
  .page-faq .faq_sect:nth-child(even) {
    background-color: transparent;
  }
  .page-faq .faq_sect .ico {
    width: 136px;
    height: 136px;
    overflow: hidden;
    border-radius: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .page-faq .faq_sect .ico-01 img {
    width: 112px;
    height: 106px;
  }
  .page-faq .faq_sect .ico-02 img {
    width: 106px;
    height: 111px;
  }
  .page-faq .faq_sect .ico-03 img {
    width: 112px;
    height: 112px;
  }
  .page-faq .faq_sect .ico-04 img {
    width: 115px;
    height: 107px;
  }
  .page-faq .faq_sect .ico-05 img {
    width: 133px;
    height: 119px;
  }
  .page-faq .faq_sect .ico-06 img {
    width: 106px;
    height: 112px;
  }
  .page-faq .scr_cont-main .faq_bloc {
    background-color: #fff;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 24px;
    padding-right: 24px;
    border-radius: 16px;
  }
  .page-faq .scr_cont-main .head1 {
    padding-bottom: 16px;
  }
  .page-faq .scr_cont-main .head1 .line3:first-child {
    margin-right: 24px;
  }
  .page-faq .scr_cont-main .head1 .line3:last-child {
    margin-left: 24px;
  }
  .page-faq .side_column--in {
    padding-right: 48px;
  }
  .page-faq .faq_bloc {
    box-shadow: 0 2px 8px rgba(0,0,0,.03);
  }
  .page-faq .faq_bloc:not(:last-child) {
    margin-bottom: 32px;
  }
  .page-faq .faq_bloc h3,
  .page-faq .faq_bloc p {
    padding-left: 24px;
  }
  .page-faq .faq_bloc h3::before,
  .page-faq .faq_bloc p::before {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 18px;
    text-align: center;
    font-family: 'Lato', sans-serif;
  }
  .page-faq .faq_bloc h3::before {
    content: 'Q';
    top: 0;
    color: #3c89cc;
  }
  .page-faq .faq_bloc p::before {
    content: 'A';
    top: -2px;
    font-size: 116%;
  }
  .page-faq .side--faq_item {
    border-style: solid;
    border-width: 2px;
    border-radius: 6px;
    padding-top: 3px;
    padding-left: 16px;
    padding-right: 16px;
    background-color: rgba(255,255,255,.5);
    overflow: hidden;
  }
  .page-faq .side--faq_item:not(:last-child) {
    margin-bottom: 16px;
  }
  .page-faq .side--faq_item .line3 {
    margin-right: 12px;
  }
  .page-faq .side--faq_item .line3 .line::before {
    opacity: .5;
  }
  .page-faq .side--faq_item > a {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 4px;
  }
  .page-faq .side--faq_item ul {
    display: none;
    font-size: 80%;
    line-height: 1.6em;
    padding-bottom: 12px;
  }
  .page-faq .side--faq_item ul li {
    padding-left: 16px;
  }
  .page-faq .side--faq_item ul li:not(:last-child) {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom-width:2px;
    border-bottom-style: solid;
  }
  .page-faq .side--faq_item ul li::before {
    content: '';
    position: absolute;
    top: 7px;
    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;
  }
  .page-faq .side--faq_item .active_line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    transform: translateX(-100%);
  }
  .page-faq .side--faq_item.active .active_line {
    transform: translateX(0);
  }
  .page-faq .bnr_btn_list-h {
    display: none;
  }
  @media screen and (max-width: 1064px) {
    .page-faq .side_column--in {
      padding-right: 0;
    }
  }
  @media screen and (max-width: 560px) {
    .page-faq .scr_cont-main .faq--bloc {
      padding-left: 16px;
      padding-right: 16px;
    }
    .page-faq .faq_bloc p {
      opacity: .6;
    }
  }

/* parivacy
**************************************** */
  .page-privacy .txtarea-privacy .head3 {
    margin-top: 32px;
  }
  @media screen and (max-width: 560px) {
    .page-privacy .head3 {
      margin-left: 0;
    }
  }

/* other_3rdcloaks
*************************************************** */
  .other_3rdcloaks .sect_ttl img {
    margin-left: 6px;
  }
  .other_3rdcloaks .other_list--item .img_area {
    border-radius: 12px;
    overflow: hidden;
  }
  .other_3rdcloaks .other_list--item .img_area img {
    transition-duration: 1.2s;
  }
  .other_3rdcloaks .other_list--item a.poa-bf::before {
    z-index: 1;
  }
  .other_3rdcloaks .other_list--item .ttl {
    text-align: left;
    word-break: keep-all;
    line-height: 1.6em;
  }
  @media (any-hover: hover) {
    .other_3rdcloaks .other_list--item:hover .img_area img {
      scale: 1.05;
    }
  }
  @media (max-width: 560px) {
    .other_3rdcloaks .other_list {
      max-width: 430px;
      margin-left: auto;
      margin-right: auto;
    }
    .other_3rdcloaks .sect_ttl img {
      margin-left: 4px;
      width: 133px;
      transform: translateY(1px);
    }
  }


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

    ARCHIVE

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

/* main_column
**************************************** */
  .main_column {
    flex: 1;
    width: calc(100% - 300px);
  }

  /* --- post --- */
  .post { position: relative; }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post--date {
    opacity: .5;
  }
  .cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .post--img {
    width: 100%;
    padding-top: 68.25%;
  }
  .post--img .img_src {
    background-position: center;
    background-repeat: no-repeat;
  }
  .post--img .img_src:not(.no_img) {
    background-size: cover;
  }
  .post--img .img_src.no_img {
    background-image: url(../images/common/no_img.svg);
    background-color: #e4e4e4;
  }
  .cat_list a {
    display: inline-block;
    vertical-align: middle;
    font-size: 79%;
    color: #f6f6f6;
    line-height: 1;
    padding: 6px 12px;
    border-radius: 2px;
    float: left;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
  }

  @media screen and (max-width: 1064px) {
    .main_column {
      width: 100%;
      margin-right: 0;
    }
  }

/* side_column
**************************************** */
  .side_column { width: 300px; }
  .archive-news #news .side_column--in,
  .single-news #news .side_column--in { padding-left: 64px; }
  .side_sect:not(:last-child) { margin-bottom: 64px; }
  .side--ttl {
    font-size: 120%;
    letter-spacing: .2em;
    line-height: 1;
    margin-bottom: 16px;
  }
  .side--ttl small {
    font-size: 62%;
    opacity: .5;
    letter-spacing: .15em;
    display: block;
    line-height: 1;
    margin-top: 8px;
  }
  @media screen and (max-width: 1280px) {
    .side_column--in {
      padding-left: 24px;
    }
  }
  @media screen and (max-width: 1064px) {
    .archive-news #news .side_column--in,
    .single-news #news .side_column--in { padding-left: 0; }
  }

  /* --- post --- */
  .posts-side .post:not(:last-child) { margin-bottom: 16px; }
  .posts-side .post--img {
    margin-right: 16px;
    border-radius: 3px;
    padding-top: 0;
    width: 64px;
    height: 64px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .posts-side .txtarea { flex: 1; }
  .posts-side .post--date { margin-bottom: 0; }
  .posts-side .post--ttl { line-height: 1.4; }

  /* --- archive --- */
  .side_column .archive_list--ttl::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(135deg);
    transition: .4s ease-out;
  }
  .side_column .archive_list--ttl.active::after { transform: rotate(315deg); }
  .side_column .archive_month { display: none; }
  @media screen and (min-width: 1065px) {
    .search_btn {
      display: none;
    }
  }
  @media screen and (max-width: 1064px) {
    .side_column:not(.scr_cont-news),
    .side_column:not(.scr_cont-news) .inner-wrapper-sticky {
      position: static !important;
      transform: none !important;
      width: 100% !important;
    }
    .page-faq .faq .side_column {
      position: fixed !important;
      top: 0;
      left: 0;
      z-index: 10000;
      width: 100%;
      height: 100% !important;
      margin-bottom: 0;
      padding-top: 80px;
      padding-bottom: 72px;
      padding-left: 24px;
      padding-right: 24px;
      overflow-y: scroll;
      opacity: 0;
      pointer-events: none;
      transition: .4s all;
      background-color: #fff;
    }
    .side_column:not(.scr_cont-news) {
      margin-bottom: 56px;
    }
    .side_column.scr_cont-news,
    .side_column.scr_cont-news .inner-wrapper-sticky {
      position: static !important;
      transform: none !important;
      width: 100% !important;
    }
    .side_column.scr_cont-news {
      order: 1;
      width: 100%;
      display: none;
      opacity: 1;
      padding: 0;
      pointer-events: all;
      transition: inherit;
    }
    .side_column .side_column--in { padding-left: 0; }
    .page-faq .faq .side_column.is_show {
      opacity: 1;
      pointer-events: all;
    }
    .archive:not(.archive-news) .side_column.is_show {
      opacity: 1;
      pointer-events: all;
    }
    .side_column::before {
      content: ;
    }
    .side_column--in {
      position: static !important;
      transform: initial !important;
    }
    .side_sect:not(:last-child) {
      margin-bottom: 32px;
    }
    .search_btn {
      font-size: 93%;
    }
    .search_btn--plus {
      width: 32px;
      height: 32px;
      border-radius: 100%;
      overflow: hidden;
      margin-right: 12px;
    }
    .search_btn--plus::before {
      opacity: .8;
    }
    .search_btn--plus .line {
      position: absolute;
      top: 50%;
      left: calc(50% - 5px);
      width: 10px;
      height: 1px;
    }
    .search_btn--plus .line:nth-of-type(2) {
      transform: rotate(90deg);
    }
    .search_btn.active .search_btn--plus .line:nth-of-type(1) {
      transform: rotate(180deg);
    }
    .search_btn.active .search_btn--plus .line:nth-of-type(2) {
      transform: rotate(360deg);
    }
  }
  @media screen and (max-width: 560px) {
    .side_column:not(.scr_cont-news) {
      position: relative !important;
      z-index: 1;
      margin-bottom: 40px;
    }
  }

/* news
*************************************************** */
  .archive-news .news_list .post {
    border-bottom: 2px solid #fff;
  }
  .news_side {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid #fff;
  }
  .news_side .archive-pd {
    position: relative;
    margin-left: auto;
    z-index: 1;
    cursor: pointer;
  }
  .news_side .archive_label--ttl {
    font-size: 80%;
    opacity: .5;
  }
  .news_side .archive_label--btn {
    cursor: pointer;
    border: none;
    outline: none;
    appearance: none;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 40px;
    background-color: transparent;
    height: 30px;
    line-height: 30px;
    font-size: 85%;
    letter-spacing: .1em;
  }
  .news_side .archive_label--btn::before {
    content: '';
    position: absolute;
    top: 11px;
    right: 10px;
    display: block;
    width: 6px;
    height: 6px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-right-width: 1px;
    border-right-style: solid;
    transform: rotate(45deg);
    transition: .4s cubic-bezier(.07, .51, .12, 1);
    transform-origin: 50% 50%;
  }
  .news_side .active .archive_label--btn::before {
    top: 14px;
    transform: rotate(225deg);
  }
  .news_side .archive_list {
    display: none;
    z-index: 1;
    margin-top: 16px;
  }
  .news_side .archive_list--item {
    font-size: 92%;
  }
  .news_side .archive_list--item:not(:last-child) {
    margin-bottom: 12px;
  }
  .news_side .archive_list a {
    display: block;
    padding-left: 12px;
    line-height: 1.6em;
    text-align: left;
    font-size: 92%;
  }
  .news_side .archive_list a::before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    opacity: 0;
    transform: scale(.5);
  }
  .news_side .archive_child_list {
    margin-top: 8px;
  }
  .news_side .archive_child_list--item:not(:last-child) {
    margin-bottom: 6px;
  }
  .news_side .archive_child_list--item a {
    padding-left: 24px;
    font-size: 80%;
  }
  .news_side .archive_child_list--item a::before {
    top: calc(50% - 1px);
    left: 12px;
    width: 3px;
    height: 3px;
  }
  .archive-news .wp-pagenavi {
    margin-top: 40px;
  }
  @media screen and (min-width: 961px) {
    .news_side .archive_list a:hover::before {
      opacity: 1;
      transform: scale(1);
    }
  }
  @media screen and (max-width: 1064px) {
    .news_side {
      padding-top: 16px;
      padding-bottom: 16px;
    }
  }
  @media screen and (max-width: 960px) {
    .news_side .archive_list a {
      padding-left: 0;
    }
    .news_side .archive_child_list--item a {
      padding-left: 8px;
    }
  }
  @media screen and (max-width: 560px) {
    .archive-news .wp-pagenavi {
      margin-top: 24px;
    }
  }

/* blog
**************************************** */
  .archive .posts-blog .post {
    padding-top: 48px;
    padding-bottom: 48px;
    border-bottom: 2px solid rgba(0,0,0,.1);
  }
  .posts-blog .post:first-child {
    padding-top: 0;
  }
  .posts-blog .post:last-child {
    border-bottom: none;
  }
  .posts-blog .post--txtarea {
    flex: 1;
  }
  .posts-blog .post--date {
    margin-right: 16px;
    font-weight: bold;
    margin-bottom: 4px;
  }
  @media screen and (max-width: 1064px) {
    .posts-blog { margin-bottom: 56px; }
    .archive .fix_wrap.flex,
    .single .fix_wrap.flex {
      display: block;
    }
    .archive .main_column,
    .single .main_column {
      overflow: visible;
      margin-right: 0;
    }
    .archive-blog .main_column,
    .single-blog .main_column {
      margin-bottom: 64px;
    }
    .archive-news .container .main_column,
    .single-news .container .main_column {
      order: 2;
      margin-top: 48px;
    }
  }
  @media screen and (max-width: 560px) {
    .archive-blog .main_column,
    .posts-blog {
      margin-bottom: 24px;
    }
    .single-blog .main_column {
      margin-bottom: 48px;
    }
    .posts-blog .post {
      display: block;
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .posts-blog .post--date {
      margin-bottom: 0;
    }
    .posts-blog .post--img {
      padding-left: 0;
      margin-right: auto;
      margin-left: auto;
      margin-bottom: 16px;
      text-align: center;
    }
    .posts-blog .post--img img {
      width: auto;
      max-width: 100%;
    }
  }

/* news
**************************************** */

  /* --- news--archive --- */
  .news--archive {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #121d3f;
  }
  .news--archive li {
    margin-left: 8px;
    margin-right: 8px;
  }
  .news--archive a {
    color: #fff;
  }

  /* --- news_list --- */
  .news_list .post {
    padding-bottom: 32px;
    padding-top: 32px;
    padding-right: 48px;
    padding-left: 24px;
    margin-bottom: 0;
    border-bottom: 1px solid #efefef;
  }
  .news_list .post.no_hov .post--link::before {
    content: none;
  }
  .news_list .post::before {
    opacity: 0;
  }
  .news_list .post--date {
    margin-right: 24px;
    transform: translateY(1px);
  }
  .news_list .post--cats {
    z-index: 1;
  }
  .news_list .post--cats a {
    font-size: 75%;
    border: 1px solid rgba(0,0,0,.25);
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 100px;
    opacity: .5;
  }
  .news_list .post--cats a:not(:last-child) {
    margin-right: 6px;
  }
  .news_list .post--ttl {
    width: 100%;
    margin-top: 8px;
    font-weight: normal;
  }
  .news_list .post--ttl .arrow_wrap {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    overflow: hidden;
  }
  .news_list .post--ttl .arrow {
    position: absolute;
    top: calc(50% - 4px);
    left: calc(50% - 6px);
    width: 8px;
    height: 8px;
  }
  .news_list .post--ttl .arrow::before {
    transform: rotate(45deg);
    border-top-width: 1px;
    border-top-style: solid;
    border-right-width: 1px;
    border-right-style: solid;
  }
  @media screen and (min-width: 961px) {
    .news_list .post:hover::before {
      opacity: .02;
    }
    .news_list .post--cats a:hover {
      opacity: 1;
      background-color: rgba(0,0,0,.04);
      border-color: transparent;
    }
    .news_list .post:hover .arrow {
      animation-duration: .8s;
      animation-timing-function: cubic-bezier(0.07, 0.51, 0.12, 1);
      animation-delay: 0s,.4s;
      animation-iteration-count: 1;
      animation-direction: normal;
      animation-fill-mode: forwards;
      animation-play-state: running;
      animation-name: slide-rev_rgt-lg,slide-to_rgt-lg;
    }
  }
  @media screen and (max-width: 960px) {
    .news_list .post {
      padding-left: 0;
      padding-right: 26px;
    }
    .news_list .post--ttl .arrow_wrap {
      right: 4px;
    }
    .news_list .post--date {
      margin-right: 16px;
      transform: translateY(1px);
    }
    .news_list .post--ttl {
      margin-top: 6px;
    }
  }


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

    SINGLE

############################################################################## */
  .wp-pagenavi {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    justify-content: center;
    -webkit-justify-content: center;
  }
  .wp-pagenavi a,
  .wp-pagenavi span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    border: 1px solid #f4f4f4;
    font-weight: bold;
    line-height: 1.4;
    padding: 8px 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: .4s all;
    margin: 0 0 0 -1px;
    color: #121d3f;
  }
  .wp-pagenavi span.current {
    background-color: #0ab4c4;
    border-color: #0ab4c4;
    color: #fff;
  }
  .pn_list {
    padding-top: 48px;
    border-top: 2px solid #121d3f;
  }
  .pn_list--item {
    width: 45%;
  }
  .pn_list--item-next {
    margin-left: auto;
  }
  .pn_list--item a.poa {
    z-index: 1;
  }
  .pn_list--item .post-pn {
    height: 80px;
  }
  .pn_list--item img {
    width: 80px;
    margin-right: 12px;
  }
  .pn_list--item h3 {
    font-weight: normal;
    line-height: 1.6em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  @media  only screen and (min-width: 961px) {
    .wp-pagenavi a:hover {
      background-color: #121d3f;
      border-color: #121d3f;
      color: #fff;
    }
    .pn_list--item:hover {
      opacity: .6;
    }
  }
  @media screen and (max-width: 560px) {
    .pn_list--item {
      width: 50%;
    }
    .pn_list--item .post-pn {
      display: none;
    }
  }
  @media screen and (max-width: 320px) {
    .wp-pagenavi a,
    .wp-pagenavi span {
      padding: 6px 12px;
    }
  }

/* shop
*************************************************** */
  .single-shop .features .sect_ttl .slash {
    opacity: 1;
  }
  .single-shop .features_list--item {
    box-shadow: 0 4px 16px rgba(11,3,6,.04);
    border-radius: 12px;
    padding: 20px;
  }
  .single-shop .features_list--item .img_area {
    margin-bottom: 16px;
  }
  .single-shop-875 .layout_list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    column-gap: 40px;
  }
  .single-shop-875 .layout_list--item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1;
  }
  .single-shop-875 .layout_list--item:not(:last-child) {
    margin-bottom: 0;
  }
  @media (max-width: 768px) {
    .single-shop-875 .layout_list {
      column-gap: 40px;
    }
  }
  @media (max-width: 560px) {
    .single-shop .features_list--item .ttl {
      height: auto !important;
      margin-bottom: 6px;
    }
    .single-shop-875 .layout_list {
      column-gap: 24px;
      /*-webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 320px;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;*/
    }
    .layout_modal .layout_list {
      padding-right: 64px;
    }
  }

/* news
*************************************************** */
  .single-news .news--info {
    padding-top: 64px;
    padding-bottom: 64px;
    padding-left: 64px;
    padding-right: 64px;
    box-shadow: 0 2px 8px rgba(0,0,0,.03);
    border-radius: 24px;
  }
  .single-news .attn {
    position: relative;
    line-height: 58px;
    font-size: 150%;
    padding-left: 32px;
    padding-right: 32px;
  }
  .single-news .attn::before,
  .single-news .attn::after {
    content: '';
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-top-width: 29px;
    border-bottom-width: 29px;
    border-top-color: transparent;
    border-bottom-color: transparent;
  }
  .single-news .attn::before {
    left: -1px;
    border-right-width: 0px;
    border-left-width: 18px;
    border-right-color: transparent;
  }
  .single-news .attn::after {
    right: -1px;
    border-right-width: 18px;
    border-left-width: 0px;
    border-left-color: transparent;
  }
  .single-news .cp_ttl {
    background:transparent;
    padding: 0;
    font-size: 280%;
    line-height: 1.5em;
    margin-bottom: 16px;
  }
  .single-news .bg_ptrn-slash {
    position: relative;
    z-index: 0;
    background-image: url(../images/common/slash-yel.png);
    background-size: 12px;
    padding: 12px;
  }
  .single-news .bg_ptrn-slash::before {
    content: '';
    background: #fff;
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: -1;
    width: calc(100% - 24px);
    height: calc(100% - 24px);
  }
  .single-news .bg_ptrn-slash table {
    margin: 0;
    border: none;
  }
  .single-news .mce-content-body .bg_ptrn-slash table th {
    background-color: rgb(245 204 64 / 5%);
  }
  .single-news .mce-content-body .bg_ptrn-slash table th,
  .single-news .mce-content-body .bg_ptrn-slash table td {
    border-color: #f5cd40;
    border-style: dotted;
  }
  .single-news .mce-content-body .bg_ptrn-slash table tr:last-child th,
  .single-news .mce-content-body .bg_ptrn-slash table tr:last-child td {
    border-bottom: none;
  }
  @media screen and (max-width: 768px) {
    .single-news .bg_ptrn-slash {
      padding: 8px;
    }
    .single-news .bg_ptrn-slash::before {
      top: 8px;
      left: 8px;
      width: calc(100% - 16px);
      height: calc(100% - 16px);
    }
    .single-news .mce-content-body .bg_ptrn-slash table th {
      border: none;
    }
  }
  @media screen and (max-width: 560px) {
    .single-news .attn {
      font-size: 116%;
      line-height: 48px;
    }
    .single-news .attn::before,
    .single-news .attn::after {
      border-top-width: 24px;
      border-bottom-width: 24px;
    }
    .single-news .news--info {
      padding-top: 32px;
      padding-bottom: 32px;
      padding-left: 24px;
      padding-right: 24px;
      border-radius: 16px;
    }
  }


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

    CONTACT FORM

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

/* contact - layout
*************************************************** */
  .contact {
    padding-top: 20px;
  }
  .contact .tel {
    line-height: 1.9em;
  }
  .contact .fukidashi {
    position: absolute;
    right: 24px;
    bottom: 100%;
  }
  .contact .fukidashi .cmnt_ppl {
    margin-top: 80px;
  }
  .contact .fukidashi .cmnt_box {
    width: 132px;
    height: 132px;
    border-radius: 100%;
    margin-left: -24px;
    line-height: 1.6em;
  }
  .contact .fukidashi .cmnt_box::before {
    content: '';
    position: absolute;
    left: 2px;
    bottom: 2px;
    border-style: solid;
    border-top-width: 21px;
    border-right-width: 9px;
    border-left-width: 9px;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
    transform: rotate(45deg);
    z-index: -1;
  }
  @media screen and (max-width: 1064px) {
    .contact {
      padding-top: 0;
    }
  }
  @media screen and (max-width: 960px) {
    .contact .fukidashi {
      right: -24px;
    }
    .contact .fukidashi .cmnt_ppl {
      margin-top: 64px;
    }
    .contact .fukidashi .cmnt_ppl img {
      width: 104px;
    }
    .contact .fukidashi .cmnt_box {
      width: 104px;
      height: 104px;
      line-height: 1.6em;
      font-size: 80%;
      letter-spacing: .05em;
    }
  }
  @media screen and (max-width: 560px) {
    .contact .fukidashi {
      right: 4px;
      z-index: -1;
      text-align: center;
    }
    .contact .fukidashi .cmnt_box {
      width: 80px;
      height: 80px;
      font-size: 70%;
      margin-left: -80px;
    }
    .contact .fukidashi .cmnt_box::before {
      left: 50%;
      bottom: -12px;
      transform: translateX(-50%) rotate(0deg);
    }
    .contact .fukidashi .cmnt_ppl {
      margin-top: 96px;
    }
    .contact .fukidashi .cmnt_ppl img {
      width: 72px;
    }
  }

/* form_flow
*************************************************** */
  .form_flow_list {
    order: 1;
    margin-bottom: 80px;
    margin-left: auto;
    margin-right: auto;
  }
  .form_flow_list--item {
    width: 33.333%;
    font-size: 125%;
    padding-bottom: 20px;
  }
  .form_flow_list--item:last-child {
    z-index: -1;
  }
  .form_flow_list--item:not(:last-child) {
    border-right: none;
  }
  .form_flow_list--item::before,
  .form_flow_list--item::after {
    content: '';
    position: absolute;
    background-color: #E8E9EC;
  }
  .form_flow_list--item::before {
    left: 50%;
    bottom: -5px;
    width: 11px;
    height: 11px;
    border-radius: 100%;
    transform: translateX(-50%);
    z-index: 0;
  }
  .form_flow_list--item::after {
    bottom: -1px;
    left: 50%;
    z-index: -1;
    width: 100%;
    height: 3px;
  }
  .form_flow_list--item:last-of-type::after {
    content: none;
  }
  .form_flow_list--item-input::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete)::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-input::after,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item::before,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item:not(.form_flow_list--item-complete)::after {
    background-color: #eec139;
  }
  .mw_wp_form:not(.mw_wp_form_confirm):not(.mw_wp_form_complete) .form_flow_list .form_flow_list--item-input::before,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-confirm::before,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item-complete::before {
    transform: translateX(-50%) scale(1.4);
  }
  .mw_wp_form:not(.mw_wp_form_confirm):not(.mw_wp_form_complete) .form_flow_list .form_flow_list--item-input,
  .mw_wp_form_confirm .form_flow_list .form_flow_list--item-confirm,
  .mw_wp_form_complete .form_flow_list .form_flow_list--item-complete {
    color: #0ab4c4;
  }
  .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: #E8E9EC;
  }
  @media screen and (max-width: 960px) {
    .form_flow_list {
      width: 100%;
    }
    .form_flow_list--item {
      font-size: 100%;
      letter-spacing: 0em;
      line-height: 1.6em;
    }
  }
  @media screen and (max-width: 560px) {
    .form_flow_list {
      margin-bottom: 20px;
    }
    .form_flow_list--item::before {
      width: 9px;
      height: 9px;
      bottom: -4px;
    }
  }
  @media screen and (max-width: 320px) {
    .form_flow_list--item {
      font-size: 90%;
    }
  }

/* COMMON
*************************************************** */
  #contact_pos {
    top: 0;
    left: 0;
    position: absolute;
  }
  @media screen and (max-width: 560px) {
    .form_area {
      position: relative;
    }
  }

  #cf_form,
  #cf_form::before,
  #contact .tel_area,
  #contact .tel_area::before {
    border-radius: 16px;
  }
  #cf_form,
  #contact .tel_area {
    padding: 80px;
    box-shadow: 0 4px 8px rgba(0,0,0,.02);
  }
  #cf_form::before,
  #contact .tel_area::before {
    width: calc(100% - 48px);
    height: calc(100% - 48px);
    top: 24px;
    left: 24px;
  }
  #cf_form .sect_ttl .slash,
  #contact .tel_area .sect_ttl .slash {
    top: .2em;
    opacity: .75;
  }
  #cf_form .sect_ttl .slash:first-child,
  #contact .tel_area .sect_ttl .slash:first-child {
    right: calc(100% + 40px);
  }
  #cf_form .wpcf7-form > br {
    display: none;
  }
  #cf_form table {
    width:100%;
    margin-top: -16px;
  }
  #cf_form th,
  #cf_form td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
    vertical-align: middle;
  }
  #cf_form th {
    width: 100% !important;
    border-bottom:none;
    padding-top: 12px;
    padding-bottom: 8px;
    white-space: normal;
    font-weight: bold;
    text-align: left;
    opacity: 0.5;
  }
  #cf_form td {
    padding-top: 0;
    padding-bottom: 12px;
    padding-left: 0;
  }
  #cf_form table input[type="text"],
  #cf_form table input[type="email"],
  #cf_form table input[type="tel"],
  #cf_form table input[type="date"],
  #cf_form table input[type="password"],
  #cf_form table textarea {
    width: 100%;
    vertical-align: bottom;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
  }
  #cf_form table input[type="text"],
  #cf_form table input[type="email"],
  #cf_form table input[type="tel"],
  #cf_form table input[type="date"],
  #cf_form table input[type="password"] {
    height: 44px;
    line-height: 44px;
  }
  #cf_form table input[type="text"],
  #cf_form table input[type="email"],
  #cf_form table input[type="tel"],
  #cf_form table input[type="date"],
  #cf_form table input[type="password"],
  #cf_form select,
  #cf_form textarea {
    margin: 0;
    padding-left: 16px;
    padding-right: 16px;
    font: inherit;
    font-size: 100%;
    border: 1px solid #e7e8eb;
    border-radius: 4px;
    background: transparent;
  }
  #cf_form textarea {
    height: 120px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  #cf_form select {
    height: 36px;
    padding-bottom: 2px;
    margin-right: 6px;
    transform: translateY(1px);
  }
  #cf_form .tbl-form.v2 .ttl__date .ttl {
    font-weight: 600;
    font-size: 88%;
    opacity: .8;
  }
  #cf_form .tbl-form.v2 .cf_date {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1;
  }
  #cf_form .tbl-form.v2 .cf_date select {
    margin-right: 0;
    margin-left: 12px;
    height: 44px;
    width: calc(100% - 24px);
  }
  #cf_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #cf_form input:hover { opacity: .7; }
  #cf_form textarea:hover { opacity: .7; }
  @media screen and (max-width: 560px) {
    #cf_form table input[type="text"],
    #cf_form table input[type="email"],
    #cf_form table input[type="tel"],
    #cf_form table input[type="date"],
    #cf_form table input[type="password"],
    #cf_form table textarea {
      font-size: 16px;
    }
    #cf_form .sect_ttl,
    #contact .tel_area .sect_ttl {
      font-size: 130%;
    }
    #cf_form .sect_ttl .slash,
    #contact .tel_area .sect_ttl .slash {
      top: .4em;
      width: 5px;
      opacity: .5;
      height: 80%;
    }
    #cf_form .sect_ttl .slash:first-child,
    #contact .tel_area .sect_ttl .slash:first-child {
      right: calc(100% + 24px);
    }
    #cf_form .sect_ttl .slash:last-child,
    #contact .tel_area .sect_ttl .slash:last-child {
      left: calc(100% + 24px);
    }
  }

/* radio & checkbox
*************************************************** */
  #cf_form .cf_rc input[type="radio"],
  #cf_form .cf_rc input[type="checkbox"] { display: none !important; }
  #cf_form .cf_rc .mwform-radio-field {
    margin-left: 0;
    display: block;
    margin-right: 16px;
  }
  #cf_form .cf_rc .mwform-radio-field-text,
  #cf_form .cf_rc .mwform-checkbox-field-text {
    height: 30px;
    line-height: 30px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding-left: 24px;
    padding-right: 8px;
    cursor: pointer;
    white-space: nowrap;
  }
  #cf_form .cf_rc .mwform-radio-field-text:hover { opacity: .7; }
  #cf_form .cf_rc .mwform-radio-field-text::before,
  #cf_form .cf_rc .mwform-checkbox-field-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
  }
  #cf_form .acceptance input[type="checkbox"] {
    position: relative;
    margin-right: 8px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
  }
  #cf_form .cf_rc .mwform-radio-field-text::before,
  #cf_form .cf_rc .mwform-checkbox-field-text::before,
  #cf_form .acceptance input[type="checkbox"] {
    width: 15px;
    height: 15px;
    border: 1px solid #e7e8eb;
  }
  #cf_form .cf_rc input[type="radio"] + .mwform-radio-field-text::before { border-radius: 10px; }
  #cf_form .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::after,
  #cf_form .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::after,
  #cf_form .acceptance input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    z-index: 10;
    display: block;
  }
  #cf_form .cf_rc input[type="radio"]:checked + .mwform-radio-field-text::after {
    top: 13px;
    left: 5px;
    width: 5px;
    height: 5px;
    background-color: #0ab4c4;
    border-radius: 100%;
  }
  #cf_form .cf_rc input[type="checkbox"]:checked + .mwform-checkbox-field-text::after,
  #cf_form .acceptance input[type="checkbox"]:checked::after {
    top: 10px;
    left: 5px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #0ab4c4;
    border-bottom: 2px solid #0ab4c4;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #cf_form .style_type .cf_rc .mwform-radio-field label::after {
    display: inline-block;
    margin-top: 5px;
    margin-left: -8px;
    font-size: 86%;
  }
  #cf_form .style_check.disabled {
    pointer-events: none;
    opacity: .35;
  }
  #cf_form .style_check {
    display: block;
  }
  #cf_form .style_check .cf_rc .mwform-checkbox-field {
    display: block;
    margin-left: 0;
  }
  #cf_form .style_check .cf_rc .mwform-checkbox-field:not(:last-child) {
    margin-bottom: 8px;
  }
  #cf_form .style_check .cf_rc.trunk_type p:not(.cf_form--support) {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #cf_form .style_check .cf_rc.trunk_type .mwform-checkbox-field {
    width: 25%;
  }
  #cf_form .style_check .cf_rc.trunk_type .mwform-checkbox-field:not(:last-child) {
    margin-bottom: 0;
  }
  #cf_form .mw_wp_form_confirm .style_check.disabled {
    display: none;
  }
  #cf_form .mw_wp_form_confirm .select {
    width: 100%;
    margin-top: 8px;
  }
  #cf_form .mw_wp_form_confirm .style_check .cf_rc::before,
  #cf_form .mw_wp_form_confirm .style_check .select::before {
    display: block;
    opacity: .5;
    font-size: 85%;
  }
  #cf_form .mw_wp_form_confirm .style_check .cf_rc::before {
    content: '\25BC\53CE\7D0D\30B9\30BF\30A4\30EB';
  }
  #cf_form .mw_wp_form_confirm .style_check .select::before {
    content: '\25BC\30C8\30E9\30F3\30AF\30EB\30FC\30E0\30BF\30A4\30D7';
  }
  @media screen and (max-width: 560px) {
    #cf_form .style_check .cf_rc.trunk_type .mwform-checkbox-field {
      width: 33.333%;
    }
  }
  @media screen and (max-width: 414px) {
    #cf_form .style_check .cf_rc.trunk_type .mwform-checkbox-field {
      width: 50%;
    }
  }

/* address
*************************************************** */
  #cf_form .cf_add > div {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    column-gap: 12px;
  }
  #cf_form .cf_add .txt {
    width: 40px;
    line-height: 44px;
    text-align: right;
  }
  .mw_wp_form_confirm #cf_form .cf_add .txt,
  .mw_wp_form_confirm #cf_form .tour_date p {
    line-height: inherit;
    font-size: 85%;
    opacity: .5;
    font-weight: 700;
    translate: 0 1px;
  }
  #cf_form .cf_add input[type="text"] {
    width: calc(100% - 52px);
  }
  #cf_form .cf_zip input[type="text"] {
    max-width: 200px;
  }
  #cf_form .cf_add .error {
    padding-left: 52px;
    width: 100%;
  }
  @media (max-width: 560px) {
    #cf_form .cf_add > div {
      column-gap: 8px;
    }
    #cf_form .cf_add .txt {
      width: 30px;
      font-size: 85%;
    }
    #cf_form .cf_add input[type="text"] {
      width: calc(100% - 38px);
    }
    #cf_form .cf_add .error {
      padding-left: 38px;
    }
  }

/* date
*************************************************** */
  #cf_form table .tour_date > th {
    padding-top: 0;
    display: flex;
  }
  #cf_form table .tour_date > th > *,
  #cf_form table .tour_date > td > .flx > * {
    width: 50%;
  }
  #cf_form table .cf_date input[type="text"] {
    letter-spacing: .1em;
    width: 90%;
  }
  #cf_form table .cf_time select {
    height: 44px;
    transform: translateY(0);
  }
  @media screen and (max-width: 560px) {
    #cf_form table .tour_date > th > *,
    #cf_form table .tour_date > td > .flx > * {
      width: 100%;
    }
    #cf_form table .tour_date > th > *.ttl-time {
      display: none;
    }
    #cf_form table .tour_date > td > * {
      display: block;
    }
    #cf_form table .tour_date > td .cf_time::before {
      content: '希望時間帯';
      display: block;
      width: 100%;
      opacity: 0.5;
      margin-top: 12px;
      margin-bottom: 8px;
    }
  }

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

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

  /* --- required --- */
  .cf_form .required,
  .cf_form .any {
    display: inline-block;
    line-height: 1em;
    color: #fff;
    margin-right: 12px;
    font-size: 70%;
    border-radius: 100px;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 10px;
    padding-right: 8px;
    transform: translateY(-2px);
  }
  .cf_form .required {
    background-color: #e70d33;
  }
  .cf_form .any {
    background-color: #8f8f8f;
  }

  /* --- cf_form--btns --- */
  .cf_form--btns {
    padding-top: 32px;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .cf_form--btns input {
    min-width: 360px;
    font-weight: bold;
    padding-left: 32px;
    padding-right: 32px;
    margin-right: 8px;
    margin-left: 8px;
    border: none;
    border-radius: 100px;
    line-height: 56px;
    letter-spacing: .1em;
    text-align: center;
    font-size: inherit;
    letter-spacing: .5em;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition-duration: .4s;
  }
  .mw_wp_form_confirm .cf_form--btns input {
    min-width: 280px;
  }
  .contact_btn-simple .cf_form--btns input,
  .contact_btn-grad .cf_form--btns input,
  .contact_btn-circle .cf_form--btns input,
  .contact_btn-brackets .cf_form--btns input {
    border: none;
    color: #fff;
  }
  .contact_btn-line .cf_form--btns input,
  .contact_btn-stylish .cf_form--btns input {
    background-color: transparent;
    border-width: 1px solid;
    border-style: solid;
    border-radius: 0;
  }
  .contact_btn-circle .cf_form--btns input {
    border-radius: 100px;
  }
  .contact_btn-brackets .cf_form--btns input {
    border-radius: 0;
  }

  /* --- error --- */
  .mw_wp_form .error {
    margin-top: 8px;
    line-height: 1em;
    color: #ea1339 !important;
    font-weight: bold;
  }

  /* --- style_check select --- */
  .mw_wp_form_confirm .style_check .select {
    width: 100%;
    margin-top: 6px;
  }
  .mw_wp_form_confirm .style_check .select .cf_form--support {
    display: block;
    margin-top: 1px;
    margin-right: 10px;
  }

  @media screen and (max-width: 768px) {
    #cf_form,
    #contact .tel_area {
      padding: 40px;
    }
    #cf_form::before,
    #contact .tel_area::before {
      width: calc(100% - 24px);
      height: calc(100% - 24px);
      top: 12px;
      left: 12px;
    }
    .form_flow_list {
      margin-bottom: 48px;
    }
    .cf_form--btns {
      padding-top: 16px;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .cf_form--btns input {
      max-width: 280px;
      min-width: auto;
      margin-left: auto;
      margin-right: auto;
    }
    .cf_form--btns input:not(:last-child) {
      margin-bottom: 8px;
    }
  }
  @media only screen and (max-width: 560px) {
    #cf_form .form_txt {
      text-align: justify;
    }
    #cf_form,
    #contact .tel_area {
      padding-left: 28px;
      padding-right: 28px;
    }
    #cf_form .cf_rc .wpcf7-list-item {
      display: block;
    }
    #cf_form .style_check .select .cf_form--support {
      margin-top: 1px;
      margin-right: 8px;
    }
    #cf_form .cf_zip input[type="text"] {
      width: calc(100% - 23px);
      margin-right: 0;
    }
    .cf_form--btns {
      padding-top: 16px;
    }
    .cf_form--btns input {
      width: 100%;
      height: 45px;
      line-height: 45px;
      background-size: contain;
      background-position: center;
    }
  }


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

    DATE PICKER

############################################################################## */
  .ui-widget.ui-widget-content {
    border: 1px solid #f0f0f0 !important;
    padding: 10px !important;
    background: #f6f6f8;
    box-shadow: 0 4px 8px rgb(0 0 0 / 5%);
  }
  .ui-widget-header {
    background: #fff !important;
    border: none !important;
  }
  .ui-datepicker select.ui-datepicker-month,
  .ui-datepicker select.ui-datepicker-year {
    width: 38% !important;
    border: none !important;
    margin-left: 3% !important;
    margin-right: 3% !important;
    margin-bottom: 3px !important;
    font-size: 85% !important;
    font-weight: bold !important;
    padding-top: 2px;
    padding-bottom: 2px;
  }
  .ui-state-default,
  .ui-widget-content .ui-state-default,
  .ui-widget-header .ui-state-default,
  .ui-button, html .ui-button.ui-state-disabled:hover,
  html .ui-button.ui-state-disabled:active {
    background: #fff !important;
    border: none !important;
    text-align: center;
    line-height: 25px;
    letter-spacing: 0em;
  }
  .ui-datepicker td {
    padding: 2px !important;
  }


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

    WIN

############################################################################## */
.win .btn .btn--in .txt {
  display: inline-block;
  transform: translateY(1px);
}
.win .cf_form .required,
.win .cf_form .any {
  padding-top: 5px;
  padding-bottom: 3px;
}