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

    COMMON

############################################################################## */
  html {
    height: 100%;
    overflow-y: scroll;
  }
  body {
    font: 15px/1.231 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
    font-weight: 500;
    font-feature-settings: "palt";
    *font-size: small;
    *font: x-small;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    height: 100%;
    overflow: unset !important;
  }
  ul,
  ol { list-style: none; }
  small { font-size: 86%; }
  a {
    text-decoration: none;
    outline : none;
  }
  a:hover {
    text-decoration: none;
  }
  @media screen and (max-width: 560px) {
    body {
      font-size: 14px;
      line-height: 1.8em;
      -webkit-text-size-adjust: none;
    }
    img {
      max-width: 100%;
      height: auto;
    }
  }

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

  /* --- 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 --- */
  .btm4 { margin-bottom: 4px; }
  .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; }
  .btm128 { margin-bottom: 128px; }
  .btm136 { margin-bottom: 136px; }
  .btm144 { margin-bottom: 144px; }
  .rgt4 { margin-right: 4px; }
  .rgt8 { margin-right: 8px; }
  .rgt16 { margin-right: 16px; }
  .rgt24 { margin-right: 24px; }
  .rgt32 { margin-right: 32px; }
  .rgt40 { margin-right: 40px; }
  .rgt48 { margin-right: 48px; }
  .rgt56 { margin-right: 56px; }
  .rgt64 { margin-right: 64px; }
  .rgt72 { margin-right: 72px; }
  .rgt80 { margin-right: 80px; }
  .rgt88 { margin-right: 88px; }
  .rgt96 { margin-right: 96px; }
  .rgt104 { margin-right: 104px; }
  .rgt112 { margin-right: 112px; }
  .rgt120 { margin-right: 120px; }
  .lft4 { margin-left: 4px; }
  .lft8 { margin-left: 8px; }
  .lft16 { margin-left: 16px; }
  .lft24 { margin-left: 24px; }
  .lft32 { margin-left: 32px; }
  .lft40 { margin-left: 40px; }
  .lft48 { margin-left: 48px; }
  .lft56 { margin-left: 56px; }
  .lft64 { margin-left: 64px; }
  .lft72 { margin-left: 72px; }
  .lft80 { margin-left: 80px; }
  .lft88 { margin-left: 88px; }
  .lft96 { margin-left: 96px; }
  .lft104 { margin-left: 104px; }
  .lft112 { margin-left: 112px; }
  .lft120 { margin-left: 120px; }

  /* --- pc or sp --- */
  .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; }
  .sp-none { display: block; }
  .sp-none-inline { display: inline; }
  .sp-none-table { display: table; }
  .sp-none-flx {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  /* --- overflow --- */
  .ofh { overflow: hidden;}

  @media screen and  (max-width: 1064px) {
    .lgpc-none {
      display: block;
    }
  }
  @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;
    }
    .btm24 { margin-bottom: 16px; }
    .btm32 { margin-bottom: 24px; }
    .btm40 { margin-bottom: 32px; }
    .btm48 { margin-bottom: 40px; }
    .btm56 { margin-bottom: 48px; }
    .btm64 { margin-bottom: 56px; }
    .btm72 { margin-bottom: 64px; }
    .btm80 { margin-bottom: 72px; }
    .btm88 { margin-bottom: 80px; }
    .btm96 { margin-bottom: 88px; }
    .btm104 { margin-bottom: 96px; }
    .btm112 { margin-bottom: 104px; }
    .btm120 { margin-bottom: 112px; }
    .btm128 { margin-bottom: 120px; }
    .btm136 { margin-bottom: 128px; }
    .btm144 { margin-bottom: 136px; }
    .rgt16 { margin-right: 8px; }
    .rgt24 { margin-right: 12px; }
    .rgt32 { margin-right: 16px; }
    .rgt40 { margin-right: 20px; }
    .rgt48 { margin-right: 24px; }
    .rgt56 { margin-right: 28px; }
    .rgt64 { margin-right: 32px; }
    .rgt72 { margin-right: 36px; }
    .rgt80 { margin-right: 40px; }
    .rgt88 { margin-right: 44px; }
    .rgt96 { margin-right: 48px; }
    .rgt104 { margin-right: 52px; }
    .rgt112 { margin-right: 56px; }
    .rgt120 { margin-right: 60px; }
    .lft16 { margin-left: 8px; }
    .lft24 { margin-left: 12px; }
    .lft32 { margin-left: 16px; }
    .lft40 { margin-left: 20px; }
    .lft48 { margin-left: 24px; }
    .lft56 { margin-left: 28px; }
    .lft64 { margin-left: 32px; }
    .lft72 { margin-left: 36px; }
    .lft80 { margin-left: 40px; }
    .lft88 { margin-left: 44px; }
    .lft96 { margin-left: 48px; }
    .lft104 { margin-left: 52px; }
    .lft112 { margin-left: 56px; }
    .lft120 { margin-left: 60px; }
    .rgt-none-tab { margin-right: 0; }
    .lft-none-tab { margin-left: 0; }
  }
  @media screen and  (max-width: 560px) {
    .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; }
    .rgt-none-sp { margin-right: 0; }
    .lft-none-sp { margin-left: 0; }
    .btm-none-sp { margin-bottom: 0; }
    .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;
    }
  }
  *:last-child {
    margin-bottom: 0;
  }

/* flex
**************************************** */
  
  /* --- ブロック要素 --- */
  .flx {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .flx-rev {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  /* --- インライン要素 --- */
  .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-aro-j {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* --- 垂直方向揃え --- */
  .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-bsln-a {
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
  .flx-str-a {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  /* --- 子要素の折り返し設定 --- */
  .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-bsln-c {
    -webkit-align-content: baseline;
    -ms-flex-line-pack: baseline;
    align-content: baseline;
  }
  .flx-str-c {
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
  }
  
  .flx-1 {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1;
  }

  @media screen and (max-width: 1064px) {
    /* --- 縦並び - sp --- */
    .flx-smpc-blc {
      display: block;
    }
  }
  @media screen and (max-width: 960px) {
    .flx-tab-blc {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  @media screen and (max-width: 560px) {
    /* --- 縦並び - sp --- */
    .flx-sp-blc {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }

/* txt
**************************************** */
  .txt-ctr { text-align: center; }
  .txt-rgt { text-align: right; }
  .txt-attn {
    font-size: 88%;
    opacity: .7;
  }
  .txtarea p:not(:last-child) { margin-bottom: 1em; }
  .tbl-ctr {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .fnt-bold { font-weight: bold; }
  .fnt-lighter { font-weight: lighter; }
  @media screen and (max-width: 960px) {
    .txt-lft-tab {
      text-align: justify;
    }
    .txt-ctr-tab {
      text-align: center;
    }
  }
  @media screen and (max-width: 560px) {
    .txt-lft-sp {
      text-align: justify;
    }
    .txt-ctr-sp {
      text-align: center;
    }
  }

/* slider
**************************************** */
  .slider button {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    color: transparent;
    background: none;
    border: none;
    z-index: 1;
  }
  .slider button:focus {
    outline: none;
  }
  .slider .slick-dots {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    transform: translateX(-50%);
  }
  .slider .slick-dots li {
    line-height: 0em;
  }
  .slider .slick-dots li:not(:last-child) {
    margin-right: 10px;
  }
  .slider .slick-dots li button {
    width: 10px;
    height: 10px;
    opacity: .1;
    padding: 0;
    transition: .8s ease-out;
  }
  .slider .slick-dots li.slick-active button {
    opacity: 0.5;
  }
  @media screen and (min-width: 961px) {
    .slider .slick-dots li:not(.slick-active) button:hover {
      opacity: .5;
    }
  }

/* bnr
**************************************** */
  .bnr_list-col2 .bnr_list--item {
    width: 49.7%;
  }
  .bnr_list-col3 .bnr_list--item {
    width: 33%;
  }
  .bnr_list-col4 .bnr_list--item {
    width: 24.688%;
  }
  @media screen and (min-width: 961px) {
    .bnr_list--item a:hover {
      opacity: .6;
    }
  }
  @media screen and (max-width: 560px) {
    .bnr_list--item:not(:last-child) {
      margin-bottom: 8px;
    }
    .bnr_list-col2 .bnr_list--item {
      width: 100%;
    }
    .bnr_list-col3 .bnr_list--item {
      width: 49%;
    }
    .bnr_list-col4 .bnr_list--item {
      width: 32%;
    }
  }

/* sns
**************************************** */
  .clr-line,
  .clr-line-bf::before,
  .clr-line-af::after,
  .hov_clr-line:hover,
  .hov_clr-line:hover svg {
    color: #06c755;
    fill: #06c755;
  }
  .bdr_clr-line,
  .bdr_clr-line-bf::before,
  .bdr_clr-line-af::after,
  .hov_bdr_clr-line:hover {
    border-color: #06c755;
  }
  .bg_clr-line,
  .bg_clr-line-bf::before,
  .bg_clr-line-af::after,
  .hov_bg_clr-line:hover {
    background-color: #06c755;
  }
  .clr-insta,
  .clr-insta-bf::before,
  .clr-insta-af::after,
  .hov_clr-insta:hover,
  .hov_clr-insta:hover svg {
    color: #D93177;
    fill: #D93177;
  }
  .bdr_clr-insta,
  .bdr_clr-insta-bf::before,
  .bdr_clr-insta-af::after,
  .hov_bdr_clr-insta:hover {
    border-color: #D93177;
  }
  .bg_clr-insta,
  .bg_clr-insta-bf::before,
  .bg_clr-insta-af::after,
  .hov_bg_clr-insta:hover {
    background-color: #D93177;
  }
  .clr-tw,
  .clr-tw-bf::before,
  .clr-tw-af::after,
  .hov_clr-tw:hover,
  .hov_clr-tw:hover svg {
    color: #1DA1F2;
    fill: #1DA1F2;
  }
  .bdr_clr-tw,
  .bdr_clr-tw-bf::before,
  .bdr_clr-tw-af::after,
  .hov_bdr_clr-tw:hover {
    border-color: #1DA1F2;
  }
  .bg_clr-tw,
  .bg_clr-tw-bf::before,
  .bg_clr-tw-af::after,
  .hov_bg_clr-tw:hover {
    background-color: #1DA1F2;
  }
  .clr-fb,
  .clr-fb-bf::before,
  .clr-fb-af::after,
  .hov_clr-fb:hover,
  .hov_clr-fb:hover svg {
    color: #1877f2;
    fill: #1877f2;
  }
  .bdr_clr-fb,
  .bdr_clr-fb-bf::before,
  .bdr_clr-fb-af::after,
  .hov_bdr_clr-fb:hover {
    border-color: #1877f2;
  }
  .bg_clr-fb,
  .bg_clr-fb-bf::before,
  .bg_clr-fb-af::after,
  .hov_bg_clr-fb:hover {
    background-color: #1877f2;
  }
  .clr-yt,
  .clr-yt-bf::before,
  .clr-yt-af::after,
  .hov_clr-yt:hover,
  .hov_clr-yt:hover svg {
    color: #cd201f;
    fill: #cd201f;
  }
  .bdr_clr-yt,
  .bdr_clr-yt-bf::before,
  .bdr_clr-yt-af::after,
  .hov_bdr_clr-yt:hover {
    border-color: #cd201f;
  }
  .bg_clr-yt,
  .bg_clr-yt-bf::before,
  .bg_clr-yt-af::after,
  .hov_bg_clr-yt:hover {
    background-color: #cd201f;
  }
  .clr-pin,
  .clr-pin-bf::before,
  .clr-pin-af::after,
  .hov_clr-pin:hover,
  .hov_clr-pin:hover svg {
    color: #bd081c;
    fill: #bd081c;
  }
  .bdr_clr-pin,
  .bdr_clr-pin-bf::before,
  .bdr_clr-pin-af::after,
  .hov_bdr_clr-pin:hover {
    border-color: #bd081c;
  }
  .bg_clr-pin,
  .bg_clr-pin-bf::before,
  .bg_clr-pin-af::after,
  .hov_bg_clr-pin:hover {
    background-color: #bd081c;
  }
  .clr-map,
  .clr-map-bf::before,
  .clr-map-af::after,
  .hov_clr-map:hover,
  .hov_clr-map:hover svg {
    color: #dd4b39;
    fill: #dd4b39;
  }
  .bdr_clr-map,
  .bdr_clr-map-bf::before,
  .bdr_clr-map-af::after,
  .hov_bdr_clr-map:hover {
    border-color: #dd4b39;
  }
  .bg_clr-map,
  .bg_clr-map-bf::before,
  .bg_clr-map-af::after,
  .hov_bg_clr-map:hover {
    background-color: #dd4b39;
  }

