/* ##############################################################################

    KEYFRAMES

############################################################################## */

  @keyframes cursor_ani {
    0% { transform: rotate(0); }
    100% { transform: rotate(360deg); }
  }

/* ##############################################################################

    COMMON

############################################################################## */

  html {
    height: 100%;
    overflow-y: scroll;
  }
  body {
    height: 100%;
  }
  body.page-contact {
    padding-top: 0;
  }

  @media screen and (max-width: 767px) {
    body {
      padding-top: 56px;
    }
  }

/* layout
**************************************** */

  /* --- inner --- */
  .inner {
    width: 92%;
    max-width: 900px;/* 1200 */
    margin-left: auto;
    margin-right: auto;
  }
  .inner-sm { max-width: 880px; }
  .inner-lg { max-width: 1360px; }
  .inner-xl { max-width: calc(100% - 160px); }
  .box {
    background-color: #fff;
    padding: 64px;
    border-radius: 4px;
    color: #0c0c0c;
    border: 1px solid #ddd;
  }
  .box-line {
    border: solid 1px #ddd;
  }
  .box-gray {
    border: solid 1px #ddd;
    background: #eee;
  }
  .box-attention--ttl {
    background-color: #AB152F;
    padding: 10px 24px;
    color: #fff;
    font-size: 1.3em;
    margin-bottom: 0;
    border-radius: 4px 4px 0 0;
  }
  .box-attention--content {
    border: 1px solid #AB152F;
    padding: 13px 24px;
    border-radius: 0 0 4px 4px;
    font-size: 88%;
    line-height: 1.7;
  }
  .box p:last-child,
  .box-attention--content p:last-child {
    margin-bottom: 0;
  }

  /* --- section_pdg --- */
  .section_pdg {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  @media screen and (max-width: 1520px) {
    .inner-xl { 
      max-width: 100%;
    }
  }
  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .product-template .site-content,
    .section_pdg {
      padding: 64px 0;
    }
  }
  @media screen and  (max-width: 767px) {
    .inner { width: 90%; }
    .inner .inner {
      width: 100%;
    }
    .box {
      padding: 16px;
    }
    .section_pdg {
      padding-top: 48px;
      padding-bottom: 48px;
    }
  }

/* flex
**************************************** */
  /* --- ざっくりflexレイアウト --- */
  .flex-col1 {
    display: block;
  }
  .flex-col2,
  .flex-col3,
  .flex-col4 {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex-col2 > * {
    width: 48.5%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col2:not(.flex-reverse) > *:nth-child(even),
  .flex-col2.flex-reverse > *:nth-child(odd) {
    margin-right: 0;
  }
  .flex-col3 > * {
    width: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col3 > *:nth-child(3n) { margin-right: 0; }
  .flex-col4 > * {
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .flex-col4 > *:nth-child(4n) { margin-right: 0; }

  @media screen and (max-width: 767px) {
    .flex-sp-block.flex-col2 > * {
      width: 100%;
      margin-right: 0;
      margin-bottom: 6%;
    }
    .flex-sp-block.flex-col2 > *:last-child {
      margin-bottom: 0;
    }

    /* --- ざっくりflexレイアウト - sp --- */
    .flex-sp-col2 > *,
    .flex-sp-col2.flex-col3 > *:nth-child(3n) {
      width: 48.5%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col2 > *:nth-child(even) {
      margin-right: 0;
    }
    .flex-sp-col3 > *,
    .flex-sp-col3.flex-col4 > *:nth-child(4n) {
      width: 31.33%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col3 > *:nth-child(3n) {
      margin-right: 0;
    }
    .flex-col3 > * {
      width: 100%;
    }
  }

/* bg
**************************************** */
  .bg-beige {
    background-color: #F3F0EC;
    background-image: url(../images/common/bg-white.png);
    background-size: 64px auto;
    background-repeat: repeat;
  }
  .bg-black {
    background-image: url(../images/common/bg-black.png);
    background-size: 64px auto;
    background-repeat: repeat;
    color: #fff;
  }
  .bg-underline {
    border-bottom: 1px solid rgba(227, 53, 53, .25);
  }

  /* --- CTA --- */
  .bg-contact {
    background-color: #cc0000!important;
  }
  .bg-contact:hover {
    background-color: #af0707!important;
  }

  @media screen and (max-width: 767px) {
    .bg-beige {
      background-image: url(../images/common/bg-white_sp.png);
    }
    .bg-black {
      background-image: url(../images/common/bg-black_sp.png);
    }
  }

/* ttl
**************************************** */

  /* --- page_ttl --- */
  .page_ttl {
    height: 400px;
    background-color: #000;
    color: #fff;
    padding: 80px 0;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    overflow: hidden;
    flex-direction: column;
  }
  .page_ttl h2 {
    font-size: 100%;
    width: 1200px;
    max-width: 92%;
    display: block;
  }
  .page_ttl--bg {
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .page_ttl--bg img {
    object-fit: cover;
    height: auto;
    width: 100%;
    opacity: .4;
  }
  .page_ttl h2 {
    margin-top: 56px;
  }
  .page_ttl-jp,
  .page_ttl-en {
    display: block;
  }
  .page_ttl-en {
    font-size: 400%;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: .11em;
    margin-bottom: 8px;
  }
  .page_ttl-jp {
    font-size: 100%;
    padding-right: 8px;
    letter-spacing: .12em;
    opacity: .75;
  }

  /* --- section_ttl --- */
  .section_ttl {
    position: relative;
    margin-bottom: 48px;
    padding-bottom: 32px;
    font-size: 100%;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: .1em;
    text-align: center;
  }
 .section_ttl::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 30px;
    height: 1px;
    background-color: #000;
    margin: auto;
  }
  .txt-wh .section_ttl::after,
  .bg-black .section_ttl::after {
    background-color: #fff;
  }
  .section_ttl .font-en {
    display: block;
    line-height: 1;
    font-size: 450%;
    margin-bottom: 8px;
    text-transform: uppercase;
  }
  .section_ttl .font-jp-b {
    font-size: 100%;
    letter-spacing: .12em;
  }
  .section_ttl .font-jp-b:only-child {
    display: block;
    line-height: 1.2;
    letter-spacing: .12em;
    font-size: 200%;
  }
  .section_ttl-sm { font-size: 267%; }
  .section_catch {
    text-align: center;
    font-size: 120%;
    font-weight: 700;
  }

  /* --- under_triangle --- */
  .under_tri {
    position: relative;
    text-align: center;
    padding-bottom: 18px;
  }
  .under_tri::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 27px;
    height: 4px;
    margin: auto;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCA1Ij48cGF0aCBmaWxsPSIjMDUwNTA1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjg4IDQuMDcyTC4xNDcuMDk2aDcuNDY1TDMuODggNC4wNzJ6TTEzLjg4IDQuMDcyTDEwLjE0Ny4wOTZoNy40NjVMMTMuODggNC4wNzJ6TTIzLjg4IDQuMDcyTDIwLjE0Ny4wOTZoNy40NjZMMjMuODggNC4wNzJ6Ii8+PC9zdmc+');
    background-repeat: no-repeat;
  }
  .under_tri-wh { color: #fff; }
  .under_tri-wh::after {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCA1Ij48cGF0aCBmaWxsPSIjRkFGOEY4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjg4IDQuMDcyTC4xNDcuMDk2aDcuNDY1TDMuODggNC4wNzJ6TTEzLjg4IDQuMDcyTDEwLjE0Ny4wOTZoNy40NjVMMTMuODggNC4wNzJ6TTIzLjg4IDQuMDcyTDIwLjE0Ny4wOTZoNy40NjZMMjMuODggNC4wNzJ6Ii8+PC9zdmc+');
  }
  
  /* --- heading --- */
  .heading-0,
  .heading-1,
  .heading-2,
  .heading-3,
  .heading-4,
  .heading-5,
  .heading-6 {
    margin-top: 0;
    line-height: 1.4;
    letter-spacing: .12em;
  }
  .heading-0 {
    font-size: 450%;
    line-height: 1;
  }
  .heading-1 { 
    font-size: 250%;
  }
  .heading-2 {
    font-size: 200%;
  }
  .heading-3 {
    font-size: 175%;
  }
  .heading-4 { 
    font-size: 150%;
  }
  .heading-5 { 
    font-size: 125%;
  }
  .heading-6 { 
    font-size: 100%;
  }

  /* --- .heading-line --- */
  .heading-line {
    border-bottom: 2px solid #c73d3d;
    padding-bottom: 6px;
  }
  /* --- .heading-box --- */
  .heading-box {
    line-height: 1;
    border-left: 6px solid;
    padding-left: 16px;
  }


  @media screen and (max-width: 1280px) {
    .page_ttl {
      height: 320px;
    }
    .section_ttl .font-en {
      font-size: 400%;
    }
  }

  @media screen and (max-width: 767px) {

    /* --- page_ttl --- */
    .page_ttl {
      height: 220px;
      padding: 0;
    }
    .page_ttl h2 {
      margin-top: 0;
    }
    .page_ttl-en {
      font-size: 229%;
      text-align: center;
    }
    .page_ttl-jp {
      font-size: 100%;
      text-align: center;
    }
  
    /* --- section_ttl --- */
    .section_ttl {
      padding-bottom: 16px;
      margin-bottom: 24px;
    }
    .section_ttl .font-en {
      font-size: 250%;
    }
    .section_catch {
      font-size: 86%;
    }

    /* --- heading --- */
    .heading-0 { font-size: 250%; }
    .heading-1 { font-size: 158%; }
    .heading-2 { font-size: 143%; }
    .heading-3 { font-size: 115%; }
  }

/* breadcrumbs
**************************************** */
  .breadcrumbs {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 92%;
    max-width: 1200px;
    padding: 16px 0;
    font-size: 75%;
    color: #fff;
    opacity: .75;
  }
  .breadcrumbs a {
    color: #fff;
  }

  @media screen and (max-width: 767px) {
    .breadcrumbs {
      text-align: left;
    }
  }


/* txt
**************************************** */
  .txt-lg { font-size: 108%; }
  .txt-xlg { font-size: 116%; }
  .txt-sm { font-size: 87.5%; }
  .txt-xsm { font-size: 75%; }

  .txt-bold { font-weight: 700; }

  /* color */
  .txt-red,
  .txt-red-ttl { color: #c73d3d;}
  .txt-wh { color: #fff ;}

  /* txt-attention */
  .txt-attention {
    font-size: 75%;
    line-height: 1.6;
    opacity: .75;
  }
  .txt-attention-kome {
    position: relative;
    padding-left: 1.25em;
  }
  .txt-attention-kome::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
  }
  .txtarea p:not(:last-child) { margin-bottom: 1em; }
  .font-jp { font-family: Koburina Gothic W6 JIS2004, sans-serif;}
  .font-jp-b { font-family: Koburina Gothic W6 JIS2004, sans-serif;}
  .font-en {
    font-family: nimbus-sans-extended, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: .05em;
  }

  @media screen and (max-width: 767px) {
    .txt-lg {
      font-size: 100%;
    }
  }


/* bg background
**************************************** */
  .bg-bl { background-color: #050505;}

/* table & list
**************************************** */
  table { width: 100%; }
  
  /* --- table_default --- */
  .table_default {
    border: none;
  }
  .table_default th, 
  .table_default td {
    border: none;
    background: transparent;
    padding: 16px 8px;
  }
  .table_default th {
    color: #c73d3d;
    border-bottom: 2px solid #c73d3d;
  }
  .table_default td {
    padding: 16px 16px;
    border-bottom: 1px solid #c73d3d;
    border-left: 4px solid #fff;
  }
  .bg-black .table_default th {
    color: #e33535;
    border-bottom: 2px solid #e33535;
  }
  .bg-black .table_default td {
    border-bottom: 1px solid #e33535;
    border-left: 4px solid #090505;
  }

  /* --- table_line --- */
  .table_line {
    border: 1px solid #e4e1db;
  }
  .table_line th,
  .table_line td {
    vertical-align: top;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .table_line th {
    background-color: #f5f3f0;
    border: 1px solid #e4e1db;
    text-align: left;
  }
  .table_line td {
    border: 1px solid #e4e1db;
    font-size: 87%;
  }

  /* --- list ---- */
  .list { list-style-type: none; }
  .list li:not(:last-child) { margin-bottom: 8px; }
  .list li {
    position: relative;
    padding-left: 1.4em;
    line-height: 1.4;
  }
  .list-disc li::before,
  .list-square li::before,
  .list-circle li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .45em;
    width: 8px;
    height: 8px;
    border-radius: 6px;
    background-color: #9d1818;
  }
  /* 数字付きリスト */
  .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 #9d1818;
    background-color: transparent;
  }
  /* 四角付きリスト */
  .list-square li::before {
    border-radius: 0;
    background-color: #9d1818;
  }
  /* 入れ子のスタイル */
  .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 #e4e1db;
  }
  .list-dl dt {
    position: absolute;
    padding-top: 16px;
    color: #c73d3d;
    font-weight: 700;
  }
  .list-dl dd {
    padding-left: 140px;
    padding-top: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e4e1db;
  }

  @media screen and (max-width: 767px) {
    .table_line th,
    .table_line td {
      padding: 6px 8px;
      font-size: 87%;
    }
  }

/* btn button
**************************************** */
  .button a {
    position: relative;
    display: inline-block;
    min-width: 240px;
    min-height: 48px;
    padding: 14px 64px 14px 44px;
    font-size: 87%;
    color: #fff;
    background-color: #9D1818;
    text-align: center;
    border: 1px solid #9D1818;
    letter-spacing: .1em;
    overflow: hidden;
  }
  .button a:hover {
    background-color: #460B0B;
    border-color: #460B0B;
  }
  .button a::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 44px;
    display: block;
    width: 0;
    height: 0;
    border-left: 5px solid #fff;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: all .2s ease-out;
  }
  .button a:hover::before {
    right: 40px;
  }

  /* -- button-line -- */
  .button-line a {
    background: transparent;
    color: #9d1818;
    border: 1px solid;
  }
  .button-line a::before {
    border-left: 5px solid #9d1818;
  }
  .button-line a:hover {
    background: #9D1818;
    border-color: #9D1818;
    color: #fff;
  }
  .button-line a:hover::before {
    border-left: 5px solid #fff;
  }

  /* -- button-back -- */
  .button-back a::before {
    -webkit-transform: rotate(175deg);
    -ms-transform: rotate(175deg);
    transform: rotate(175deg);
  }

  /* -- button-wide -- */
  .button-wide a {
    width: 100%;
  }

  /* -- bg-dark -- */
  .bg-black .button a {
    background-color: #e33535;
    border-color: #e33535;
  }
  .bg-black .button-line a {
    background: transparent;
    color: #e33535;
  }
  .bg-black .button-line a::before {
    border-left: 5px solid #e33535;
  }

  /* flex */
  .flex .button + .button { margin-left: 16px; }

  @media screen and (max-width: 767px) {
    .button a {
      min-width: auto;
      padding: 12px 32px;
      min-height: 0;
    }
    .button a::before {
      right: 22px;
    }
    .flex .button,
    .flex .button + .button {
      margin-top: 4px;
      margin-left: auto;
      margin-right: auto;
    }
  }

/* cta
**************************************** */
  .cta {
    padding: 40px 0;
    background-color: #eee;
  }
  .cta--txt {
    font-size: 120%;
    margin-bottom: 24px;
  }
  .cta--btn {
    font-size: 160%;
  }
  .cta--btn.button a {
    min-width: 400px;
  }
  .cta--tel .tel_txt {
    font-size: 160%;
  }
  .cta--form {
    background-color: #fff;
  }
   
  @media screen and  (max-width: 767px) {
    .cta--btn.button a {
      min-width: 0;
    }
  }

/* cta-page
**************************************** */
  .cta-page {
    padding: 80px 0 40px;
    background-color: #eee;
  }
  .cta-page a:hover {
    opacity: .6;
  }
  .cta-page .imgarea {
    margin-bottom: 12px;
  }
   
  @media screen and  (max-width: 767px) {
    .cta-page {
      padding: 40px 0 24px;
    }
    .cta-page .imgarea {
      margin-bottom: 8px;
    }
  }

/* transition
**************************************** */
  .ts {
    transition: .5s cubic-bezier(0.75, 0.07, 0.2, 0.92);
  }
  .ts-nobezier {
    transition: .3s;
  }

/* animation
**************************************** */
  .hover-roll--wrap {
    display: block;
    overflow: hidden;
  }
  .hover-roll--wrap > span {
    display: inline-block;
    transition: .4s cubic-bezier(0.75, 0.07, 0.2, 0.92);
  }
  .hover-roll--wrap:last-child {
    opacity: 0; /*jsで読み込み後1にする*/
  }
  .hover-roll--wrap:last-child > span {
    transform: translateY(25px);
  }
  .hover-roll:hover .hover-roll--wrap:first-child > span {
    transform: translateY(-20px);
  }
  .hover-roll:hover .hover-roll--wrap:last-child > span {
    transform: translateY(0);
  }
  .hover-roll--wrap > span:nth-child(2) { transition-delay: .02s; }
  .hover-roll--wrap > span:nth-child(3) { transition-delay: .04s; }
  .hover-roll--wrap > span:nth-child(4) { transition-delay: .06s; }
  .hover-roll--wrap > span:nth-child(5) { transition-delay: .08s; }
  .hover-roll--wrap > span:nth-child(6) { transition-delay: .1s; }
  .hover-roll--wrap > span:nth-child(7) { transition-delay: .12s; }

/* bootstrap由来の記述
**************************************** */
  .new {
    padding: 1px 5px;
    color: rgba(255,0,0,1);
    border: 1px solid rgba(255,0,0,1);
    font-weight: bold;
  }
  .btn-flat-border {
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    color: #67c5ff;
    border: solid 2px #67c5ff;
    transition: .4s;
    margin: 0 3%;
    font-size: 1.2em;
  }

/* マウスカーソル
**************************************** */
  #cursor {
    position: fixed;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: #9D1818;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    pointer-events: none;
    z-index: 9999;
  }
  #stalker,
  #stalker svg {
    transition:
      left .05s linear,
      top .05s linear,
      width .7s cubic-bezier(.43, -.01, .15, .99),
      height .7s cubic-bezier(.43, -.01, .15, .99),
      margin .7s cubic-bezier(.43, -.01, .15, .99);
  }
  #stalker {
    margin-top: -20px;
    margin-left: -20px;
    position: fixed;
    border-radius: 100%;
    pointer-events: none;
    z-index: 9999;
    animation: cursor_ani 3s linear infinite;
    width: 40px;
    height: 40px;
    opacity: .5;
  }
  #stalker svg {
    width: 100%;
    height: 100%;
  } 
  #stalker svg circle {
    fill: none;
    stroke: #9D1818;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 5, 5;
    transition: all .1s ease-in-out;
  }
  #stalker.active {
    width: 76px;
    height: 76px;
    margin-top: -38px;
    margin-left: -38px;
    animation: cursor_ani 1s linear infinite;
    opacity: 1;
  }
  #stalker.active svg circle {
    stroke-dasharray: 5, 10;
  }
  @media screen and (max-width: 767px) {
    #cursor,
    #stalker {
      display: none;
    }
  }

/* ##############################################################################

    HEADER

############################################################################## */

/* header
**************************************** */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9990;
  }
  .page-contact:not(.page-thanks) .header,
  .page-entry:not(.page-thanks) .header {
    position: absolute;
    background-color: transparent;
    box-shadow: none;
  }
  .header .inner {
    position: relative;
    height: 100%;
  }
  .header.js-scroll {
    background-color: #050505;
  }

/* --- header--logo --- */
  .header--logo a {
    display: block;
    height: 100%;
    padding-left: 308px;
  }
  .header--logo .logo {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    opacity: 0;
  }
  .header--logo,
  .header--logo .logo {
    padding-top: 16px;
  }
  .page-contact .header--logo,
  .page-contact .header--logo .logo {
    padding-top: 40px;
  }
  .page-entry .header--logo,
  .page-entry .header--logo .logo {
    padding-top: 32px;
  }
  .js-scroll .header--logo,
  .js-scroll .header--logo .logo {
    padding-top: 0;
    width: 200px;
  }
  .header--logo .logo-wh {
    opacity: 1;
  }

  @media screen and (max-width: 1350px) {
    .header--logo .logo,
    .js-scroll .header--logo,
    .js-scroll .header--logo .logo {
      width: 197px;
    }
    .header--logo a {
      padding-left: 197px;
    }
  }

  @media screen and (max-width: 1280px) {
    .header--logo .logo,
    .js-scroll .header--logo,
    .js-scroll .header--logo .logo {
      width: 160px;
    }
    .header--logo a {
      padding-left: 160px;
    }
  }


  @media screen and (max-width: 767px) {
    .header,
    .header.js-scroll {
      background: #000;
      height: 56px;
      padding-top: 8px;
      padding-bottom: 8px;
    }
    .header .inner {
      width: 90%;
      padding-left: 0;
    }

    /* --- header--logo --- */
    .header--logo {
      position: relative;
      z-index: 5;
    }
    .js-scroll .header--logo,
    .js-scroll .header--logo .logo {
      width: 160px;
    }
    .header--logo,
    .header--logo .logo {
      padding-top: 0 !important;
    }
  }

/* gnav
**************************************** */
  .gnav--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #fff;
    letter-spacing: .22em;
  }
  .gnav--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .gnav--list li {
    position: relative;
    font-size: 100%;
  }
  .gnav--list > li {
    padding-bottom: 27px;
    padding-top: 48px
  }
  .header.js-scroll .gnav--list > li {
    padding-top: 27px;
  }
  .gnav--link em {
    padding: 0 24px;
  }
  .gnav--link em::before {
    content: '';
    position: absolute;
    top: -8px;
    left: calc(50% - 4px / 2);
    display: block;
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 5px solid transparent;
    opacity: 0;
    transition: all .4s ease-in-out;
  }
  .gnav--list > li:last-child .gnav--link em {
    padding-right: 0;
  }
  .gnav--list > li:last-child .gnav--link .gnav--label {
    margin-left: 16px;
  }
  .gnav--label {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    text-align: center;
    transform: translate(-50%, -50%);
    font-size: 85%;
    color: #E33535;
  }
  .gnav--label-en {
    display: block;
    color: #E33535;
    line-height: 1.2;
  }
  .js-scroll .gnav--link {
    color: #444;
  }
  .current .gnav--link em::before {
    opacity: 1;
    border-top-color: #E33535;
  }
  .gnav--faq {
    font-size: 80%;
    letter-spacing: 0em;
  }

  /* --- .gnav-child --- */
  .gnav-child {
    position: fixed;
    top: 73px;
    padding: 8px 16px 16px;
    opacity: 0;
    font-size: 90%;
    transform: translateY(-50px);
    z-index: -1;
    pointer-events: none;
  }
  .header .gnav-child .gnav--list > li,
  .header.js-scroll .gnav-child .gnav--list > li {
    padding-top: 9px;
    padding-bottom: 9px;
  }
  .gnav-parent:hover .gnav-child {
    opacity: 1;
    transform: translateY(0px);
    z-index: 10;
    pointer-events: auto;
  }
  .gnav-child .gnav--link em {
    padding: 0 16px;
  }
  .gnav-child .gnav--label {
    text-align: left;
    padding-left: 16px;
  }
  .current .gnav-child .gnav--link em::before {
    opacity: 0;
  }
  .header.js-scroll .gnav-parent:hover,
  .header.js-scroll .gnav-child {
    background: #222;
  }
  .gnav-child .gnav--list > li:last-child .gnav--link .gnav--label {
    margin-left: 0;
  }

  /* --- btn-entry --- */
  .btn-entry a {
    padding: 8px 40px;
    text-align: center;
  }

  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .gnav--link {
      font-size: 90%;
    }
    .gnav--link text-emphasis: ; {
      padding: 0 16px;
      font-size: 90%;
    }
    .gnav--link em {
      padding: 0 20px;
    }
    /* ---nav-child --- */
    .nav-child {
      padding-left: 20px;
      font-size: 80%;
    }
    .gnav-child {
      top: 71px;
    }
  }
  @media screen and (max-width: 1000px) and (min-width: 768px) {
    .gnav--link em {
      padding: 0 14px;
    }
    .gnav-child .gnav--link em {
      padding: 0;
      width: 100%;
    }
    .gnav-child .gnav--label {
      padding-left: 0;
    }
  }
  @media screen and (max-width: 940px) and (min-width: 768px) {
    .gnav--home {
      display: none;
    }
  }
  @media screen and (max-width: 767px) {
    .header--nav {
      position: absolute;
    }
    .header--nav::before {
      content: "";
      display: block;
      position: fixed;
      background: #000;
      left: 0;
      right: 0;
      top: 0;
      height: 56px;
      z-index: 1;
    }
    .gnav {
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0;
      padding: 69px 5% 5%;
      pointer-events: none;
      transition: .4s ease-out;
      background-image: url(../images/common/bg-black_sp.png);
      background-size: 64px auto;
      overflow: scroll;
    }
    .header.active .gnav {
      opacity: 1;
      pointer-events: all;
    }
    .gnav--list + .gnav--ttl {
      margin-top: 16px;
    }
    .gnav--ttl {
      margin-bottom: 4px;
      letter-spacing: .22em;
    }
    .gnav--list li {
      width: 100%;
    }
    .gnav--list > li,
    .header.js-scroll .gnav--list > li {
      padding-top: 0;
      padding-bottom: 0;
    }
    .home .gnav--home,
    .gnav--list .gnav--home {
      display: block;
      width: 100%;
    }
    .gnav--link {
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: #fff;
      border: 2px solid #8c1919;
      margin-bottom: 8px;
    }
    .gnav--link em::before,
    .gnav--link::before {
      display: none;
    }

    .gnav--link::after {
      content: '';
      display: block;
      position: absolute;
      right: 17px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 3px 0 3px 3px;
      border-color: transparent transparent transparent #e33535;
    }
    .gnav-parent .gnav--link::after {
      right: 16px;
      border-width: 3px 3px 0 3px;
      border-color: #e33535 transparent transparent transparent;
    }
    .gnav--link em {
      padding: 0 0 0 16px;
      width: 100%;
    }
    .gnav--label {
      display: block;
      text-align: right;
      right: 32px;
      left: auto;
      top: 0;
      bottom: 0;
      width: 8em;
      height: 1.2em;
      margin: auto;
      opacity: .75 !important;
      transform: translate(0);
    }
    .gnav--faq {
      font-size: 86%;
      letter-spacing: .2em;
    }
    .hover-roll:hover .hover-roll--wrap:first-child > span {
      transform: translateY(0);
    }
    .pc-none-flex .gnav--label {
      position: relative;
      left: 0;
      width: auto;
      font-size: 92%;
      text-align: left;
      letter-spacing: .14em;
      opacity: 1;
      transform: none;
    }
    .pc-none-flex .gnav--label,
    .gnav--label-en {
      padding: 12px 0;
      color: #e33535;
      letter-spacing: .16em;
    }
    .gnav--label-en {
          color: #fff;
    }
    .hover-roll--wrap {
      overflow: initial;
      letter-spacing: 0.1em;
      line-height: 1.2;
    }
    .hover-roll--wrap:last-child > span {
      transform: translateY(0);
    }



    /* ---gnav_btn --- */
    .gnav_btn {
      width: 40px;
      height: 56px;
      z-index: 9999;
    }
    .gnav_btn--lines {
      position: relative;
      width: 40px;
      height: 19px;
    }
    .gnav_btn--lines span {
      transition: all .4s;
      box-sizing: border-box;
    }
    .gnav_btn--lines span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #E33535;
    }
    .gnav_btn--lines span:nth-of-type(1) {
      top: 0;
    }
    .gnav_btn--lines span:nth-of-type(2) {
      top: calc(50% - 1px);
    }
    .gnav_btn--lines span:nth-of-type(3) {
      bottom: 0;
    }
    .header.active .gnav_btn--lines span:nth-of-type(1) {
      -webkit-transform: translateY(9px) rotate(-35deg);
      transform: translateY(9px) rotate(-35deg);
    }
    .header.active .gnav_btn--lines span:nth-of-type(2) {
      opacity: 0;
    }
    .header.active .gnav_btn--lines span:nth-of-type(3) {
      -webkit-transform: translateY(-9px) rotate(35deg);
      transform: translateY(-9px) rotate(35deg);
    }

    /* ---gnav_btn --- */
    .gnav-child {
      opacity: 1;
      position: relative;
      top: auto;
      transform: translate(0);
      width: 100%;
      padding: 0;
      margin-bottom: 16px;
      border-left: 2px solid #8c1919;
      border-right: 2px solid #8c1919;
    }
    .header.js-scroll .gnav-child {
      background: transparent;
    }
    .gnav-child .flex {
      width: 100%;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .header .gnav-child .gnav--list > li,
    .header.js-scroll .gnav-child .gnav--list > li {
      padding: 0;
    }
    .gnav-child .gnav--link {
      border: none;
      margin-bottom: 0;
    }
    .gnav-child .gnav--link::after {
      display: none;
    }
    .gnav-child .gnav--label {
      right: 16px;
      text-align: right;
      padding: 0;
      white-space: nowrap;
    }
  }


/* ##############################################################################

    FOOTER

############################################################################## */

  .footer {
    color: #fff;
    background-image: url(../images/common/footer_bg.jpg);
    background-size: cover;
    background-position: right;
  }
  .footer > .inner {
    padding: 80px 0;
  }

  /* --- shop_list --- */
  .shop_list a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% / 3 - 8px);
    border-right: none;
    padding: 32px;
    text-align: center;
    background-color: #9D1818;
  }
  .shop_list a:hover {
    background-color: #460B0B;
  }
  .shop_list b {
    display: block;
    font-size: 184%;
    line-height: 1.2;
    margin-bottom: 8px;
  }
  .shop_list b,
  .shop_list span {
    color: #fff;
    transition: all .3s;
  }
  .shop_list a::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 12px;
    display: block;
    width: 19px;
    height: 18px;
    background-image: url('data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgMzYgMzYiIHdpZHRoPSIzNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjcgMzNoLTIyYTIgMiAwIDAgMSAtMi0ydi0yMmEyIDIgMCAwIDEgMi0yaDEwdjJoLTEwdjIyaDIydi0xMGgydjEwYTIgMiAwIDAgMSAtMiAyeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Im0xOCAzYTEgMSAwIDAgMCAwIDJoMTEuNTlsLTEzLjg1IDEzLjg1YTEgMSAwIDEgMCAxLjQxIDEuNDFsMTMuODUtMTMuODV2MTEuNTlhMSAxIDAgMCAwIDIgMHYtMTV6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0ibTAgMGgzNnYzNmgtMzZ6IiBmaWxsPSJub25lIi8+PC9zdmc+');
    background-size: cover;
    opacity: .5;
  }
  /* footerのみ */
  footer .shop_list {
    margin-bottom: 80px;
  }
  footer .shop_list a {
    width: calc(100% / 3);
    border: 1px solid rgba(227, 53, 53, .25);
    background-color: transparent;
  }
  footer .shop_list a:hover {
    background-color: transparent;
  }
  footer .shop_list a:last-child {
    border-right: 1px solid rgba(227, 53, 53, .25);
  }
  footer .shop_list b,
  footer .shop_list span {
    color: #E33535;
  }
  footer .shop_list a:hover b,
  footer .shop_list a:hover span {
    color: #fff;
  }
  footer .shop_list a::after {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNiAzNiI+PHBhdGggZmlsbD0iI2UzMzUzNSIgZD0iTTI3IDMzSDVhMiAyIDAgMDEtMi0yVjlhMiAyIDAgMDEyLTJoMTB2Mkg1djIyaDIyVjIxaDJ2MTBhMiAyIDAgMDEtMiAyeiIvPjxwYXRoIGZpbGw9IiNlMzM1MzUiIGQ9Ik0xOCAzYTEgMSAwIDAwMCAyaDExLjU5TDE1Ljc0IDE4Ljg1YTEgMSAwIDEwMS40MSAxLjQxTDMxIDYuNDFWMThhMSAxIDAgMDAyIDBWM3oiLz48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDM2djM2SDB6Ii8+PC9zdmc+');
  }

  /* --- copyright --- */
  .copyright { color: #666; }
  .copyright p { margin-right: 16px; }
  .copyright img { opacity: .5; }

  @media screen and (max-width: 767px) {
    .home .footer {
      padding-bottom: 88px;
    }
    .footer > .inner {
      width: 90%;
      padding: 24px 0;
    }
    .shop_list a,
    footer .shop_list a {
      width: 100%;
      margin-bottom: 8px;
    }
    .shop_list b {
      font-size: 150%;
    }
  }

/* footer--main
*************************************************** */
  .footer--main {
    margin-right: 64px;
  }
  .footer--logo {
    margin-bottom: 16px;
  }
  .footer--left {
    margin-right: 80px;
  }

  /* --- footer--sns --- */
  .footer--sns svg {
    width: 21px;
    height: 21px;
    margin-right: 8px;
  }
  .footer--sns li {
    margin-right: 8px;
  }
  .footer--sns a {
    display: flex;
    align-items: center;
    padding: 4px 0;
  }
  .footer--sns a:hover {
    opacity: .7;
  }

  /* --- footer--bnr --- */
  .footer--bnr { margin-left: auto; }
  .footer--bnr a { display: block; }
  .footer--bnr img { width: 200px; }

  @media screen and (max-width: 767px) {
    .footer--wrap {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
    .footer--main {
      margin-right: 0;
      margin-bottom: 40px;
      text-align: center;
    }
    .footer--left {
      margin-right: 0;
      width: 100%;
    }
    .footer--logo {
      text-align: center;
    }
    .footer--logo a {
      display: block;
      width: 160px;
      margin:auto;
    }
    .footer--bnr {
      margin-left: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;

    }
    .footer--bnr a {
      width: 40%;
      margin: 0 1%;
    }

  }

/* footer--nav
*************************************************** */
  .footer--nav {
    margin-right: 48px;
  }
  .footer--nav em {
    padding: 0 16px;
  }
  .footer--nav a {
    margin-right: 32px;
    color: #fff;
    padding: 4px 0;
    display: block;
  }
  .footer--nav a:hover {
    opacity: .6;
  }
  .footer--nav em {
    display: block;
  }
  .footer_nav--label {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    text-align: center;
    transform: translate(-50%, -50%);
    font-size: 93%;
    color: #fff;
  }

  @media screen and (max-width: 767px) {
    .footer--nav {
      margin-bottom: 40px;
    }
    .footer--nav ul {
      width: 100%;
    }
    .footer--nav a {
      width: 100%;
      padding: 0 8px;
      margin-right: 0;
    }
  }



/* ##############################################################################

    INDEX

############################################################################## */

/* hero
*************************************************** */
  .hero {
    position: relative;
  }
  .hero .txtarea {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .hero--ttl {
    font-size: 300%;
  }
  .hero--txt {
    margin-bottom: 40px;
    font-size: 120%;
  }
  .hero_slide {
    width: 100%;
    padding-top: 56%;
    background-size: cover;
    background-position: center;
  }
  .hero_slide-01 {
    background-image: url(../images/index/hero_slide01.jpg);
  }
  .hero_slide-02 {
    background-image: url(../images/index/hero_slide02.jpg);
  }
  .hero_slide-03 {
    background-image: url(../images/index/hero_slide03.jpg);
  }
  .hero_slide-04 {
    background-image: url(../images/index/hero_slide04.jpg);
  }
  .hero_slide-05 {
    background-image: url(../images/index/hero_slide05.jpg);
  }

  @media screen and (max-width: 767px) {
    .hero_slide {
      padding-top: 120%;
    }
    .hero_slide-01 {
      background-image: url(../images/index/hero_slide01_sp.jpg);
    }
    .hero_slide-02 {
      background-image: url(../images/index/hero_slide02_sp.jpg);
    }
    .hero_slide-03 {
      background-image: url(../images/index/hero_slide03_sp.jpg);
    }
    .hero_slide-04 {
      background-image: url(../images/index/hero_slide04_sp.jpg);
    }
    .hero_slide-05 {
      background-image: url(../images/index/hero_slide05_sp.jpg);
    }
  }

/* home_fixnews
*************************************************** */
  .home_fixnews {
    position: fixed;
    width: 90%;
    max-width: 880px;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: auto;
    padding: 19px;
    height: 56px;
    line-height: 1;
    background: #9D1818;
    color: #fff;
    font-size: 82%;
    z-index: 15;
  }
  .home_fixnews:hover {
    background: #800101;
  }
  .home_fixnews.active {
    transform: translateY(24px);
    opacity: 0;
  }
  .home_fixnews--ttl {
    padding-right: 16px;
    margin-right: 16px;
    position: relative;
  }
  .home_fixnews--ttl::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 3px;
    bottom: 3px;
    height: auto;
    width: 1px;
    background: #fff;
  }
  .home_fixnews a {
    position: relative;
    padding: 12px 32px 12px 0;
    color: #fff;
  }
  .home_fixnews a::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    height: 8px;
    width: 8px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: auto;
    border-right: 1px solid;
    border-top: 1px solid;
  }
  .home_fixnews .close {
    content: "";
    display: block;
    position: absolute;
    right: 20px;
    top: -12px;
    width: 24px;
    height: 24px;
    background: #DBC5B1;
    border-radius: 12px;
  }
  .home_fixnews .close:hover {
    background: #fff;
  }
  .home_fixnews .close::before,
  .home_fixnews .close::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 12px;
    width: 1px;
    background: #000;
  }
  .home_fixnews .close::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .home_fixnews .close::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  @media screen and (max-width: 767px) {
    .home_fixnews {
      height: auto;
      padding: 8px 16px;
      bottom: 16px;
      width: calc(100% - 32px);
      line-height: 1.4;
      opacity: .95;
    }
    .home_fixnews--inner {
      display: block;
    }
    .home_fixnews--ttl {
      margin-bottom: 6px;
    }
    .home_fixnews--ttl::after,
    .home_fixnews a::after {
      display: none;
    }
    .home_fixnews a {
      padding: 0;
    } 
  }

/* home_lineup
*************************************************** */
  .post-home_lineup {
    max-width: 324px;
    padding: 0 12px;
  }
  .post-home_lineup .imgarea {
    width: 320px;
    height: 220px;
    position: relative;
    background-color: #000 ;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
  }
  .no-image,
  .post-home_lineup .imgarea.no-image,
  .post-news .imgarea.no-image,
  .home_ranking_slide .imgarea.no-image {
    background-color: #000;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../images/common/logo_wh.svg);
    background-size: 75% auto;
  }

  @media screen and (max-width: 767px) {
    .post-home_lineup {
      max-width: 240px;
      padding: 0 6px;
    }
    .home_lineup_slides {
      margin-bottom: 24px;
    }
    .post-home_lineup .imgarea {
      width: 228px;
      height: 140px;
    }

  }

/* home_search
*************************************************** */
  .home_search {
    background: url(../images/index/search_bg.jpg) center no-repeat;
    background-size: cover;
  }
  .home_search .search--words li a:hover {
    color: #fff;
    border-color: rgb(255 255 255 / 25%);
  }


/* home_products
*************************************************** */
  .home_products {
    padding-bottom: 0;
    position: relative;
    z-index: 10;
  }
  .product_copy {
    background: url(../images/index/product_bg.jpg) center no-repeat;
    background-size: cover;
    padding: 200px 0 80px;
    margin-top: 100px;
  }
  @media screen and (max-width: 767px) {
    .product_copy {
      padding: 88px 0 28px;
      margin-top: 50px;
    }
  }


/* home_ranking
*************************************************** */
  .home_ranking {
    background: url(../images/index/ranking_bg.jpg) center no-repeat;
    background-size: cover;
  }
  .home_ranking_slide {
    width: 832px !important;
    margin-left: 80px;
  }
  .home_ranking_slide .imgarea {
    width: 400px;
    height: 266px;
    background-color: #000;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid #2e181a;
  }
  .home_ranking_slide .txtarea {
    width: 400px;
    -ms-text-justify: inter-ideograph;
    text-justify: inter-ideograph;
    text-align: justify;
  }
  .home_ranking_slide .post--link::before {
    transition: all .4s ease-out;
    content: "VIEW";
    font-family: nimbus-sans-extended, sans-serif;
    font-weight: 700;
    text-align: center;
    line-height: 266px;
    font-size: 300%;
    letter-spacing: 0;
    color: transparent;
  }
  .home_ranking_slide:hover .post--link::before {
    background: rgba(0,0,0,.7);
    color: #fff;
  }
  .home_ranking .slick-slide {
    opacity: .5;
  }
  .home_ranking .slick-active {
    opacity: 1;
  }

  @media screen and (max-width: 767px) {
    .home_ranking_slide {
      width: 280px !important;
      margin: 0;
      padding: 0 16px;
    }
    .home_ranking_slide .flex {
      display: block;
    }
    .home_ranking_slide .imgarea {
      width: 248px;
      height: 144px;
    }
    .home_ranking_slide .txtarea {
      width: 248px;
    }

  }

/* home_dealer
*************************************************** */
  .home_dealer {
    position: relative;
  }
  .home_dealer .scroll-text {
    position: absolute;
    top: 80px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
    width: 100%;
    height: 128px;
    background-image: url(../images/index/dealer_copy.svg);
    background-size: auto 100%;
  }
  .home_dealer .dealer_categories {
    position: relative;
    z-index: 2;
  }

/* home_information
*************************************************** */
  .post-news:not(:last-child) {
    margin-bottom: 16px;
  }
  .post-news .imgarea {
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
  }
  .post-news .txtarea {
    width: calc(100% - 88px);
  }
  .no-post {
    background: #fff;
    padding: 24px;
    margin-bottom: 16px;
    border-radius: 4px;
    border: 1px solid #ddd;
    text-align: center;
  }

/* ##############################################################################

    PAGE

############################################################################## */

/* page-flow
*************************************************** */
  .list-group-item {
    position: relative;
    font-size: 125%;
    padding: 12px 48px 12px 32px;
    cursor: pointer;
    background: #fff;
    margin-top: 5px;
  }
  .list-group-item::after {
    content: '';
    position: absolute;
    top: 0;
    right: 24px;
    bottom: 0;
    display: block;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #c73d3d;
    transition: all .4s ease-in-out;
    z-index: 10;
  }
  .list-group-item.close::after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .panel-collapse {
    display: none;
    margin-bottom: 16px;
    padding: 16px 32px;
    border-top: 1px solid #f5f3f0;
    background: #fff;
  }
  .page-faq .dealer--lists {
    padding: 32px;
  }
  .faq-q,
  .faq-a {
    color: #e33535;
  }
  @media screen and (max-width: 767px) {
    .list-group-item {
      font-size: 100%;
      padding: 8px 32px;
    }
    .list-group-item::after {
      right: 12px;
    }
    .list-group-item.close {
      background: #eac8c8;
    }
    .panel-collapse {
      position: relative;
      margin-bottom: 8px;
      padding: 8px 16px 8px 32px;
      -ms-text-justify: inter-ideograph;
      text-justify: inter-ideograph;
      text-align: justify;
      font-size: 85%;
      line-height: 1.6;
      letter-spacing: .02em;
      border: 2px solid #eac8c8;
    }
    .faq-q,
    .faq-a {
      position: absolute;
      left: 9px;
    }
    .page-faq .dealer--lists {
      padding: 16px;
      -ms-text-justify: inter-ideograph;
      text-justify: inter-ideograph;
      text-align: justify;
      margin-bottom: 24px;
    }
  }

/* page-flow
*************************************************** */
  .page-flow .main_column {
    padding-bottom: 80px;
  }
  .flow-lists {
    counter-reset: num 0;
  }
  .flow-list {
    position: relative;
    border: solid 1px #000;
    counter-increment: num;
  }
  .flow-list:not(:last-child) {
    margin-bottom: 80px;
  }
  .flow-list:not(:last-child)::before,
  .flow-list:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
  }
  .flow-list:not(:last-child)::before {
    width: 1px;
    height: 24px;
    background-color: #0C0431;
    bottom: -52px;
  }
  .flow-list:not(:last-child)::after {
    width: 17px;
    height: 17px;
    bottom: -50px;
    border-top: 1px solid #0C0431;
    border-right: 1px solid #0C0431;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .flow-list .imgarea {
    width: 320px;
    background-size: cover;
    background-position: center;
  }
  #flow-01 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-02 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-03 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-04 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  #flow-05 .imgarea { background-image: url(https://via.placeholder.com/600x600.png?text=DUMMY); }
  .flow-list .txtarea {
    width: calc(100% - 320px);
    padding: 64px;
  }
  .flow-list .txtarea h3::before {
    content: counter(num, decimal-leading-zero) '. ';
  }


  @media screen and  (max-width: 767px) {
    .page-flow .main_column,
    .page-flow .side_column {
      padding-bottom: 40px;
    }
    .flow-list .imgarea {
      width: 100%;
      height: 200px;
    }
    .flow-list .txtarea {
      width: 100%;
      padding: 24px;
    }
  }

/* page-company
*************************************************** */
  .company_process--content {
    max-width: 960px;
    margin: 0 auto;
  }
  .company_process--content:not(:last-child) {
    margin-bottom: 40px;
  }
  .company_process--content .number {
    font-size: 135%;
    line-height: 1;
    margin-right: 16px;
  }
  .company_process--list:not(:last-child) {
    margin-bottom: 16px;
  }
  .company_process--list .txtarea {
    width: calc(100% - 392px);
  }
  .history-dl {
    border-top: 2px solid rgba(242, 239, 235, 25%);
  }
  .history-dl dt {
    float: left;
    padding: 12px 40px;
    clear: both;
    color: #c73d3d;
  }
  .history-dl dd {
    padding: 12px 40px 12px 120px;
    border-bottom: 2px solid rgba(242, 239, 235, 25%);
  }
  .company_shop {
    border: 2px solid #e4e1db;
  }
  .company_shop .txtarea {
    padding: 16px 48px;
  }
  .company_map .ggmap {
    border: 2px solid #e4e1db;
    line-height: 1;
    padding-bottom: 50%;
  }
  .button .sns_btn {
    width: 100%;
    border-radius: 8px;
    padding-top: 24px;
    padding-bottom: 24px;
    overflow: hidden;
    border: none;
  }
  .button .sns_btn:hover {
    opacity: .75;
  }
  .button .sns_btn span {
    position: relative;
    z-index: 1;
  }
  .button .sns_btn img {
    position: relative;
    vertical-align: middle;
    top: -2px;
    width: 24px;
    margin-right: 8px;
  }
  .button .sns_btn.facebook {
    background-color: #1877F2;
  }
  .button .sns_btn.twitter {
    background-color: #1DA1F2;
  }
  .button .sns_btn.instagram {
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  }
  .button .sns_btn.instagram::after{
    content: '';
    position: absolute;
    top: 13px;
    left: -48px;
    width: 240px;
    height: 240px;
    background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
    background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  }
  @media screen and (max-width: 1120px) and (min-width: 768px) {
    .company_shop .txtarea br,
    .company_shop .txtarea img {
      display: none;
    }
    .company_shop .txtarea p:not(:last-child) {
      margin-bottom: 0;
    }
  }

  @media screen and (max-width: 767px) {
    .company_intro .imgarea {
      margin-bottom: 16px;
    }
    .company_process--list {
      display: block;
    }
    .company_process--list .imgarea {
      width: 128px;
      float: right;
      border-radius: 4px;
      overflow: hidden;
      border: 1px solid;
      margin: 0 0 8px 8px;
    }
    .company_process--list .txtarea {
      width: 100%;
      padding-bottom: 12px;
      border-bottom: 1px solid #ccc;
    }
    .company_process--list .txtarea p {
      font-size: 87%;
    }
    .history-dl dt {
      padding: 12px;
    }
    .history-dl dd {
      padding: 12px 12px 12px 64px;
    }
    .company_shop {
      display: block;
    }
    .company_shop .txtarea {
      padding: 24px;
    }
    .button .sns_btn {
      padding: 24px 8px;
    }
    .button .sns_btn::before {
      display: none;
    }
    .button .sns_btn img {
      top: 0;
      display: block;
      margin: 0 auto 8px;
    }
  }

/* pave-contact
*************************************************** */
  .contact--txt {
    margin-bottom: 24px;
  }
  .contact--tel {
    margin-bottom: 24px;
  }
  .contact--tel .tel_txt {
    font-size: 200%;
  }
  .contact--form {
    background-color: #fff;
  }
   
  @media screen and  (max-width: 767px) {
    .contact--txt.txt-ctr {
      text-align: left;
    }
  }

/* pave-thanks
*************************************************** */
   
  @media screen and  (max-width: 767px) {
    .page-thanks .inner.txt-ctr {
      text-align: left;
    }
  }

/* 404
*************************************************** */
  .page-404 .content-404 p {
    margin-bottom: 40px;
    font-size: 115%;
  }
  @media screen and  (max-width: 767px) {
    .page-404 .content-404 p {
      margin-bottom: 24px;
      font-size: 100%;
    }
  }

/* sitemap
*************************************************** */
  .sitemap--list { width: 49%; }
  .sitemap--list-page.sitemap--list > li { margin-bottom: 10px; }
  .sitemap--list-posts.sitemap--list .sitemap--item-ttl:not(:first-child) { margin-top: 10px; }
  .sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 16px; }
  .sitemap--list li a {
    display: block;
    text-decoration: none;
  }
  .sitemap--list li a:hover {
    color: #4267b2;
    text-decoration: underline;
  }
  .sitemap--item-ttl { font-weight: bold; }
  .sitemap--item:not(.sitemap--item-ttl) { font-size: 87%; }

  /* --- category --- */
  .sitemap--list li.sitemap--item-child a { padding-left: 8px; }
  .sitemap--list li.sitemap--item-child.sitemap--item-page { padding: 6px 0 6px 24px; }
  .sitemap--list li.sitemap--item-taxonomy ul { letter-spacing: -.4em; }
  .sitemap--list li.sitemap--item-taxonomy ul li {
    display: inline-block;
    padding: 0;
    margin-right: 8px;
    letter-spacing: normal;
  }
  
  @media screen and (max-width: 767px) {
    .sitemap--list { width: 100%; }
    .sitemap--list-posts.sitemap--list > .sitemap--item-child { margin-bottom: 8px; }
  }


/* ##############################################################################

    ARCHIVE

############################################################################## */
  
/* main_column
**************************************** */
  .main_column {
    flex: 1;
    margin-right: 48px;
  }

  /* --- post --- */
  .post { position: relative; }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post--date {
    color: #aaa;
    font-size: 87%;
  }
  .cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  .post .post--img img {
    overflow: hidden;
    border-radius: 3px;
  }
  .cat_list a {
    display: inline-block;
    vertical-align: middle;
    font-size: 79%;
    background-color: #56a0b9;
    color: #f6f6f6;
    line-height: 1;
    padding: 6px 12px;
    float: left;
    margin-right: 4px;
    margin-bottom: 4px;
    white-space: nowrap;
  }

  @media screen and (max-width: 767px) {
    .main_column {
      width: 100%;
      margin: 0 0 16px;
    }
  }


/* side_column
**************************************** */
  .side_column { width: 264px; }
  .side_section {
    padding: 40px;
    border-radius: 8px;
  }
  .side_section:not(:last-child) {
    margin-bottom: 64px;
  }
  .side_section.side_section--dealer a {
    color: #fff;
    padding: 6px 0;
    line-height: 1.5;
    display: block;
    border-bottom: 1px dotted #333;
    position: relative;
  }
  .side_section.side_section--dealer a:hover {
    color: #e33535;
  }
  .side_section.side_section--dealer li:first-child a {
    border-top: 1px dotted #333;
  }
  .side_section.side_section--dealer a small {
    text-transform: uppercase;
    font-size: 50%;
    opacity: 0.5;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 1em;
    line-height: 1;
  }
  .side--ttl {
    font-size: 150%;
    line-height: 1;
    margin-bottom: 32px;
  }
  .side--ttl small {
    font-size: 62%;
    opacity: .5;
    letter-spacing: .15em;
    display: block;
    line-height: 1;
    margin-top: 8px;
  }

  /* --- post --- */
  .posts-side .post:not(:last-child) { margin-bottom: 16px; }
  .posts-side .post--img {
    margin-right: 16px;
    border-radius: 3px;
    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 {
    margin-bottom: 4px;
    cursor: pointer;
  }
  .side_column .archive_list--ttl::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: translateY(-2px) rotate(135deg);
    transition: .4s ease-out;
  }
  .side_column .archive_list--ttl.active::after { transform: translateY(2px) rotate(-45deg); }
  .side_column .archive_month { display: none; }


  /* --- archive-pulldown --- */
  .archive-pulldown {
    position: relative;
    margin-left: auto;
    z-index: 1;
  }
  .archive-pulldown .archive_list {
    position: relative;
    font-size: 92%;
  }
  .archive-pulldown .archive_list:not(:last-child) { margin-right: 24px; }
  .archive-pulldown .archive_list a {
    display: block;
    padding: 2px 16px;
    text-align: left;
  }
  .archive-pulldown .archive_list a:not(:last-child) { border-bottom: 1px solid #eee; }
  .archive-pulldown .archive_list--label { margin-right: 8px; }
  .archive-pulldown .archive_list--btn {
    cursor: pointer;
    border: none;
    outline: none;
    appearance: none;
    padding: 8px 54px 8px 32px;
    background-color: #fff;
    border: 1px solid #ccc;
  }
  .archive-pulldown .archive_list--btn::after {
    content: '';
    position: absolute;
    top: 9px;
    right: 10px;
    display: block;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    transition: .2s ease-out;
    transform-origin: 50% 50%;
  }
  .archive-pulldown .active .archive_list--btn::after {
    top: 14px;
    transform: rotate(225deg);
  }
  .archive-pulldown .archive_list--menu {
    position: absolute;
    z-index: 1;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ccc;
    visibility: hidden;
    opacity: 0;
    transition: .2s ease-out;
  }
  .archive-pulldown .active .archive_list--menu {
    visibility: visible;
    opacity: 1;
  }

  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .side_column {
      width: 232px;
    }
    .side_section {
      padding: 32px;
    }
  }
  @media screen and (max-width: 767px) {
    .side_column {
      width: 100%;
    }
  }

/* archive-product
**************************************** */

  /* --- search --- */
  .search-form {
    display: flex;
    justify-content: center;
  }
  .search-form .search-field {
    font-family: sans-serif;
    padding: 0 24px;
    font-size: 200%;
    border: none;
    width: 640px;
    height: 80px;
    letter-spacing: .12em;
  }
  .search-form .search-field::placeholder {
    color: #bbb;
  }
  .bg-wh .search-form .search-field {
    border: 1px solid #bbb;
    box-sizing: border-box;
  }
  .search-form .search-submit {
    background-color: #9D1818;
    color: #fff;
    font-size: 250%;
    height: 80px;
    padding: 0 26px;
    cursor: pointer;
  }
  .search-form .search-submit:hover {
    background-color: #460B0B;
  }
  .search--words li {
    margin: 0 2px 4px;
    flex-shrink: 0;
  }
  .search--words li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #E33535;
    border: 1px solid rgba(227, 53, 53, .25);
    text-align: center;
    padding: 8px 24px;
    border-radius: 4px;
    height: 100%;
  }
  #content .search--words li a:hover {
    color: #E33535;
    border: 1px solid #E33535;
    box-shadow: rgb(227 53 53 / 30%) 0 0 4px 1px;
  }
  .search--words li span {
    display: block;
    line-height: 1.2;
  }
  .search--words li small {
    margin-top: 4px;
    font-size: 73%;
    line-height: 1;
    display: block;
  }
  /* search result */
  .search--item {
    display: flex;
    margin-bottom: 16px;
  }
  .search--item img,
  .search--item .txt > * {
    transition: .3s;
  }
  .search--item:hover {
    box-shadow: -1px 2px 4px 0px rgba(4,0,0,0.2);;
  }
  .search--item:hover img,
  .search--item:hover .txt > * {
    opacity: .7;
  }
  .search--item .img {
    display: flex;
    align-items: center;
    flex-basis: 480px;
    flex-shrink: 0;
    background-color: #000;
  }
  .search--item .txt {
    flex-grow: 1;
    background-color: #fff;
    padding: 48px 40px;
    letter-spacing: .1em;
  }
  .search--item .new {
    display: inline-block;
    background-color: #E33535;
    color: #fff;
    padding: 2px 8px;
    font-size: 86%;
    margin-bottom: 8px;
  }
  .screen-reader-text {
    display: none;
  }

  /* --- product_catlist --- */
  .product_catlist--item {
    position: relative;
    width: calc(100% / 3);
    padding-top: calc(100% / 3);
    transition: all .3s;
    background-color: #000;
  }
  @media all and (-ms-high-contrast:none) {
    .product_catlist--item { 
      margin-left: -1px; 
    }
  }
  .product_catlist--item:first-child {
    margin-left: auto;
  }
  .product_catlist--item:last-child {
    margin-right: auto;
  }
  .product_catlist--item a {
    position: absolute;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    border: 1px solid #000;
    background: center no-repeat;
    background-size: cover;
  }
  .product_cat01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat01-bg.jpg);
  }
  .product_cat02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat02-bg.jpg);
  }
  .product_cat03 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat03-bg.jpg);
  }
  .product_cat04 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat04-bg.jpg);
  }
  .product_cat05 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat05-bg.jpg);
  }
  .product_cat06 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06-bg.jpg);
  }
  .product_cat07 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat07-bg.jpg);
  }
  .product_cat08 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08-bg.jpg);
  }
  .product_cat09 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat09-bg.jpg);
  }
  .product_cat10 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat10-bg.jpg);
  }
  
  
/* 追加JELBO BRADO */
  .product_cat11 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat11-bg.jpg);
  }
    .product_cat12 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat12-bg.jpg);
  }
    .product_cat13 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat13-bg.jpg);
  }




  .product_cat02_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat02_01-bg.jpg);
  }
  .product_cat02_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat02_02-bg.jpg);
  }
  .product_cat02_03 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat02_03-bg.jpg);
  }

  .product_cat03_01,
  .product_cat03_02,
  .product_cat04_01,
  .product_cat04_02 {
    width: 50%;
  }
  .product_cat03_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat03_01-bg.jpg);
  }
  .product_cat03_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat03_02-bg.jpg);
  }

  .product_cat04_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat04-bg.jpg);
  }
  .product_cat04_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat04_02-bg.jpg);
  }

  .product_cat06_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_01-bg.jpg);
  }
  .product_cat06_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_02-bg.jpg);
  }
  .product_cat06_03 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_03-bg.jpg);
  }
    .product_cat06_04 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_04-bg.jpg);
  }
    .product_cat06_05 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_05-bg.jpg);
  }
  
  .product_cat07_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat07_01-bg.jpg);
  }
  .product_cat07_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat07_02-bg.jpg);
  }
  .product_cat07_03 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat07_03-bg.jpg);
  }

  .product_cat08_01 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_01-bg.jpg);
  }
  .product_cat08_02 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_02-bg.jpg);
  }
  .product_cat08_03 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_03-bg.jpg);
  }
  .product_cat08_04 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_04-bg.jpg);
  }
  .product_cat08_05 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_02-bg.jpg);
  }
  .product_cat08_06 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat06_03-bg.jpg);
  }
  .product_cat08_07 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_07-bg.jpg);
  }
  .product_cat08_08 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_08-bg.jpg);
  }
  .product_cat08_09 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_09-bg.jpg);
  }
  .product_cat08_10 a {
    background-image: url(/wp-content/themes/idolcorp/images/product/product_cat08_10-bg.jpg);
  }


  .product_catlist--item a:hover {
    opacity: .5;
  }

  .product_catlist--item .txtarea {
    top: 0;
    left: 0;
    right: 0;
    padding: 0 5%;
    color: #fff;
    text-align: center;
  }
  .product_catlist--item .catlist--ttl {
    margin: 0 0 8px;
    font-size: 275%;
    font-style: italic;
    color: #e33736;
    line-height: 1;
    letter-spacing: 0;
  }
  .catlist--jp {
    letter-spacing: .2em;
  }

  /* --- product_catlist 下層メニュー --- */
  .product-template .site-content {
    padding: 80px 0;
    background-color: #F3F0EC;
  }
  .product-template section.post {
    width: 92%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    padding: 40px;
  }
  .product-template section.post.product_catlist-child {
    background-color: transparent;
    padding: 0;
  }

  @media screen and (max-width: 1280px) and (min-width: 768px) {
    .product_catlist--item .catlist--ttl {
      font-size: 250%;
    }
  }

  @media screen and (max-width: 1100px) {
    .product_catlist--item .catlist--ttl {
      font-size: 200%;
    }
  }
  @media screen and (max-width: 767px) {
    /* search */
    .search-form {
      display: block;
    }
    .search-form label {
      width: calc(100% - 100px);
    } 
    .search-form .search-field {
      width: 100%;
      height: 48px;
      font-size: 164%;
      padding: 0 14px;
      box-sizing: border-box;
      border-radius: 0;
    }
    .search-form .search-submit {
      font-size: 100%;
      height: 40px;
      width: 160px;
      padding: 0;
      margin: 16px auto 0;
      display: block;
    }
    .search--words li a {
      padding: 8px 16px;
    }
    .search--item {
      display: block;
    }
    .search--item .img {
      width: 100%;
    }
    .search--item .txt {
      padding: 16px;
    }

    /* catlist */
    .product_catlist--item {
      width: 100%;
      padding-top: 50%;
    }
  }

/* archive-blog
**************************************** */
  .posts-blog .post {
    padding-bottom: 48px;
    padding-top: 48px;
    border-bottom: 1px solid #e5e5e5;
  }
  .posts-blog .post:first-child { border-top: 1px solid #e5e5e5; }
  .posts-blog .post--txtarea { flex: 1; }
  .posts-blog .post--date {
    margin-right: 16px;
    font-weight: bold;
    margin-bottom: 4px;
  }
  .posts-blog .post--img {
    padding-left: 40px;
  }
  .posts-blog .post--img img {
    width: 280px;
    height: auto;
  }
  .posts-blog .post--img.no-image,
  .posts-side .post--img.no-image {
    background-color: #eee;
  }

  @media screen and (max-width: 1100px) {
    .posts-blog { margin-bottom: 56px; }
    .archive-blog .inner.flex,
    .single-blog .inner.flex {
      display: block;
    }
  }

  @media screen and (max-width: 767px) {
    .posts-blog .post {
      display: block;
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .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%;
    }
  }

/* archive-news
**************************************** */
  
  /* --- news--archive --- */
  .news--archive {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #111;
  }
  .news--archive li {
    margin-left: 8px;
    margin-right: 8px;
  }
  .news--archive a {
    color: #fff;
  }
  .searchmore {
    margin: 0;
    border: none;
    padding: 0;
  }
  .entry-header {
    padding: 0;
  }
  .post-content-wrap {
    border: none;
    padding: 24px 0;
  }
  .entry-meta-bar {}
  .searchmore a {
    display: block;
    padding: 8px;
    background: #eee;
  }
  .paging-navigation {
    margin-top: 40px;
  }
  .pagination a,
  .pagination > li > a,
  .pagination > li > span,
  #wp_page_numbers li,
  .wp-pagenavi li,
  #main ul.default-wp-page,
  .pagination .current,
  .pagination span {
    display: inline-block;
    width: 56px;
    height: 48px;
    line-height: 48px;
    color: #fff;
    background: #9D1818;
    margin: 4px 2px;
  }
  .pagination span {
    background: #fff;
    color: #aaa;
  }
  .pagination .current,
  .pagination a:hover,
  .pagination > li > a:hover,
  .pagination > li > span:hover,
  .pagination > li > a:focus,
  .pagination > li > span:focus,
  #wp_page_numbers li > a:hover,
  .wp-pagenavi li > a:hover,
  #main ul.default-wp-page li > a:hover {
    background: #470D0D;
  }

  /* --- news_list --- */
  main .news_list .post {
    padding-bottom: 16px;
    padding-top: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #dedede;
  }
  main .news_list .post--date {
    margin-right: 32px;
  }
  main .news_list a[href="javascript:void(0);"],
  main .news_list a[href="javascript:void(0);"]::before {
    color: inherit;
    cursor: inherit;
    opacity: 1;
    text-decoration: none;
  }
  .posts-home_news a,
  main .news_list a {
    display: inline-flex;
    align-items: center;
  }
  .posts-home_news a[target="_blank"]::after,
  main .news_list a[target="_blank"]::after {
    content: '';
    width: 18px;
    height: 18px;
    margin-left: 8px;
    background-image: url(/wp/wp-content/themes/original_theme/images/common/icon-new_tab.png);
  }

  @media screen and (max-width: 767px) {
    main .news_list .post { display: block; }
    main .news_list .post--date {
      display: inline-block;
      margin-bottom: 8px;
    }
    .post-content-wrap {
      padding: 0 0 16px;
    }
    .type-news {
      margin-bottom: 16px;
    }
    .pagination a, .pagination > li > a, .pagination > li > span, #wp_page_numbers li, .wp-pagenavi li, #main ul.default-wp-page, .pagination .current, .pagination span {
      width: 48px;
      height: 32px;
      line-height: 32px;
    }
  }

/* archive-dealer
**************************************** */

  /* --- category --- */
  .dealer_category {
    width: 25%;
    min-height: 240px;
  }
  .single-product .dealer_category {
    min-height: 180px;
  }
  .single-product .dealer_category::marker {
    display: none;
    color: transparent;
  }
  .dealer_category a {
    width: 100%;
    height: 100%;
    padding: 24px 40px;
    background-color: #eee;
  }
  .single-product .dealer_category a {
    padding: 24px;
  }
  .dealer_category:nth-child(1) a,
  .dealer_category:nth-child(3) a,
  .dealer_category:nth-child(6) a,
  .dealer_category:nth-child(8) a {
    background-color: #ccc;
  }
  .dealer_category a:hover {
    background: #000;
    color: #fff;
  }
  .dealer_category .ken span {
    display: inline-block;
  }
  .dealer_category .ken span:not(:last-child) {
    position: relative;
    padding-right: 12px;
    margin-right: 2px;
  }
  .dealer_category .ken span:not(:last-child)::after {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #303030;
    display: block;
    position: absolute;
    right: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(-45deg);
    transition: all .4s ease-out;
  }
  .dealer_category a:hover .ken span:not(:last-child)::after {
    background-color: #fff;
  }

  /* --- dealer--tab --- */
  .dealer--tabs_parent {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background: #fff;
  }
  .dealer--tabs_parent .dealer--tab {
    width: 12.5%;
  }
  .dealer--tabs_parent a {
    position: relative;
    display: block;
    text-align: center;
    padding: 16px 8px;
    line-height: 1.4;
  }
  .dealer--tabs_parent a small {
    display: block;
    text-transform: uppercase;
    opacity: .5;
    font-size: 65%;
  }
  .dealer--tabs_parent a:hover {
    background: #eee;
  }
  .hokkaido .parent-hokkaido,
  .tohoku .parent-tohoku,
  .kanto .parent-kanto,
  .chubu .parent-chubu,
  .kansai .parent-kansai,
  .chugoku .parent-chugoku,
  .shikoku .parent-shikoku,
  .kyushu .parent-kyushu {
    pointer-events: none;
    background: #9d1818;
    color: #fff;
  }
  .hokkaido .parent-hokkaido::after,
  .tohoku .parent-tohoku::after,
  .kanto .parent-kanto::after,
  .chubu .parent-chubu::after,
  .kansai .parent-kansai::after,
  .chugoku .parent-chugoku::after,
  .shikoku .parent-shikoku::after,
  .kyushu .parent-kyushu::after {
    content: '';
    position: absolute;
    bottom: -8px;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-top: 8px solid #9d1818;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    transition: all .2s ease-out;
  }
  /* child */
  .dealer--tabs_child {
    padding: 32px 0;
  }
  .dealer--tabs_child a {
    display: block;
    position: relative;
    padding: 24px 32px;
    color: #9d1818;
    max-width: 100%;
    font-size: 125%;
    text-align: left;
    line-height: 1.4;
    margin: 0 8px;
  }
  .dealer--tabs_child a:hover {
    background: #fff;
  }
  .dealer--tabs_child a::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 6px solid #9d1818;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    transition: all .2s ease-out;
    display: inline-block;
    position: relative;
    top: -4px;
    margin-right: 12px;
  }

  /* --- taxonomy --- */
  .dealer-ttl {
    position: relative;
  }
  .dealer-ttl-small {
    font-size: 50%;
    text-transform: uppercase;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 1;
    height: 1em;
  }
  .dealer--lists {
    background: #fff;
    padding: 8px 32px;
  }
  .dealer--list {
    padding: 8px 0;
  }
  .dealer--list:not(:last-child) {
    border-bottom: 1px solid #eee;
  }
  .dealer--list .dealer_name {
    width: 40%;
    padding-right: 8px;
  }
  .dealer--list .address {
    width: 30%;
    line-height: 1.4;
    padding-right: 8px;
  }
  .dealer--list .tel {
    width: 156px;
    padding-right: 8px;
  }
  .dealer--list .mapbtn {
    line-height: 1;
    width: 82px;
  }
  .dealer--list .mapbtn a {
    border-radius: 20px;
    min-width: 0;
    min-height: 30px;
    padding: 8px 24px;
    font-size: 75%;
  }
  .dealer--list .mapbtn a::before {
    transform: translateX(28px);
  }

  @media screen and (max-width: 1240px) and (min-width: 768px) {
    .dealer_category {
      line-height: 1.6;
    }
    .dealer_category .heading-1 {
      font-size: 200%;
      letter-spacing: 0;
    }
    .dealer_category .txt-sm {
      font-size: 75%;
    }
    .dealer--tabs_child a {
      padding: 16px;
    }
  }

  @media screen and (max-width: 767px) {
    .dealer_category {
      width: 50%;
      min-height: auto;
    }
    .dealer_category:nth-child(1) a,
    .dealer_category:nth-child(4) a,
    .dealer_category:nth-child(5) a,
    .dealer_category:nth-child(8) a {
      background: #ccc;
    }
    .dealer_category:nth-child(3) a,
    .dealer_category:nth-child(6) a {
      background: #eee;
    }
    .dealer_category a,
    .single-product .dealer_category a {
      padding: 16px 8px;
    }
    .dealer_category .heading-2 {
      font-size: 125%;
    }
    .dealer_category .ken span:not(:last-child) {
      padding-right: 9px;
      margin-right: 0;
    }
    .dealer--tabs_parent {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .dealer--tab a::after {
      display: none !important;
    }
    .dealer--tabs_parent a {
      padding: 12px 8px;
    }
    .dealer--tabs_parent .dealer--tab {
      width: 25%;
    }
    .dealer--tabs_child {
      padding: 16px 0;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
    }
    .dealer--tabs_child .dealer--tab {
      width: 25%;
    }
    .dealer--tabs_child a {
      font-size: 100%;
      padding: 8px;
      margin: 0;
    }
    .dealer--tabs_child a::before {
      top: -2px;
      margin-right: 8px;
    }
    .dealer--lists {
      padding: 2px 16px;
    }
    .dealer--list {
      padding: 8px 0;
      position: relative;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .dealer--list .dealer_name,
    .dealer--list .tel,
    .dealer--list .address {
      width: 100%;
      padding: 0;
      line-height: 1.4;
    }
    .dealer--list .dealer_name,
    .dealer--list .tel {
      padding-right: 80px;
    }
    .dealer--list .mapbtn {
      width: 72px;
      position: absolute;
      right: 0;
      top: 5px;
    }
    .dealer--list .mapbtn a {
      padding: 8px 20px;
    }
    .single-product .dealer_category {
      min-height: 120px;
    }
  }

/* archive-dealer
**************************************** */
  .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }


/* ##############################################################################

    SINGLE

############################################################################## */

/* nav-links
**************************************** */
  .pagination {
    background: transparent;
  }
  .nav-links {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    font-family: nimbus-sans-extended, sans-serif;
    font-weight: 700;
    font-size: 115%;
    margin-top: 40px;
  }
  .nav-links .pages {
    width: 100%;
    margin-bottom: 8px;
    text-align: center;
  }
  .nav-links .current,
  .nav-links a {
    position: relative;
    max-width: 42%;
    display: inline-block;
    vertical-align: top;
    color: #fff;
    background-color: #9D1818;
    line-height: 1.4;
    padding: 13px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 8px;
    margin-bottom: 8px;
    white-space: nowrap;
  }
  .nav-links a:hover {
    background-color: #460B0B;
  }
  .nav-links .meta-nav {
    display: inline-block;
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto 12px;
    width: 0;
    height: 0;
    border-left: 5px solid #fff;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transition: all .2s ease-out;
  }
  .nav-links .meta-nav.prev {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .nav-links .current {
    background-color: #460B0B;
    color: #fff;
  }
  .nav-links .dots {
    line-height: 39px;
    margin: 4px 16px;
    color: #888;
  }
  @media screen and (max-width: 767px) {
    .nav-links {
      margin-bottom: 40px;
    }
    .nav-links .current,
    .nav-links a {
      padding: 8px 0;
      font-size: 75%;
      margin: 4px;
    }
    .nav-links .dots {
      margin-left: 4px;
      margin-right: 4px;
    }

  }

/* product
**************************************** */
  .single-product .post p {
    margin-bottom: 1em;
  }
  .single-product .post .box p:last-child,
  .single-product .post .box-attention--content p:last-child {
    margin-bottom: 0;
  }
  .single-product .post > .inner:first-of-type {
    padding: 56px;
    margin-bottom: 64px;
    background-color: #fff;
  }
  .single-product .post .section_ttl {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .single-product .product--shop--ttl {
    margin-top: 64px;
  }

  @media screen and (max-width: 767px) {
    .single-product .post > .inner:first-of-type {
      padding: 16px;
    }
    .single-product .product--shop--ttl {
      margin-top: 16px;
    }
    .single-product .table_line th {
      width: 28%;
    }
  }

/* pass
**************************************** */
  .single .pass {
    width: 100%;
  }
  .single .pass p:first-child {
    margin-bottom: 16px;
  }

  @media screen and (max-width: 767px) {
    .single .pass p:first-child {
      text-align: left;
    }
  }

/* archive-event
**************************************** */
  #tribe-events,
  #tribe-events-pg-template,
  .tribe-events-pg-template {
    padding: 0;
  }
  #tribe-bar-form {
    background: #fff;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
  }
  #tribe-bar-form .tribe-bar-submit input[type=submit] {
    background: #9d1818;
    font-size: 114%;
    letter-spacing: 0.1em;
  }
  .tribe-bar-views-inner {
    background: #fff;
    padding: 18px 16px;
    border-left: 1px solid #ccc;
  }
  #tribe-events-content .tribe-events-calendar td {
    color: #333;
  }
  #tribe-bar-form .tribe-bar-views-inner label {
    padding: 0;
  }
  #tribe-events-content table.tribe-events-calendar {
    background: #fff;
  }
  .tribe-event-duration {
    background: #000;
    color: #fff;
    padding: 2px 6px;
    margin-bottom: 8px;
  }
  .tribe-event-description {
    font-family: 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
    color: #333;
  }

  .tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-],
  .tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-]>a,
  .tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-],
  .tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-]>a,
  .tribe-events-calendar div[id*=tribe-events-daynum-],
  .tribe-events-calendar div[id*=tribe-events-daynum-] a {
    font-family: nimbus-sans-extended, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0;
    font-size: 100%;
  }
  .tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-],
  .tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-]>a {
    color: #666;
  }
  .tribe-events-calendar thead th#tribe-events-日曜日 {
    background-color: #9d1818;
  }
  .tribe-events-calendar thead th#tribe-events-土曜日 {
    background-color: #275175;
  }

  .tribe-events-calendar div[id*=tribe-events-daynum-],
  .tribe-events-calendar div[id*=tribe-events-daynum-] a {
    background-color: #050505;
  }
  .tribe-events-calendar td.tribe-events-othermonth.tribe-events-future div[id*=tribe-events-daynum-],
  .tribe-events-calendar td.tribe-events-othermonth.tribe-events-future div[id*=tribe-events-daynum-]>a {
    background-color: transparent;;
  }
  .tribe-events-calendar .entry-title {
    font-size: 24px;
    line-height: 29px;
    margin: 0 0 8px;
    color: #9d1818;
  }
  .tribe-events-calendar .entry-title {
    font-size: 150%;
    line-height: 1.4;
    margin: 0 0 8px;
    color: #9d1818;
    letter-spacing: .05em;
  }
  .recurring-info-tooltip,
  .tribe-events-calendar .tribe-events-tooltip,
  .tribe-events-shortcode.view-week .tribe-events-tooltip,
  .tribe-events-week .tribe-events-tooltip {
    padding: 16px;
  }
  .tribe-events-calendar thead th {
    background-color: #000;
  }
  #tribe-events .tribe-events-button, #tribe-events .tribe-events-button:hover, #tribe_events_filters_wrapper input[type=submit], .tribe-events-button, .tribe-events-button.tribe-active:hover, .tribe-events-button.tribe-inactive, .tribe-events-button:hover, .tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-], .tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-]>a {
    background-color: #9d1818;
  }
  .tribe-events-list-separator-month,
  .tribe-events-day .tribe-events-day-time-slot .tribe-events-day-time-slot-heading {
    background-color: #9d1818;
    color: #fff;
  }
  .tribe-events-day .tribe-events-day-time-slot .type-tribe_events {
    margin-left: 0;
  }
  .tribe-events-list .tribe-events-loop .tribe-events-event-image,
  .single-tribe_events .tribe-events-event-image {
    display: none;
  }
  #tribe-events-content a,
  .tribe-events-adv-list-widget .tribe-events-widget-link a,
  .tribe-events-adv-list-widget .tribe-events-widget-link a:hover,
  .tribe-events-back a,
  .tribe-events-back a:hover,
  .tribe-events-event-meta a,
  .tribe-events-list-widget .tribe-events-widget-link a,
  .tribe-events-list-widget .tribe-events-widget-link a:hover,
  ul.tribe-events-sub-nav a,
  ul.tribe-events-sub-nav a:hover {
    /*color: #9d1818;*/
  }
  .tribe-events-list .type-tribe_events {
    position: relative;
    padding: 24px;
    background: #fff;
    margin-bottom: 8px;
    border-radius: 4px;
  }
  .tribe-events-list .type-tribe_events:hover {
    opacity: .5;
  }
  .tribe-events-list .type-tribe_events a::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .events-list .tribe-events-loop, .single-tribe_organizer .tribe-events-loop, .single-tribe_venue .tribe-events-loop, .tribe-events-day .tribe-events-loop {
    max-width: 880px;
  }

  .tribe-events-list-separator-month:after {
    display: none;
  }
  .tribe-events-list-separator-month span {
    padding: 0;
    background-color: transparent;
  }
  @media screen and (max-width: 767px) {
    #tribe-bar-form .tribe-bar-views-inner label {
      padding: 0 16px;
    }
    .tribe-bar-views-inner {
      border-left: none;
    }
    #tribe-events div.tribe-events-single-event-description {
      padding: 16px;
    }
    .tribe-events-sub-nav li a {
      padding: 16px;
      font-size: 75%;
    }
    .single-tribe_events .tribe-events-schedule {
      background: transparent;
      border: none;
      padding: 0;
    }
    .tribe-events-schedule h2 {
      display: block;
      font-size: 100%;
      letter-spacing: 0.01em;
      text-align: center;
      margin-bottom: 8px;
    }

  }


/* single-event
**************************************** */
  .single-tribe_events .tribe-events-content {
    padding: 40px;
    background: #fff;
  }
  .tribe-events-single {
    max-width: 1200px;
    margin: 0 auto;
  }
  .tribe-events-notices {
    background: #eadddd;
    border: 1px solid #d0b8b8;
    color: #9d1818;
    text-shadow: none;
    text-align: center;
    font-size: 150%;
    padding: 40px 16px;
    margin: 0 0 40px;
  }
  .events-archive .entry-content,
  .events-archive .entry-header {
    width: 100%;
  }

  @media screen and (max-width: 767px) {
    .tribe-events-notices {
      padding: 24px 8px;
      margin-bottom: 24px;
    }
  }

/* single-movie
**************************************** */
  @media screen and (max-width: 767px) {
    .single-movie .post {
      overflow: hidden;
    }
  }


/* ##############################################################################

    FORMY

############################################################################## */
  #formy_form table { width:100%; }
  #formy_form th,
  #formy_form td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: solid 1px #eee;
  }
  #formy_form th {
    font-weight: normal;
    white-space: nowrap;
    text-align: left;
    width: 34%;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form table textarea {
    width: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    vertical-align: bottom;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form select,
  #formy_form textarea {
    margin: 0;
    padding: 5px 15px;
    border: 1px solid #ccc;
    font: inherit;
    font-size: 100%;
  }
  #formy_form textarea { height: 100px; }
  #formy_form select { height: 40px; }
  #formy_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #formy_form input:hover { opacity: .7; }
  #formy_form textarea:hover { opacity: .7; }
  #formy_form input:focus { outline: none; }
  #formy_form .parsley-validated {  background-color: #eee; }
  #formy_form .parsley-error {  background-color: #fee; }
  #formy_form .parsley-success {  background-color: #fff; }
  .help_text {
    font-size: 87%;
    color: #999;
  }
  .hidden_help { display: none; }
  .formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: 87%;
    padding: 8px 16px;
  }
  .requiredIcon {
    background-color: #ff9426;
    color: #fff;
    margin: 0 0 0 1em;
    font-size: 70%;
    padding: 2px 5px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    float: right;
  }
  #formy_btn {
    padding-top: 32px;
    text-align: center;
  }
  #formy_btn input {
    min-width: 220px;
    padding: 16px 32px;
    margin-right: 4px;
    margin-left: 4px;
    border: none;
    border-radius: 3px;
    color: #fff;
    font-size: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
  #formy_form ul li input[type="radio"],
  #formy_form ul li input[type="checkbox"] { display: none !important; }
  #formy_form ul li label {
    position: relative;
    display: inline-block;
    padding: .5em 8px .5em 40px;
    line-height: 1.6;
    vertical-align: top;
    cursor: pointer;
  }
  #formy_form ul li label:hover { opacity: .7; }
  #formy_form ul li label::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid #788b93;
    left: 16px;
    top: 12px;
  }
  #formy_form ul li input[type="radio"] + label::before { border-radius: 10px; }
  #formy_form ul li input[type="radio"]:checked + label,
  #formy_form ul li input[type="checkbox"]:checked + label {
    color: #e75f5f;
    font-weight: bold;
  }
  #formy_form ul li input[type="radio"]:checked + label::before,
  #formy_form ul li input[type="checkbox"]:checked + label::before {
    border-color: #e75f5f;
  }
  #formy_form ul li input[type="radio"]:checked + label::after,
  #formy_form ul li input[type="checkbox"]:checked + label::after {
    content: "";
    width: 10px;
    height: 18px;
    top: 4px;
    left: 20px;
    border-right: 2px solid #e75f5f;
    border-bottom: 2px solid #e75f5f;
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .formy_confirm { background-color: #4dbaff; }
  .formy_submit_disabled { background-color: #ccc; }
  #formy_btn .formy_submit_disabled:hover {
    opacity:1;
    cursor: default;
  }
  .autoConfirmBack { background-color: #aaa; }
  .formy_send { background-color: #ff6600; }
  #total_required {
    padding: 16px;
    color: #ff9426;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    #formy_form { padding: 0 16px; }
    #formy_form th,
    #formy_form td {
      display: block;
      width: auto;
      padding-left: 0;
      padding-right: 0;
    }
    #formy_form th {
      border-bottom:none;
      padding-bottom: 0;
      white-space: normal;
      font-weight: bold;
    }
    #formy_form td { padding-top: 0; }
    #formy_btn { padding-top: 8px; }
    #formy_btn input {
      width: 100%;
      margin-right: 0;
      margin-left: 0;
      background-size: contain;
      background-position: center;
    }
    .autoConfirmBack { margin-bottom: 8px; }
    #formy_form table input[type="text"],
    #formy_form table input[type="email"],
    #formy_form table input[type="tel"],
    #formy_form table input[type="date"],
    #formy_form table input[type="password"],
    #formy_form select,
    #formy_form textarea {
      font-size: 16px; /* iOSでズーム防止 */
    }
  }

  /* --- お問い合わせフォーム --- */
/* デザインカスタマイズ */
div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0 0 30px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 auto; width: 980px; max-width: 100%;}
div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:13px; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; max-width:80%;}
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:300px; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
 
 
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
 
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

.table-recruit {
  font-size: 16px !important;
  width: 100% !important;
}

.table-recruit .scroll table, .table-responsive table {
  width: 100% !important;
}

.flo {
  width: 50%;
  padding: 1%;
}
.flo33 {
  width: 33%;
  padding: 1%;
}
@media screen and (max-width: 767px) {
  .flo {
    width: 100%;
    margin-bottom: 20px;
  }
  .flo33 {
    width: 50%;
    padding: 1%;
  }
}

.red {
  color: #AB152F;
}