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

    KEYFRAMES

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


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

    COMMON

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

  html {
    overflow-y: scroll;
    overflow-x: hidden;
  }
  body {
    padding-top: 88px;
  }
  body.home,
  body.page-contact {
    padding-top: 0;
  }

  @media screen and (max-width: 1080px) {
    body {
      padding-top: 56px;
    }
  }

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

  /* --- inner --- */
  .inner {
    width: 80%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner-xs { max-width: 880px; }
  .inner-sm { max-width: 1080px; }
  .inner-lg { max-width: 1440px; }
  .inner-xl { max-width: calc(100% - 112px); }

  /* --- section_pdg --- */
  .section_pdg {
    padding-top: 108px;
    padding-bottom: 108px;
  }
  .home .section_pdg {
    padding-top: 88px;
    padding-bottom: 88px;
  }
  .section_pdg-sm {
    padding-top: 64px;
    padding-bottom: 120px;
  }

  @media print, screen and (max-width: 1200px) {
    /* --- inner --- */
    .inner { width: 90%; }
    .inner-xl { max-width: 90%; }
  }
  @media screen and (max-width: 767px) {
    /* --- inner --- */
    .inner { width: 86%; }
    .inner-xl { max-width: 86%; }

    /* --- section_pdg --- */
    .section_pdg {
      padding-top: 54px;
      padding-bottom: 54px;
    }
    .home .section_pdg {
      padding-top: 44px;
      padding-bottom: 44px;
    }
    .section_pdg-sm {
      padding-top: 40px;
      padding-bottom: 80px;
    }
  }

/* 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 > *:nth-child(even) { margin-right: 0; }
  .flex-col3 > * {
    width: 32.21%;
    margin-right: 1.67%;
    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 --- */
    .flex-col2.flex-sp-block > *,
    .flex-col3.flex-sp-block > *,
    .flex-col4.flex-sp-block > * {
      width: 100%;
      margin-bottom: 16px;
      margin-right: 0;
    }
    .flex-col2.flex-sp-block > *:last-child,
    .flex-col3.flex-sp-block > *:last-child,
    .flex-col4.flex-sp-block > *:last-child {
      margin-bottom: 0;
    }
    .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; }
  }

/* bg
********************************************** */

  .bg-main {
    background-color: #E7EBEB;
  }
  .bg-sub {
    background-color: #eee;
  }
  .bg-wh {
    background-color: #fff;
  }
  .bg-bk {
    background-color: #000;
  }

/* img
********************************************** */
  .img-ctr {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .img-trim {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .img-trim.pos_rel::before {
    content: '';
    display: block;
  }
  .img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .img-cover.pos_ab {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .img-contain {
    object-fit: contain;
    font-family: 'object-fit: contain;';
  }

/* ttl
********************************************** */
  /* --- page_ttl --- */
  .page_ttl {
    position: relative;
    z-index: 10;
    overflow: hidden;
    height: 200px;
    color: #fff;
    background-color: #000909;
  }
  .page_ttl .inner {
    max-width: none;
    position: relative;
  }
  .page_ttl--bg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 40vw;
    background-size: cover;
    background-position: center;
  }
  .page_ttl--bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 240px 200px 0 0px;
    border-color: #000909 transparent transparent transparent;
  }
  .page_ttl-jp {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    margin: auto;
    font-size: 1.5rem; /* 24px */
    color: #fff;
    font-style: italic;
  }
  .page_ttl-en {
    display: inline-block;
    text-transform: uppercase;
    font-size: 6rem;
    color: #fff;
    opacity: .1;
  }

  /* --- ttl --- */
  .ttl-01,
  .ttl-02,
  .ttl-03 {
    letter-spacing: .1em;
  }
  .ttl-01 {
    margin-bottom: .45em;
    font-size: 4.5rem; /* 72px */
    line-height: 1.22;
    letter-spacing: .02em;
    color: #000;
  }
  .ttl-01.font-jp {
    font-style: italic;
  }
  .ttl-01 > span {
    display: inline-block;
  }
  .ttl-01 > .txt-sm {
    display: block;
    margin-top: .5em;
    padding-right: .4em;
    font-size: 1.25rem; /* 20px */ 
    color: #B60813;
    font-style: italic;
  }
  .ttl-01 > .txt-sm::before {
    content: "";
    display: inline-block;
    width: 1.25em;
    height: 2px;
    margin-right: .5em;
    transform: translateY(-.25em);
    background-color: #B60813;
  }
  .ttl-03 {
    font-size: 3rem;
    line-height: 1.4;
    font-style: italic;
  }
  .lps_sec .ttl-01,
  .lps_sec .ttl-02,
  .lps_sec .ttl-03 {
    position: relative;
    z-index: 1;
  }
  .lps_sec .ttl-01 {
    margin-bottom: 1em;
  }
  .lps_sec .ttl-02 {
    margin-bottom: 1.75em;
  }
  .lps_sec .ttl-03:not(:last-child) {
    margin-bottom: .75em;
  }
  .lps_sec .column-3 .ttl-03,
  .lps_sec .column-4 .ttl-03 {
    font-size: 1.75rem; /* 28px */
  }

  .home-ttl-01 {
    position: relative;
    margin-bottom: 1.5rem;
    text-align: center;
  }
  .home-ttl-01 .txt,
  .ttl-02  {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem; /* 40px */
    letter-spacing: .05em;
    line-height: 1;
    font-style: italic;
  }
  .ttl-02 {
    position: static;
    line-height: 1.4;
    overflow: hidden;
  }
  .ttl-02 span {
    position: relative;
    display: inline-block;
    margin-left: 1em;
    margin-right: 1em;
  }
  .home-ttl-01 .txt span::before,
  .home-ttl-01 .txt span::after,
  .ttl-02 span::before,
  .ttl-02 span::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 0;
    margin: auto;
    display: block;
    width: 88px;
    height: 9px;
    background-image: url(../images/home/ttl-deco_stitchi_bk.png);
    background-repeat: repeat-x;
  }
  .home-ttl-01.txt-wh .txt span::before,
  .home-ttl-01.txt-wh .txt span::after,
  .ttl-02.txt-wh .txt span::before,
  .ttl-02.txt-wh .txt span::after {
    background-image: url(../images/home/ttl-deco_stitchi_wh.png);
  }
  .home-ttl-01 .txt span::before,
  .ttl-02 span::before { left: -104px; }
  .home-ttl-01 .txt span::after,
  .ttl-02 span::after { right: -104px; }
  .home-ttl-01 .bg {
    font-size: 12.5rem;
    line-height: 1;
    color: #ffdbd7;
    letter-spacing: -.01em;
  }
  .home-ttl-01.txt-wh .bg {
    color: #fff;
    opacity: .1;
  }

  @media print, screen and (max-width: 1400px) {
    .home-ttl-01 {
      margin-bottom: 2.25rem;
    }
    .home-ttl-01 .txt,
    .ttl-02  {
      font-size: 2rem; 
    }
    .home-ttl-01 .bg {
      font-size: 10rem;
    }
  }
  @media screen and (max-width: 1080px) {
    /* --- page_ttl --- */
    .page_ttl {
      height: 80px;    top: 90px;margin-bottom: 90px;
    }
    .page_ttl--bg {
      width: 40vw;
    }
    .page_ttl--bg::before {
      border-width: 80px 70px 0 0px;
    }
    .page_ttl-jp {
      font-size: 1.25rem; 
    }
    .page_ttl-en {
      font-size: 2.5rem;
      white-space: nowrap;
    }

    /* --- ttl --- */
    .ttl-01 {
      margin-bottom: .25em;
      font-size: 2.143rem;
    }
    .ttl-01 > .txt-sm {
      margin-top: .25em;
      font-size: 1rem;
    }
    .ttl-03 {
      font-size: 1.714rem;
    }
    .lps_sec .ttl-01 {
      margin-bottom: 1em;
    }
    .lps_sec .ttl-02 {
      margin-bottom: 1em;
    }
    .lps_sec .column-3 .ttl-03,
    .lps_sec .column-4 .ttl-03 {
      font-size: 1.25rem;
    }
  
    .home-ttl-01 {
      margin-bottom: 1.5rem;
    }
    .home-ttl-01 .txt,
    .ttl-02  {
      font-size: 1.5rem;
    }
    .home-ttl-01 .txt span::before,
    .home-ttl-01 .txt span::after,
    .ttl-02 span::before,
    .ttl-02 span::after {
      top: 3px;
      width: 44px;
      height: 4px;
      background-size: contain;
    }
    .home-ttl-01 .txt span::before,
    .ttl-02 span::before { left: -52px; }
    .home-ttl-01 .txt span::after,
    .ttl-02 span::after { right: -52px; }
    .home-ttl-01 .bg {
      font-size: 4.5rem;
    }
  }

/* breadcrumbs
**************************************** */
  .breadcrumbs {
    padding: 16px 0;
  }
  .breadcrumbs a {
    color: #B60813;
    text-decoration: underline;
  }
  .breadcrumbs a:hover {
    text-decoration: none;
  }
  .breadcrumbs .breadcrumb_last {
    display: table-cell; 
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

/* txt
**************************************** */
  .txt-lg { font-size: 1.125rem; /* 18px */ }
  .txt-sm { font-size: 87.5%;  }
  .txt-wh,
  .txt-wh * { color: #fff; }
  .txt-main,
  .txt-main * { color: #B60813; }
  .txt-sub,
  .txt-sub * { color: #eee; }

  /* --- font --- */
  .font-jp,
  .ttl-02,
  .ttl-03,
  table th,
  .editor-ttl,
  .editor-ttl2,
  .editor-ttl3 {

  }
  .font-en {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
  }
  .font-en2 {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
  }

  @media screen and (max-width: 767px) {
    .txt-lg { font-size: 1.071rem; /* 15px */ }
    .txt-sm { font-size: 92.9%;}
  }

/* btn
********************************************** */
  .btn + .btn {
    margin-top: 8px;
  }
  .btn a {
    position: relative;
    z-index: 1;
    display: block;
    padding: 16px 40px;
    width: 100%;
    max-width: 240px;
    color: #B60813;
    border: solid 2px #B60813;
    text-align: center;
    background-color: #fff;
  }
  .btn svg {
    fill: #B60813;
  }
  .btn a:hover {
    color: #fff;
    background-color: #B60813;
  }
  .btn a:not([target="_blank"]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"])::before {
    content: '';
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(45deg);
    transition: all .2s ease-out;
  }
  .btn a:not([target="_blank"]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"])::after {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    right: 20px;
    display: block;
    width: 18px;
    border-top: solid 2px;
    transition: all .2s ease-out;
  }
  .btn a[href^="#"]::before {
    top: calc(50% - 2px) !important;
    right: 24px !important;
    transform: rotate(135deg) !important;
  }
  .btn a[href^="#"]::after {
    transform: rotate(90deg) !important;
  }
  .btn.btn-next_page a {
    max-width: 100%;
    border-radius: 0;
    text-align: left;
  }

  /* --- btn-entry --- */
  .btn-entry button,
  .btn-entry a {
    position: relative;
    z-index: 10;
    display: inline-block;
    padding: 11px 40px;
    width: 100%;
    max-width: 480px;
    margin-top: 40px;
    margin-bottom: 80px;
    background: #E60012;
    color: #fff;
    border: solid 1px #E60012;
    line-height: 1.3;
    transition: all .5s cubic-bezier(0.51, 0.01, 0, 0.98);
    cursor: pointer;
  }
  .btn-entry button:hover,
  .btn-entry a:hover {
    color: #E60012;
    background-color: #fff;
  }
  .btn-entry .txt-sm {
    display: block;
    letter-spacing: .2em;
  }
  .btn-entry .txt-lg {
    display: block;
    font-size: 3rem; /* 48px */
  }

  @media screen and (max-width: 767px) {
    .btn a {
      max-width: 100%;
      padding: 12px 40px;
      width: 100%;
    }
    .btn a[href^="#"]::before {
      right: 22.5px !important;
    }
    .btn a:not([target="_blank"]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"])::before {
      top: calc(50% - 4px);
      width: 8px;
      height: 8px;
    }
    .btn a:not([target="_blank"]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"])::after {
      top: calc(50% - 1px);
      width: 13px;
    }
    .btn-entry button,
    .btn-entry a {
      margin-top: 16px;
      margin-bottom: 16px;
    }
    .btn-entry .txt-lg {
      font-size: 2rem;
    }
  }


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

    HEADER

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

/* header
**************************************** */
  .header {
    position: fixed;
    top: 0;    top: 35px;
    left: 0;
    right: 0;
    height: 88px;
    background-color: #fff;background: rgb(255 255 255 / 90%);
    z-index: 9990;
    transition: all .4s ease-out;
  }
  .header-tr_bk {
    height: 112px;
    color: #fff;
    background-color: transparent;
  }
  .page-contact .header {
    position: absolute;
    background-color: transparent;
    box-shadow: none;
  }
  .header > .inner {
    width: 100%;
    max-width: 100%;
    height: 100%;
    padding-left: 2vw;
  }
  .header--logo a,
  .footer--logo a {
    display: block;
  }
  .header--logo a:hover,
  .footer--logo a:hover {
    opacity: .7;
  }

  @media print, screen and (max-width: 1300px) {
    .header > .inner {
      padding-left: 1vw;
    }
    .header--logo img {
      width: 200px;
    }
  }
  @media print, screen and (max-width: 1200px) {
    .header--logo img {
      width: 160px;
    }
  }
  @media print, screen and (min-width: 1081px) {
    .header--nav,
    .gnav,
    .gnav > .flex,
    .gnav ul,
    .gnav li,
    .gnav a {
      height: 100%;
    }
  }
  @media screen and (max-width: 1080px) {
    .header {
      height: 56px;
    }
    .header-tr {
      height: 56px;
      color: #000;
    }
    .header > .inner {
      padding-left: 12px;
    }
    .header--logo img {
      width: 132.5px;
    }
    .page-contact .header .inner {
      padding-right: 16px;
      justify-content: flex-end;
    }
  }

/* gnav
********************************************** */
  .gnav a {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .gnav--link {
    padding: 0 0.8vw 0px;
    font-size: 0.9rem;
    letter-spacing: .0.8em;
  }
  .head_sub_nav--wrap {
    display: block;
    width: calc(100% + 100px);
    position: absolute;
    left: -50px;
    right: -50px;
    z-index: 100;
    transition: all .4s ease-out;
    opacity: 0;
    pointer-events: none;
  }
  .menu-item-has-children {
    position: relative;
  }
  .head_sub_nav li {
    margin-top: 8px;
  }
  .head_sub_nav a {
    display: block;
    padding: 12px 24px 16px;
    font-size: 1rem; /* 16px */ 
    letter-spacing: .08em;
  }
  .head_sub_nav a:hover {
    opacity: 1;
    color: #fff !important;
    background-color: #B60813;
  }
  #menu-item-2995 a {
    font-family: 'Takamodern';
  }
  .link-members {
    position: absolute;
    top: 128px;
    right: 12px;
    z-index: 1000;
    height: auto !important;
    opacity: .5;
    color: #fff;
    text-decoration: underline;
  }
  .gnav--menu > li > .gnav--link:not([href="javascript:void(0);"]):hover,
  .gnav--menu > li.current_page_item > .gnav--link,
  .gnav--menu > li:hover .gnav_sub_toggle::before,
  .gnav--menu > li.current_page_item .gnav_sub_toggle::before {
    color: #B60813;
  }

  /* ---CTA --- */
  .cta_tel a {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
    letter-spacing: .025em;
  }
  .cta_tel a > span {
    display: block;
  }
  .header:not(.header-tr) .gnav--tel .hours {
    color: #aaa;
  }
  .gnav--tel {
    margin-left: 1.4vw;
  }
  .gnav--tel a {
    display: flex !important;
    flex-direction: column;
    padding-bottom: 4px;
  }
  .gnav--tel .tel {
    font-size: 1.25rem; /* 20px */
  }
  .gnav--tel .num {
    font-size: 1.75rem; /* 28px */
  }

  .cta_contact a {
    color: #fff;
    background-color: #E60012;
    border: solid 1px #E60012;    font-size: 12px;
  }
  .cta_contact a:hover {
    color: #E60012 !important;
    background-color: #fff;    font-size: 12px;
  }
  .cta_contact path,
  .cta_pickup path {
    fill: #fff;
    transition: all .4s ease-out;
  }
  .cta_contact a:hover path {
    fill: #E60012;
  }
  .gnav--contact a,
  .gnav--pickup a {
    width: 114px;
    padding: 0;
    letter-spacing: .01em;
  }

  .cta_pickup a {
    color: #fff;
    background-color: #B60813;
    border: solid 1px #B60813;
  }
  .cta_pickup a:hover {
    color: #B60813 !important;
    background-color: #fff;
  }
  .cta_pickup a:hover path {
    fill: #B60813;
  }
  .gnav--pickup {
    margin-left: 1.6vw;
  }

  #menu-item-3002 a::before {
    content: url( 'data:image/svg+xml;utf-8,<svg fill="%23000E0C" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.31 19.125"><path d="M2774.4,696a6.8,6.8,0,0,1,.29-1.631c1.08-3.435,5.01-5.307,8.87-5.307s7.8,1.872,8.88,5.307a6.8,6.8,0,0,1,.29,1.631H2774.4Zm9.16-8.567a5.278,5.278,0,1,1,5.06-5.274A5.164,5.164,0,0,1,2783.56,687.434Z" transform="translate(-2774.41 -676.875)"/></svg>' );
    display: inline-block;
    width: 18px;
    height: 19px;
    margin-right: 10px;
    transition: all .4s ease-out;
    transform: translateY(3px);
  }
  #menu-item-3002 a:hover::before {
    content: url( 'data:image/svg+xml;utf-8,<svg fill="%23fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.31 19.125"><path d="M2774.4,696a6.8,6.8,0,0,1,.29-1.631c1.08-3.435,5.01-5.307,8.87-5.307s7.8,1.872,8.88,5.307a6.8,6.8,0,0,1,.29,1.631H2774.4Zm9.16-8.567a5.278,5.278,0,1,1,5.06-5.274A5.164,5.164,0,0,1,2783.56,687.434Z" transform="translate(-2774.41 -676.875)"/></svg>' );
  }

  @media print, screen and (min-width: 1081px) {
    .gnav {
      display: flex;
    }
    .header-tr .gnav a {
    
    }
    .gnav_btn,
    .tel_btn {
      display: none;
    }
    .gnav--link {
      text-align: center;
    }
    .head_sub_nav a {
      color: #000E0C !important;
      background-color: #fff;
    }

    .gnav_sub_toggle::before {
      content: '';
      position: absolute;
      bottom: 20px;
      left: 0;
      right: 0;
      margin: auto;
      width: 8px;
      height: 8px;
      border-top: 2px solid;
      border-right: 2px solid;
      transform: rotate(135deg);
      transition: all .4s ease-out;    color: #111111;
    }
    .gnav--contact,
    .gnav--pickup {
      height: 112px !important;
    }
    .gnav--contact a,
    .gnav--pickup a {
      border-radius: 0;
    }
    /* hover */
    .gnav--menu .menu-item-has-children:hover .head_sub_nav--wrap {
      opacity: 1;
      pointer-events: auto;
    }
	  
	 .header--logo1{
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
	font-size: 30px;    color: #111111;
} 
	 .header--logo2{
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
	font-size: 30px;    color: #ffffff;
} 	  
  }
  @media print, screen and (max-width: 1500px) and (min-width: 1081px) {
    .gnav--link {
      padding: 0 1vw 8px;
    }
  }
  @media print, screen and (max-width: 1400px) and (min-width: 1081px) {
    .gnav--link,
    .gnav--tel .tel {
      font-size: 1rem;
    }
    .gnav--tel .num {
      font-size: 1.5rem;
    }
  }
  @media print, screen and (max-width: 1150px) and (min-width: 1081px) {
    .gnav--menu > li:first-child {
      display: none;
    }
  }
  @media screen and (max-width: 1080px) {
    .gnav,
    .gnav_overlay {
      position: fixed;
      top: 56px;
      right: 0;
      height: calc(100% - 56px);
      opacity: 0;
      pointer-events: none;
      transition: all .4s ease-out;
    }
    .gnav {
      width: 70%;
      margin: 0;
      padding: 16px 5%;
      overflow: scroll;
      background-color: #fff;
      z-index: 300;
      transform: translateX(100%);
      -webkit-overflow-scrolling: touch;
    }
    .gnav_overlay {
      width: 100%;
      background-color: rgba(0,0,0,.8);
    }
    .gnav.active,
    .gnav_overlay.active {
      opacity: 1;
      pointer-events: auto;
    }
    .gnav.active {
      transform: translateX(0);
    }
    .gnav--menu,
    .gnav--cta {
      display: block;
    }
    .gnav--menu li {
      position: relative;
      display: block;
      width: 100%;
    }
    .gnav--menu a {
      display: block;
      padding: 12px;
    }
    .gnav--menu > li > a {
      border-bottom: 1px solid #eee;
    }
    .gnav--menu li:not(.menu-item-has-children) a::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 10px;
      margin: auto;
      width: 7px;
      height: 7px;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      transform: rotate(45deg);
    }
    .head_sub_nav--wrap {
      position: relative;
      width: 100%;
      left: auto;
      right: auto;
      transition: none;
      opacity: 1;
      pointer-events: inherit;
      display: none;
    }
    .menu-item-has-children.active .head_sub_nav--wrap {
      opacity: 1;
      pointer-events: auto;
    }
    .head_sub_nav {
      margin-bottom: 16px;
    }
    .head_sub_nav li {
      margin-top: 0;
    }
    .head_sub_nav a {
      padding: 8px 12px;
      padding-left: 1.5em;
    }
    #menu-item-3002 a::before {
      width: 15px;
      height: 15px;
    }
    .link-members {
      top: 64px;
    }

    .gnav_sub_toggle {
      position: absolute;
      top: 0;
      right: -16px;
      width: 56px;
      height: 56px;
      transition: all .4s ease-out;
      color: #000;
    }
    .gnav_sub_toggle::before,
    .gnav_sub_toggle::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      width: 11px;
      height: 1px;
      border-bottom: 1px solid;
    }
    .gnav_sub_toggle::after {
      transform: rotate(90deg);
    }
    .gnav_sub_toggle.active {
      transform: rotate(135deg);
    }
    .head_sub_nav {
      position: relative;
    }
    .tel_btn,
    .gnav_btn {
      position: fixed;
      top: 0;
      width: 56px;
      height: 56px;
      z-index: 9999;
    }
    .tel_btn {
      right: 56px;
    }
    .tel_btn a {
      display: flex !important;
      width: 100%;
      height: 100%;
    }
    .tel_btn svg {
      fill: #000;
    }
    .gnav_btn {
      right: 0;    top: 34px;
      transition: all .4s ease-out;
    }
    .gnav_btn--lines {
      position: relative;
      width: 24px;
      height: 16px;
    }
    .gnav_btn--lines span {
      transition: all .4s ease-out;
      box-sizing: border-box;
    }
    .gnav_btn--lines span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #000;
    }
    .header-tr .gnav_btn:not(.active) .gnav_btn--lines span  {
      background-color: #fff;    background-color: #000;
    }
    .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;
    }
    .active .gnav_btn--lines span:nth-of-type(1) {
      transform: translateY(7px) rotate(-40deg);
    }
    .active .gnav_btn--lines span:nth-of-type(2) {
      opacity: 0;
    }
    .active .gnav_btn--lines span:nth-of-type(3) {
      transform: translateY(-7px) rotate(40deg);
    }

    /* ---CTA --- */
    .gnav--cta li:not(:last-child) {
      margin-bottom: 16px;
    }
    .gnav--tel {
      margin-left: 0;
      text-align: center;
    }
    .gnav--contact {
      margin-left: 0;
    }
    .gnav--pickup {
      margin-top: 24px;
      margin-left: 0;
    }
    .gnav--contact a,
    .gnav--pickup a {
      width: 100%;
      padding: 14px;
    }
    .gnav--contact span,
    .gnav--pickup span {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.125rem;
    }
    .gnav--contact svg,
    .gnav--pickup svg {
      margin-right: 16px;
    }
    .gnav--contact br,
    .gnav--pickup br {
      display: none;
    }
  }


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

    FOOTER

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

  .footer {
    padding-top: 120px;
    padding-bottom: 32px;
    color: #fff;
  }
  .footer a {
    color: #fff;
  }

  @media screen and (max-width: 767px) {
    .footer {
      padding-top: 32px;
      padding-bottom: 24px;
    }
  }

/* footer-cta
********************************************** */
  .footer-cta {
    position: relative;
    padding-top: 52px;
    padding-bottom: 72px;
    background-image: url("../img/fimage.jpg");
    background-position: center;
    background-size: cover;
    overflow: hidden;
  }
  .footer-cta::before,
  .footer-cta::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    display: block;
    pointer-events: none;
    opacity: .6;
  }
  .footer-cta::before {
    top: 8px;
    bottom: 8px;
    border-top: dashed 1px #fff;
    border-bottom: dashed 1px #fff;
  }
  .footer-cta::after {
    top: 12px;
    bottom: 12px;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
  }
  .footer-cta .home-ttl-01 {
    margin-bottom: 0;
  }
  .footer-cta--txt {
    font-style: italic;
    margin-bottom: 32px;
  }
  .footer-cta--wrap {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-cta--wrap > * {
    width: calc(50% - 12px);
  }
  .footer--contact a {
    display: flex !important;
    padding-top: 17px;
    padding-bottom: 22px;
  }
  .footer--contact svg {
    width: 32px;
    margin-right: 32px;
  }
  .footer--contact .txt {
    line-height: 1.8;
  }
  .footer--contact .txt-en {
    font-size: 1.8rem;
    line-height: 1.2;
  }
  .footer--tel a {
    display: flex !important;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #fff;
  }
  .footer--tel .tel {
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .footer--tel .num {
    font-size: 1.75rem;
  }
  .footer--tel .hours {
    color: #aaa;
  }

  .footer--tel1 a {
    display: flex !important;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #222222;
  }
  .footer--tel1 .tel1 {
    font-size: 1.25rem;
    line-height: 1.2;
  }
  .footer--tel1 .num1 {
    font-size: 1.75rem;
  }
  .footer--tel1 .hours1 {
    color: #aaa;
  }



  @media screen and (max-width: 1100px) {
    .footer-cta--wrap {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .footer-cta--wrap > * {
      width: 100%;
      max-width: 640px;
      margin-left: auto;
      margin-right: auto;
    }
    .footer-cta--wrap > *:not(:last-child) {
      margin-bottom: 12px;
    }
  }
  @media screen and (max-width: 767px) {
    .footer-cta {
      padding-top: 32px;
      padding-bottom: 44px;
    }
    .footer-cta::before {
      top: 4px;
      bottom: 4px;
    }
    .footer-cta::after {
      top: 6px;
      bottom: 6px;
    }
    .footer-cta--txt {
      font-size: 1.25em;
      line-height: 1.6;
      margin-bottom: 16px;
    }
    .footer--contact a {
      padding-top: 16px;
      padding-bottom: 16px;
    }
    .footer--contact svg {
      display: none;
    }
    .footer--contact .txt {
      line-height: 1.6;
    }
    .footer--contact .txt-en {
      font-size: 2rem;
    }
    .footer--tel a {
      padding-top: 15px;
      padding-bottom: 15px;
    }
    .footer--tel .tel {
      font-size: 1.125rem;
      line-height: 1.2;
    }
    .footer--tel .num {
      font-size: 2rem;
      letter-spacing: -.02em;
    }
  }

/* footer_top
********************************************** */
  .footer--logo {
    margin-bottom: 30px;
  }

  /* --- fnav --- */
  .fnav {
    margin-bottom: 32px;
  }
  .fnav > ul {
    margin-left: 4vw;
  }
  .fnav a {
    display: block;
    margin-bottom: .5em;
    letter-spacing: .05em;
  }
  .fnav a:hover {
    opacity: .7;
  }
  .fnav .sub-menu a {
    position: relative;
    padding-left: 1.5em;
  }
  .fnav .sub-menu a::before {
    content: "";
    position: absolute;
    top: 1em;
    left: 4px;
    width: .8em;
    border-top: solid 1px;
  }

  @media print, screen and (max-width: 1050px) {
    .footer_top > .flex {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .fnav {
      margin-top: 64px;
      -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
      justify-content: flex-start;
    }
    .fnav > ul {
      width: calc(33.333% - 4vw);
      margin-left: 0;
      margin-right: 4vw;
    }
  }
  @media screen and (max-width: 767px) {
    .footer--logo {
      margin-bottom: 16px;
    }
    .footer--logo img {
      width: 132.5px;
    }
  
    /* --- fnav --- */
    .fnav {
      margin-top: 16px;
      margin-bottom: 48px;
    }
    .fnav > ul {
      width: 100%;
      margin-right: 0;
    }
    .fnav a {
      position: relative;
      padding: .75em;
      margin-bottom: 0;
      border-bottom: solid 1px rgba(255,255,255,.25);
    }
    .fnav a::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1em;
      margin: auto;
      width: 8px;
      height: 8px;
      border-top: 1px solid;
      border-right: 1px solid;
      transform: rotate(45deg);
    }
    .fnav .sub-menu a {
      padding-left: 2.5em;
    }
    .fnav .sub-menu a::before {
      top: 1.6em;
      left: 1em;
    }
  }

/* footer_btm
*************************************************** */
  .sns--list li {
    display: inline-block;
    margin: 0 8px 8px;
  }
  .pbl {
    padding-bottom: 4px;
  }
  .pbl a {
    opacity: .5;
  }
  .pbl a:hover {
    opacity: 1;
  }
  .copyright {
    font-size: .75rem; /* 12px */
    color: #BEBEBE;
    letter-spacing: .01em;
    line-height: 1;
  }

  @media print, screen and (min-width: 768px) {
    .copyright {
      margin-right: 18px;
    }
  }


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

    INDEX

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

/* hero
********************************************** */
  .hero {
    position: relative;
    height: 100vh;
  }
  .hero--catch {
    position: absolute;
    top: 9%;
    left: 5%;
    bottom: 0;
    display: flex;
    align-items: center;
  }
  .hero--catch .ttl {
    position: relative;
    margin-bottom: 36px;
    font-size: 3.75vw;
    line-height: 1.22;
    letter-spacing: .025em;
    text-indent: .2em;
    font-style: italic;
  }
  .hero--catch .ttl::before {
    content: "";
    position: absolute;
    top: .65em;
    left: calc(-10vw - 16px);
    display: block;
    width: 10vw;
    height: 2px;
    background-color: #fff;
  }
  .hero--catch .txt {
    padding-left: .5em;
    font-size: 1.125rem;
    line-height: 1.88;
    letter-spacing: .075em;
  }
  .hero_slide {
    overflow: hidden;
  }
  .hero_slide-sp {
    display: none !important;
  }
  .hero_slides,
  .hero_slide,
  .hero_slide .slick-list,
  .hero_slide .slick-track,
  .hero_slide .slick-slider,
  .hero_slide .slick-slide {
    width: 100%;
    height: 100% !important;
  }
  .hero_slide .slick-list {
    position: relative;
    overflow: hidden;
  }

  @media screen and (max-width: 767px) {
    .hero {
      height: 540px;
    }
    .hero_slide-pc {
      display: none !important;
    }
    .hero_slide-sp {
      display: block !important;
    }
    .hero--catch {
      top: 2%;
      left: 5%;
      right: 5%;
    }
    .hero--catch .ttl {
      margin-bottom: 24px;
      font-size: 7.5vw;
    }
    .hero--catch .ttl::before {
      left: calc(-10vw - 4px);
      width: 10vw;
    }
    .hero--catch .txt {
      padding-left: .25em;
      font-size: 1rem;
    }
  }

/* home_news
********************************************** */
  .home_news {

    right: 0;
    bottom: 0;

    padding: 24px 48px 20px 32px;
    background-color: #000;
    color: #fff;
  }
  .home_news::after_bk {
    content: "";
    position: absolute_bk;
    top: 0;
    left: -64px;
    bottom: 0;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 108px 64px;
    border-color: transparent transparent #000909 transparent;
  }
  .home_news .news_list--ttl {
    display: block;
    position: relative;
    margin-right: 56px;
    padding: 0;
    line-height: 1.2;
  }
  .home_news .news_list--ttl::before {
    content: "";
    position: absolute;
    top: -4px;
    right: -28px;
    display: block;
    width: 2px;
    height: 46px;
    background-color: #fff;
    transform: rotate(30deg);
  }
  .home_news .news_list {
    flex: 1;
  }
  .home_news .news_list .post {
    padding-top: 0;
padding-bottom: 0px;
    border-bottom: none;
  }
  .home_news .news_list .post--ttl {
    font-size: .938rem; /* 15px */ 
    line-height: 1.5;
  }
  .home_news .news_list .post--ttl a {
    color: #fff;position: relative;
    top: 3px;
  }
  .home_news .news_list .post--ttl:hover a {
    color: #B60813;
  }
  .home_news .news_list .post--date {
    width: 5rem;
  }
  .home_news .news_list .cat_list {
    display: none;
  }
  .home_news .more {
    margin-left: 60px;
    color: #fff;
  }
  .home_news .more:hover,
  .home_pickup .more:hover {
    opacity: .7;
  }
  .home_news .more img,
  .home_pickup .more img {
    margin-right: 8px;
    transform: translateY(-2px);
  }

  @media screen and (max-width: 767px) {
    .home_news {
      width: calc(90% - 40px);width: calc(100% - 0px);
      padding: 12px 16px 12px 6px;
    }
    .home_news::after {
      left: -64px;
      border-width: 0 0 100px 64px;
    }
    .home_news .news_list--ttl {
      margin-right: 16px;
      font-size: 1.5rem;
    }
    .home_news .news_list--ttl::before {
      display: none;
    }
    .home_news .news_list .post--ttl {
      font-size: .938rem; /* 15px */ 
    }
    .home_news .news_list .post--info,
    .home_news .news_list .post--date,
    .home_news .more {

    }
    .home_news .more img,
    .home_pickup .more img {
      transform: translateY(-1px);
    }
  }

/* home_pickup
********************************************** */
  .home_pickup {
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: #000;
  }
  .home_pickup .flex div > .ttl-01 {
    color: #fff;
  }
  .home_pickup .pickup_ttl {
    width: 28%;
  }
  .home_pickup .pickup_list {
    flex: 1;
  }
  .home_pickup .post-works {
    margin-bottom: 0;
    border-color: #000;
    background-color: #000;
  }
  .home_pickup .post-works .post--txtarea {
    padding: 20px 0 0;
  }
  .home_pickup .no-img {
    background-color: #fff !important;
  }
  .home_pickup .post--ttl {
    margin-bottom: 0;
    font-size: 1rem; /* 16px */
    line-height: 1.75;
  }
  .home_pickup .post--ttl a {
    color: #fff;
  }
  .home_pickup .post-works:hover .post--ttl a {
    color: #B60813;
  }
  .home_pickup .more {
    display: inline-block;
    color: #fff;
    margin-top: 8px;
  }

  @media screen and (max-width: 767px) {
    .home_pickup {
      padding-top: 28px;
      padding-bottom: 36px;
    }
    .home_pickup .inner {
      width: 92%;
    }
    .home_pickup .pickup_ttl {
      position: relative;
      width: 100%;
    }
    .home_pickup .ttl-01 .txt-sm {
      display: none;
    }
    .home_pickup .pickup_list {
      width: 100%;
      margin-top: 4px;
    }
    .home_pickup .post-works .post--txtarea {
      padding: 10px 0 0;
    }
    .home_pickup .post--ttl {
      font-size: .875rem;
      line-height: 1.5;
    }
    .home_pickup .more {
      position: absolute;
      top: 4px;
      right: 0;
      margin-top: 0;
    }
  }


/* home_about
********************************************** */
  .home_about {
    padding-top: 70px;
    padding-bottom: 70px;
    background-image: url(../images/home/about-bg.jpg);
    background-position: bottom right;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .home_about .imgarea {
    width: 52.34%;
    background-image: url(../img/about-img.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .home_about .imgarea::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 68.358%;
  }
  .home_about .txtarea {
    flex: 1;
    margin-left: -52px;
    padding-top: 16px;
    padding-right: 12%;
  }
  .home_about p:not(:last-child) {
    margin-bottom: .75em;
  }

  @media print, screen and (max-width: 1840px) {
    .home_about .txtarea {
      margin-left: -96px;
      padding-right: 1%;
    }
  }
  @media print, screen and (max-width: 1530px) {
    .home_about .txtarea {
      font-size: .929rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home_about {
      padding-top: 0;
      padding-bottom: 48px;
    }
    .home_about .imgarea {
      width: 100%;
    }
    .home_about .txtarea {
      width: 86%;
      font-size: 1em;
      margin-left: auto;
      margin-right: auto;
      padding-top: 24px;
      padding-right: 0;
    }
    .home_about p:not(:last-child) {
      margin-bottom: .75em;
    }
  }


/* home_about1
********************************************** */
  .home_about1 {
    padding-top: 70px;
    padding-bottom: 70px;
    background-image: url(../images/home/about-bg.jpg);
    background-position: bottom right;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .home_about1 .imgarea {
    width: 52.34%;
    background-image: url("../img/about/about-img.png");
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .home_about1 .imgarea::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 68.358%;
  }
  .home_about1 .txtarea {
    flex: 1;
    margin-left: -52px;
    padding-top: 16px;
    padding-right: 12%;
  }
  .home_about1 p:not(:last-child) {
    margin-bottom: .75em;
  }

  @media print, screen and (max-width: 1840px) {
    .home_about1 .txtarea {
      margin-left: -96px;
      padding-right: 1%;
    }
  }
  @media print, screen and (max-width: 1530px) {
    .home_about1 .txtarea {
      font-size: .929rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home_about1 {
      padding-top: 0;
      padding-bottom: 48px;
    }
    .home_about1 .imgarea {
      width: 100%;
    }
    .home_about1 .txtarea {
      width: 86%;
      font-size: 1em;
      margin-left: auto;
      margin-right: auto;
      padding-top: 24px;
      padding-right: 0;
    }
    .home_about1 p:not(:last-child) {
      margin-bottom: .75em;
    }
  }


/* home_about2
********************************************** */
  .home_about2 {
    padding-top: 70px;
    padding-bottom: 70px;
    background-image: url(../images/home/about-bg.jpg);
    background-position: bottom right;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .home_about2 .imgarea {
    width: 52.34%;
    background-image: url(../img/about-img.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .home_about2 .imgarea::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 68.358%;
  }
  .home_about2 .txtarea {
    flex: 1;
    margin-left: -52px;
    padding-top: 16px;
    padding-right: 12%;
  }
  .home_about2 p:not(:last-child) {
    margin-bottom: .75em;
  }

  @media print, screen and (max-width: 1840px) {
    .home_about2 .txtarea {
      margin-left: -96px;
      padding-right: 1%;
    }
  }
  @media print, screen and (max-width: 1530px) {
    .home_about2 .txtarea {
      font-size: .929rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home_about2 {
      padding-top: 0;
      padding-bottom: 48px;
    }
    .home_about2 .imgarea {
      width: 100%;
    }
    .home_about2 .txtarea {
      width: 86%;
      font-size: 1em;
      margin-left: auto;
      margin-right: auto;
      padding-top: 24px;
      padding-right: 0;
    }
    .home_about2 p:not(:last-child) {
      margin-bottom: .75em;
    }
  }





/* home_features
********************************************** */
  .home_features {
    position: relative;
    overflow: hidden;
    background-color: #000;
  }
  .home_features::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: 0;
    border-style: solid;
    border-width: 0 45.417vw 73.645vw 0;
    border-color: transparent #6b6c6b transparent transparent;
    opacity: .075;
  }
  .home_features .features-child {
    position: relative;
    z-index: 10;
  }
  .home_features .features-child:not(:last-child) {
    margin-bottom: 64px;
  }
  .home_features .txtarea {
    width: 37.5%;
    padding: 48px 72px 62px;
    background-color: #fff;
    transform: translateX(8.3vw);
  }
  .home_features .flex-reverse .txtarea {
    transform: translateX(-8.3vw);
  }
  .home_features .ttl {
    margin-bottom: 20px;
  }
  .home_features .ttl .num {
    display: block;
    margin-bottom: 6px;
    line-height: 1;
  }
  .home_features .ttl .jp {
display: inline-block;
    padding: 16px;
    color: #fff;
    background-color: #000;
    font-size: 1.7rem;
    line-height: 1.4;
    font-style: italic;
  }
  .home_features p:not(:last-child) {
    margin-bottom: .25em;
  }
  .home_features .imgarea {
    width: 62.5%;
    height: 680px;
  }

  @media print, screen and (max-height: 840px) {
    .home_features .imgarea {
      height: calc(100vw -100px);
    }
  }
  @media print, screen and (max-width: 1450px) {
    .home_features .txtarea {
      padding: 48px 2.5vw 62px;
      transform: translateX(6.3vw);
    }
    .home_features .flex-reverse .txtarea {
      transform: translateX(-6.3vw);
    }
    .home_features .ttl .jp {
      font-size: 2rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home_features .features-child:not(:last-child) {
      margin-bottom: 32px;
    }
    .home_features .txtarea {
      order: 2;
      position: relative;
      z-index: 2;
      width: 87%;
      padding: 24px 24px 32px;
      transform: translateY(-16px) !important;
    }
    .home_features .ttl {
      margin-bottom: 16px;
    }
    .home_features .ttl .jp {
      padding: 8px 10px;
      font-size: 6vw;
      white-space: nowrap;
    }
    .home_features p:not(:last-child) {
      margin-bottom: .75em;
    }
    .home_features .imgarea {
      width: 100%;
      height: 60vw;
    }
  }

/* home_business
********************************************** */
  .home_business {
    margin-bottom: 32px;
  }
  .home_business .inner {
    width: 93.334vw;
    max-width: 1920px;
  }
  .home_business .business-child {
    width: calc(33% - 20px);
    margin-bottom: 30px;
  }
  .home_business .business-child .link {
    position: relative;
    height: 480px;
    padding-left: 5vw;
    padding-right: 5vw;
    background-position: center;
    background-size: cover;
    text-align: center;
  }



/* home_features1
********************************************** */
  .home_features1 {
    position: relative;
    overflow: hidden;
    background-color: #000;
  }
  .home_features1::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    z-index: 0;
    border-style: solid;
    border-width: 0 45.417vw 73.645vw 0;
    border-color: transparent #6b6c6b transparent transparent;
    opacity: .075;
  }
  .home_features1 .features-child {
    /* position: relative; */
    /* z-index: 10; */
  }
  .home_features1 .features-child:not(:last-child) {
    margin-bottom: 64px;
  }
  .home_features1 .txtarea {
    width: 45%;
    padding: 48px 72px 62px;
    background-color: #000000;
    transform: translateX(8.3vw);
  }
  .home_features1 .flex-reverse .txtarea {
    transform: translateX(-8.3vw);
  }
  .home_features1 .ttl {
    margin-bottom: 20px;
  }
  .home_features1 .ttl .num {
    display: block;
    margin-bottom: 6px;
    line-height: 1;
  }
  .home_features1 .ttl .jp {
display: inline-block;
    padding: 16px;
    color: #fff;
    background-color: #000;
    font-size: 1.7rem;
    line-height: 1.4;
    font-style: italic;
  }
  .home_features1 p:not(:last-child) {
    margin-bottom: .25em;
  }
  .home_features1 .imgarea {
    width: 35%;
    /* height: 680px; */
    /* background-position: right; */
    /* background-repeat: no-repeat; */
    /* background-size: contain; */
    /* position: relative; */
    margin-right: -180px;
    flex: 1;
    /* margin-left: -52px; */
    /* padding-top: 16px; */
    padding-right: -5%;
    right: 0px;
  }

  @media print, screen and (max-height: 840px) {
    .home_features1 .imgarea {
      height: calc(100vw -100px);
    }
  }
  @media print, screen and (max-width: 1450px) {
    .home_features1 .txtarea {
      padding: 48px 2.5vw 62px;
      transform: translateX(6.3vw);
    }
    .home_features1 .flex-reverse .txtarea {
      transform: translateX(-6.3vw);
    }
    .home_features1 .ttl .jp {
      font-size: 2rem;
    }
  }
  @media screen and (max-width: 767px) {
    .home_features1 .features-child:not(:last-child) {
      margin-bottom: 32px;
    }
    .home_features1 .txtarea {
      order: 2;
      position: relative;
      z-index: 2;
      width: 87%;
      padding: 24px 24px 32px;
      transform: translateY(-16px) !important;
    }
    .home_features1 .ttl {
      margin-bottom: 16px;
    }
    .home_features1 .ttl .jp {
      padding: 8px 10px;
      font-size: 6vw;
      white-space: nowrap;
    }
    .home_features1 p:not(:last-child) {
      margin-bottom: .75em;
    }
    .home_features1 .imgarea {
      width: 100%;
      height: 60vw;
    }
  }






.b1{
background-image: url(../img/b1.jpg); 	
}

.b2{
background-image: url(../img/b2.jpg); 	
}
.b3{
background-image: url(../img/b3.jpg); 	
}
.b4{
background-image: url(../img/b4.jpg); 	
}
.b5{
background-image: url(../img/b5.jpg); 	
}
.b6{
background-image: url(../img/b6.jpg); 	
}





  .home_business .business-child:first-child .link { background-image: url(../images/home/business-img_electroforming.jpg); }
  .home_business .business-child:last-child .link { background-image: url(../images/home/business-img_others.jpg); }
  .home_business .business-child .link::before,
  .home_business .business-child .link::after {
    content: "";
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: .6;
  }
  .home_business .business-child .link::before {
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: 8px;
    border: dashed 1px #fff;
  }
  .home_business .business-child .link::after {
    top: 12px;
    left: 12px;
    right: 12px;
    bottom: 12px;
    border: solid 1px #fff;
  }
  .home_business .business-child .link > div {
    transition: all .4s ease-out;
  }
  .home_business .business-child .link:hover > div {
    opacity: .5;
  }
  .home_business .business-child .ttl {
    position: relative;
    padding-top: 50px;    padding-top: 76px;
    margin-bottom: 28px;
    font-size: 3rem; /* 56px */
    line-height: 1;
    letter-spacing: .05em;
    font-style: italic;
  }
  .home_business .business-child .ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 1px;
    height: 40px;
    margin: auto;
    background-color: #fff;argin-top: 110px;
  }
  .home_business .business-child .ttl .en {
    display: block;
    margin-top: 28px;
    color: #B60813;color: #
    font-size: 2rem; /* 32px */
    line-height: 1;
    letter-spacing: .01em;
  }

  @media print, screen and (max-width: 1750px) {
    .home_business .business-child p {
      text-align: left;
    }
    .home_business .business-child p br {
      display: none;
    }
  }
  @media screen and (max-width: 767px) {
    .home_business {
      margin-bottom: 16px;
    }
    .home_business .business-child {
      width: 100%;
      margin-bottom: 16px;
    }
    .home_business .business-child .link {
      height: 320px;
      padding-left: 8vw;
      padding-right: 8vw;
      background-size: cover;
    }
    .home_business .business-child .link::before {
      top: 4px;
      left: 4px;
      right: 4px;
      bottom: 4px;
    }
    .home_business .business-child .link::after {
      top: 6px;
      left: 6px;
      right: 6px;
      bottom: 6px;
    }
    .home_business .business-child .ttl {
      padding-top: 24px;
      margin-bottom: 16px;
      font-size: 2rem;
    }
    .home_business .business-child .ttl::before {
      height: 20px;
    }
    .home_business .business-child .ttl .en {
      margin-top: 16px;
      font-size: 1.25rem;
    }
  }


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

    PAGE

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

/* contact
********************************************** */
  .page-contact .lps_sec:nth-child(2n) {
    background-color: #fff;
  }
  .page-contact .lps_sec.contact {
    padding-top: 0;
  }
  .page-contact .cta_tel {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-contact .cta_tel a {
    margin-bottom: 8px;
    color: #fff;
    background-color: #000;
  }
  .page-contact .cta_tel .tel {
    padding-top: 4px;
    padding-bottom: 2px;
  }

  @media screen and (max-width: 767px) {
    .page-contact .cta_tel {
      max-width: 300px;
    }
    .page-contact .cta_tel a {
      margin-bottom: 0;
    }
    .page-contact .cta_tel .hours {
      font-size: .938rem;
    }
  }


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

    ARCHIVE

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

/* main_column
**************************************** */
  .main_column {
    flex: 1;
    margin-right: 80px;
    overflow: hidden;
  }
  .archive-works .main_column,
  .archive-interview .main_column,
  .archive-requirements .main_column { margin-right: 0; }

  /* --- post --- */
  .post { position: relative; }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .post--date {
    color: #aaa;
    white-space: nowrap;
  }
  .post--info.flex .post--date + .cat_list {
    margin-left: 16px;
  }
  .post--ttl {
    margin-bottom: 16px;
    font-size: 1.5rem; /* 24px */
    letter-spacing: .05em;
    color: #B60813;
  }
  .cat_list {
    position: relative;
    z-index: 1;
    overflow: hidden;display: none;
  }
  .cat_list a {
    display: inline-block;
    vertical-align: middle;
    font-size: .875rem; /* 14px */
    background-color: #E2E6E4;
    color: #000;
    padding: .1em .9em;
    float: left;
    white-space: nowrap;
    margin: 2px;
  }
  .cat_list a:hover {
    opacity: .7;
  }
  .no-img {
    background-size: 60% auto !important;
    background-color: #000909 !important;
    background-repeat: no-repeat !important;
  }

  @media print, screen and (max-width: 1100px) {
    .container > .inner.flex {
      display: block;
    }
    .main_column {
      width: 100%;
      margin-bottom: 40px;
      margin-right: 0;
    }
    .single-interview .main_column { margin-bottom: 0; }
    .post--info.flex .post--date + .cat_list {
      margin-left: 4px;
    }
    .post--ttl {
      margin-bottom: 12px;
      font-size: 1.25rem;
    }
    .post--date {
      min-width: 6em;
    }
  }

/* side_column
**************************************** */
  .side_column { width: 264px; }
  .archive-works .side_column,
  .archive-requirements .side_column { width: 100%; }

  /* --- archive-pulldown --- */
  .archive-pulldown {
    position: relative;
    margin-left: auto;
    z-index: 10;
  }
  .archive-pulldown .archive_list {
    position: relative;
  }
  .archive-pulldown .archive_list:not(:last-child) { margin-right: 24px; }
  .archive-pulldown .archive_list a {
    display: block;
    padding: .25em 1em;
    text-align: left;
  }
  .archive-pulldown .archive_list a:not(:last-child) { border-bottom: 1px solid #eee; }
  .archive-pulldown .archive_list a:hover {
    background-color: #eee;
  }
  .archive-pulldown .archive_list--label { margin-right: 8px; }
  .archive-pulldown .archive_list--btn {
    cursor: pointer;
    border: none;
    outline: none;
    appearance: none;
    padding: .25em 4em .25em 2em;
    background-color: #fff;
    border: 1px solid #ccc;
    font-family: 'Hiragino UD Sans W5 JIS2004', YuGothic, 'Yu Gothic', '繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: .08em;
  }
  .archive-pulldown .archive_list--btn::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: .4em;
    right: .8em;
    margin: auto;
    width: .6em;
    height: .6em;
    border-bottom: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    transition: all .2s ease-out;
  }
  .archive-pulldown .active .archive_list--btn::after {
    bottom: -.2em;
    transform: rotate(225deg);
  }
  .archive-pulldown .archive_list--menu {
    position: absolute;
    z-index: 10;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ccc;
    visibility: hidden;
    margin-top: -1px;
    opacity: 0;
    transition: all .2s ease-out;
  }
  .archive-pulldown .active .archive_list--menu {
    visibility: visible;
    opacity: 1;
  }

  /* --- works_cat_menu --- */
  .works_cat_menu {
    position: relative;
    z-index: 10;
  }
  .works_cat_menu--col {
    position: relative;
    z-index: 10;
    width: 200px;
    margin-left: auto;
    margin-right: 0;
  }
  .works_cat_menu--col .select {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 8px 16px;
    cursor: pointer;
    transition: all .2s ease-out;
  }
  .works_cat_menu--col .select::after {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform:translateY(-3px) rotate(45deg);
    transition: all .2s ease-out;
  }
  .works_cat_menu--col .select.close::after {
    transform: rotate(225deg);
    margin-top: 5px;
  }
  .menu_list {
    position: absolute;
    top: 42px;
    left: 0;
    width: 100%;
    display: none;
    background-color: #fff;
    margin-top: -3px;
    border: 1px solid #ccc;
    z-index: 10;
  }
  .menu_list li a {
    display: block;
    padding: 0.25em 1em;
    text-align: left;
    border-bottom: 1px solid #eee;
  }
  .menu_list li a:hover {
    background-color: #eee;
  }

  @media screen and (max-width: 767px) {
    /* --- works_cat_menu --- */
    .works_cat_menu--col {
      width: 86%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 40px;
    }
    .works_cat_menu--col .select {
      border: 1px solid #aaa;
      padding: 10px 12px;
    }
  }

/* 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;
  }

  /* --- news_list --- */
  .news_list .post {
    padding-bottom: 16px;
    padding-top: 16px;
    margin-bottom: 0;
    border-bottom: 1px solid #dedede;
  }
  .news_list .post--info {
    margin-right: 32px;
  }
  .news_list .post--date {
    width: 6rem;
  }
  .news_list .post--ttl {
    margin-bottom: 0;
    font-size: 1.125rem; /* 18px */
    line-height: 1.6;
    letter-spacing: .01em;
  }
  .news_list .post--link:not([href="javascript:void(0);"]):hover {
    color: #B60813;
  }
  .news_list .post--link:hover svg {
    fill: #B60813;
  }

  @media screen and (max-width: 767px) {
    .news_list .post {

      padding-bottom: 18px;
    }
    .news_list .post--info {
 margin-right: 10px;
      justify-content: space-between;
    }
    .news_list .post--info .cat_list a {
      float: right;
    }
  }

  /* interview
  **************************************** */
  .post-interview,
  .post-works {
    padding: 4px;
    border: 2px solid #fff;
    background-color: #fff;
    transition: all .4s ease-out;
  }
  .post-interview:hover,
  .post-works:hover {
    border-color: #000;
  }
  .post-interview .post--img,
  .post-works .post--img {
    position: relative;
    width: 100%;
    padding-top: 70%;
    background-position: center;
    background-size: cover;
  }
  .post-interview .post--img::before,
  .post-works .post--img::before {
    content: "MORE";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0,117,66,.3);
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.5rem; /* 24px */
    letter-spacing: .01em;
    color: #fff;
    opacity: 0;
    transition: all .4s ease-out;
  }
  .post-interview:hover .post--img::before,
  .post-works:hover .post--img::before {
    opacity: 1;
  }
  .post-interview .post--txtarea,
  .post-works .post--txtarea {
    padding: 24px 32px;
  }
  .post-interview .post--txtarea .name {
    margin-right: 24px;
  }

  @media screen and (max-width: 767px) {
    .post-interview,
    .post-works {
      padding: 2px;
      border: none !important;
    }
    .post-interview .post--img::before,
    .post-works .post--img::before {
      display: none;
    }
    .post-interview .post--txtarea,
    .post-works .post--txtarea {
      padding: 16px;
    }
    .post-interview .post--txtarea .name {
      margin-right: 12px;
    }
  }


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

    SINGLE

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

/* works
**************************************** */
  .single-works .main_column {
    overflow: visible;
  }
  .single-works .gallery li {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  @media all and (-ms-high-contrast: none) {
    .single-works .gallery li {
      display: block !important;
      text-align: center;
    }
    .single-works .gallery li img {
      display: block !important;
      margin-left: auto;
      margin-right: auto;
    }
  }

/* requirements
**************************************** */
.single-requirements .table1,
.single-works .table1 {
  width: 100%;
}
.single-requirements .table1 th,
.single-works .table1 th {
  width: 12em;
}

@media screen and (max-width: 767px) {
  .single-requirements .table1 th {
    width: 100%
  }
}

/* interview
**************************************** */
  .single-interview .page_ttl {
    text-align: left;
    padding: 31% 0 12%;
    max-height: 95vh;
  }
  .single-interview .page_ttl--bg {
    width: 100vw;
  }
  .single-interview .page_ttl--bg::before {
    display: none;
  }
  .single-interview .page_ttl .inner {
    max-width: 1440px;
  }
  .single-interview .page_ttl-en {
    position: absolute;
    top: -.5em;
    left: -.5em;
    z-index: -1;
    font-size: 6.5rem;
    line-height: 1;
    letter-spacing: .01em;
    color: #002823;
  }
  .single-interview .page_ttl-jp {
    position: static;
    top: auto;
    left: auto;
    bottom: auto;
    margin-left: -.1em;
    margin-bottom: .9em;
    font-size: 2.5rem;
    color: #fff;
  }
  .page_ttl-other .name {
    font-size: 1.25rem;
    line-height: 1;
    color: #fff;
  }
  .people-info * {
    position: relative;
    padding-right: 1em;
    margin-right: .3em;
    font-size: .75rem;
    line-height: 1;
    color: #fff;
  }
  .people-info *:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    width: .6em;
    height: 1px;
    border-top: 2px solid;
    right: 0;
    top: 0;
    bottom: -4px;
    margin: auto;
    opacity: .5;
  }
  .single-interview .table1 {
    width: 100%;
  }

  @media screen and (max-width: 767px) {
    .single-interview .page_ttl {
      height: auto;
      padding: 50% 0 5%;
    }
    .single-interview .page_ttl--bg {
      background-position: center right 40%;
    }
    .single-interview .page_ttl-en {
      top: -.5em;
      left: -.5em;
      font-size: 4.5rem;
    }
    .single-interview .page_ttl-jp {
      margin-left: -.1em;
      margin-bottom: .9em;
      font-size: 1.125rem;
    }
    .page_ttl-other .name {
      margin-bottom: 0;
      font-size: .786rem; /* 11px */
    }
    .interview--info {
      margin-bottom: 0;
    }
    .people--contents .imgarea,
    .interview--info .inner {
      width: 100%;
    }
  }

/* pass
**************************************** */
  #pass p {
    margin-bottom: 1em;
  }
  #pass input[name="post_password"] {
    padding: 5px;
    border: solid 1px #aaa;
    outline: none;
  }
  #pass input[type="submit"] {
    padding: 4px 16px;
    letter-spacing: .15em;
    background-color: #ddd;
    border-radius: 4px;
    outline: none;
    border: none;
    cursor: pointer;
    transition: all .4s ease-out;
  }
  #pass input[type="submit"]:hover {
    opacity: .7;
  }

/* wp-pagenavi
**************************************** */
  .wp-pagenavi {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 40px;
  }
  .wp-pagenavi .pages {
    display: block;
    text-align: center;
    width: 100%;
    margin-bottom: 1em;
  }
  .wp-pagenavi a {
    position: relative;
    padding: .5em 1em;
    background-color: #000;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .wp-pagenavi a:hover {
    opacity: .7;
  }
  .wp-pagenavi a {
    color: #fff;
  }
  .wp-pagenavi > *:not(.pages) {
    max-width: calc(100% / 2.6);
  }
  .archive .wp-pagenavi > *:not(.pages) {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 40px;
    height: 40px;
  }
  .wp-pagenavi-single a[rel="prev"],
  .wp-pagenavi-single a[rel="next"] {
    width: 40px;
  }
  .wp-pagenavi > *:not(.pages) {
    margin-bottom: 4px; 
  }
  .wp-pagenavi > *:not(.pages):not(:last-child) {
    margin-right: 4px;
  }
  .wp-pagenavi .extend {
    width: 24px !important;
  }
  .wp-pagenavi a[rel="prev"]::before,
  .wp-pagenavi a[rel="next"]::before,
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before,
  .wp-pagenavi .first::after,
  .wp-pagenavi .last::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-top: 2px solid;
    border-right: 2px solid;
  }
  .wp-pagenavi a[rel="prev"]::before,
  .wp-pagenavi a[rel="next"]::before,
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before,
  .wp-pagenavi .first::after,
  .wp-pagenavi .last::after {
    width: 8px;
    height: 8px;
  }
  .wp-pagenavi a[rel="prev"]::before,
  .wp-pagenavi .first::before,
  .wp-pagenavi .first::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .wp-pagenavi a[rel="next"]::before,
  .wp-pagenavi .last::before,
  .wp-pagenavi .last::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi-single a[rel="prev"]::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .wp-pagenavi-single a[rel="next"]::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before {
    left: -6px;
  }
  .wp-pagenavi .first::after,
  .wp-pagenavi .last::after {
    right: -6px;
  }

  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-top: 24px;
    }
    .archive .wp-pagenavi > *:not(.pages) {
      width: 32px;
      height: 32px;
    }
    .wp-pagenavi-single a[rel="prev"],
    .wp-pagenavi-single a[rel="next"] {
      width: 32px;
    }
    .wp-pagenavi .first::before,
    .wp-pagenavi .last::before {
      left: -5px;
    }
    .wp-pagenavi .first::after,
    .wp-pagenavi .last::after {
      right: -5px;
    }
  }


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

    FORMY

############################################################################## */
  #formy_form {
    margin-top: -80px;
    padding: 5vw;
    border: solid 2px #000;
    font-family: YuGothic, 'Yu Gothic', '繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
  }
  #formy_form table {
    width: 100%;
  }
  #formy_form th,
  #formy_form td {
    padding: 24px 16px;
    vertical-align: middle;
    border-bottom: solid 1px #eee;
  }
  #formy_form th {
    white-space: nowrap;
    text-align: left;
    width: 34%;
    font-family: YuGothic, 'Yu Gothic', '繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
  }
  #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%;
    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: 1rem;
  }
  #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: .875rem; /* 14px */
    color: #999;
  }
  .hidden_help { display: none; }
  .formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: .875rem; /* 14px */
    padding: 8px 16px;
  }
  .requiredIcon {
    background-color: #E60012;
    color: #fff;
    margin: 0 0 0 1em;
    font-size: .75rem; /* 12px */
    padding: 2px 5px;
    border-radius: 3px;
    float: right;
  }
  #formy_btn {
    padding-top: 32px;
    text-align: center;
  }
  #formy_btn button {
    font-size: inherit;
    border: none;
    cursor: pointer;
    color: #fff;
    border-radius: 3px;
    padding: 16px 32px;
    -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: #E60012;
    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 #E60012;
    border-bottom: 2px solid #E60012;
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .formy_confirm { background-color: #E60012; }
  .formy_submit_disabled { background-color: #ccc; }
  #formy_btn .formy_submit_disabled:hover {
    opacity: 1;
    cursor: default;
  }
  .autoConfirmBack { background-color: #aaa; }
  .formy_send { background-color: #E60012; }
  #total_required {
    padding: 16px;
    color: #E60012;
    text-align: center;
  }

  @media print, screen and (min-width: 768px) {
    #formy_form .confirm-message {
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    #formy_form {
      margin-top: -24px;
      padding: 5vw 5vw 8vw;
    }
    #formy_form th,
    #formy_form td {
      display: block;
      width: auto;
      padding-left: 0;
      padding-right: 0;
    }
    #formy_form th {
      border-bottom:none;
      padding-bottom: 8px;
      white-space: normal;
      font-weight: bold;
    }
    #formy_form td { padding-top: 0; }
    #formy_btn { padding-top: 8px; }
    #formy_btn input {
      width: 100%;
      background-size: contain;
      background-position: center;
    }
    .autoConfirmBack { margin-bottom: 8px; }
    #formy_form ul li label::before {
      top: 10px;
    }
    #formy_form ul li input[type="radio"]:checked + label::after,
    #formy_form ul li input[type="checkbox"]:checked + label::after {
      top: 2px;
    }
  }
.cta_tel1 a {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
    letter-spacing: .025em;
}
.footer--tel1 a {
    display: flex !important;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #000000;
	color: #ffffff;
}
.footer--tel1 {
display: block;
}

.cta_tel1 {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.home_about1 .home-ttl-01 .bg {
    font-size: 8.5rem;
    line-height: 1;
    color: #ffdbd7;
    letter-spacing: -.01em;
}
.home_about2 .home-ttl-01 .bg {
    font-size: 8.5rem;
    line-height: 1;
    color: #ffdbd7;
    letter-spacing: -.01em;
}

.home_features1 .home-ttl-01 .bg {
    font-size: 8.5rem;
    line-height: 1;
    color: #ffdbd7;
    letter-spacing: -.01em;
} 