/* ##############################################################################

    COMMON

############################################################################## */

  html {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
  }
  body {
    position: relative;
    height: 100%;
  }
  a {
    text-decoration: none;
    transition: all .4s ease-out;
  }
  h1, h2, h3, h4, h5, h6 { line-height: 1.4; }

/* layout
**************************************** */

  /* --- inner --- */
  .inner {
    width: 90%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner-lg { max-width: calc(100% - 112px); }
  .inner-sm { max-width: 1200px; }
  .inner-xsm { max-width: 1184px; }

  /* --- section_pdg --- */
  .section_pdg-lg {
    padding-top: 174px;
    padding-bottom: 150px;
  }
  .section_pdg {
    padding-top: 156px;
    padding-bottom: 142px;
  }
  .section_pdg-sm {
    padding-top: 126px;
    padding-bottom: 104px;
  }

  /* --- float --- */
  .flt-rgt { float: right; }
  .flt-lft { float: left; }

  /* --- position --- */
  .pos_rel {
    position: relative;
    z-index: 0;
  }

  /* --- linkarea --- */
  .linkarea {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }

  /* --- margin --- */
  .mgn-btm8 { margin-bottom: 8px; }
  .mgn-btm16 { margin-bottom: 16px; }
  .mgn-btm24 { margin-bottom: 24px; }
  .mgn-btm32 { margin-bottom: 32px; }
  .mgn-btm40 { margin-bottom: 40px; }
  .mgn-btm48 { margin-bottom: 48px; }
  .mgn-btm56 { margin-bottom: 56px; }
  .mgn-btm64 { margin-bottom: 64px; }
  .mgn-btm72 { margin-bottom: 72px; }
  .mgn-btm80 { margin-bottom: 80px; }

  /* --- pc or sp --- */
  .pc-none,
  .pc-none-inline,
  .pc-none-table,
  .pc-none-flex { display: none; }
  .sp-none { display: block; }
  .sp-none-inline { display: inline; }
  .sp-none-table { display: table; }
  .sp-none-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  @media screen and (max-width: 768px) {
    .mgn-btm16 { margin-bottom: 8px; }
    .mgn-btm24 { margin-bottom: 16px; }
    .mgn-btm32 { margin-bottom: 16px; }
    .mgn-btm40 { margin-bottom: 24px; }
    .mgn-btm48 { margin-bottom: 24px; }
    .mgn-btm56 { margin-bottom: 32px; }
    .mgn-btm64 { margin-bottom: 32px; }
    .mgn-btm72 { margin-bottom: 40px; }
    .mgn-btm80 { margin-bottom: 40px; }
    .sp-none,
    .sp-none-inline,
    .sp-none-table,
    .sp-none-flex { display: none; }
    .pc-none { display: block; }
    .pc-none-inline { display: inline; }
    .pc-none-table { display: table; }
    .pc-none-flex {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }

    /* --- section_pdg --- */
    .section_pdg {
      padding-top: 40px;
      padding-bottom: 40px;
    }
    .section_pdg-lg {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .section_pdg-sm {
      padding-top: 60px;
      padding-bottom: 60px;
    }
  }

/* flex
**************************************** */

  /* --- ブロック要素 --- */
  .flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  /* --- インライン要素 --- */
  .flex-inline {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }

  /* --- 逆向き --- */
  .flex-reverse {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  /* --- 縦並び --- */
  .flex-column {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  /* --- 水平方向揃え --- */
  .flex-j-start {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .flex-j-end {
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .flex-j-ctr {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .flex-j-between {
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .flex-j-around {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }

  /* --- 垂直方向揃え --- */
  .flex-a-start {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .flex-a-end {
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .flex-a-ctr {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .flex-a-baseline {
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
  }
  .flex-a-stretch {
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  /* --- 子要素の折り返し設定 --- */
  .flex-c-nowrap {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .flex-c-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  /* --- 子要素の複数行設定 --- */
  .flex-c-reverse {
    -webkit-flex-wrap: wrap-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
  }
  .flex-c-start {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .flex-c-start {
    -webkit-align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .flex-c-end {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
  }
  .flex-c-ctr {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
  }
  .flex-c-baseline {
    -webkit-align-content: baseline;
    -ms-flex-line-pack: baseline;
    align-content: baseline;
  }
  .flex-c-stretch {
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
  }
  
  /* --- ざっくりflexレイアウト --- */
  .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: 31.33%;
    margin-right: 3%;
    margin-bottom: 3%;
  }
  .flex-col3 > *:nth-child(3n+3) { margin-right: 0; }
  .flex-col4 > * {
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .flex-col4 > *:nth-child(4n+4) { margin-right: 0; }

  @media screen and (max-width: 767px) {
    /* --- 縦並び - sp --- */
    .flex-sp-block {
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    
    /* --- ざっくり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+3) {
      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+4) {
      width: 31.33%;
      margin-right: 3%;
      margin-bottom: 3%;
    }
    .flex-sp-col3 > *:nth-child(3n+3) { margin-right: 0; }
  }

/* txt
**************************************** */
  .txt-ctr { text-align: center; }
  .txt-lft { text-align: left; }
  .txt-rgt { text-align: right; }

/* page_ttl
********************************************** */
  #page_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #37b top center fixed;
    background-size: auto;
    height: 460px;
    text-align: center;
    color: #fff;
    position: relative;
  }
  .single-item #page_ttl {
    height: 320px;
  }
  #page_ttl_in {
    position: relative;
    overflow: hidden;
  }
  #page_ttl_in .container {
    position: relative;
    padding-top: 160px;
    padding-bottom: 96px;
    z-index: 10;
    line-height: 1.5;
  }
  #page_ttl_in .container small {
    display: block;
    text-align: center;
    font-size: 60%;
  }
  #page_ttl_in .page_ttl-jp {
    display: block;
    margin-bottom: .16em;
    font-size: 320%;
  }
  #page_ttl_in .page_ttl-en {
    display: inline-block;
    font-size: 120%;
    text-transform: uppercase;
  }

  @media screen and (max-width: 992px) {
    #page_ttl,
    #page_ttl_in::before {
      background-size: auto 120px;
      background-position: top 65px center;
    }
    #page_ttl_in .container {
      padding-top: 96px;
      padding-bottom: 32px;
    }
    #page_ttl_in .page_ttl-jp {
      font-size: 200%;
    }
  }
  @media screen and (max-width: 767px) {
    #page_ttl {
      height: 160px;
      margin-top: 60px;
      background-size: auto 220px;
      background-position: 54% top;
      background-repeat: no-repeat;
    }
    .single-item #page_ttl {
      height: 160px;
    }
    #page_ttl_in {
      width: 100%;
    }
    #page_ttl_in .container {
      padding-top: 0;
      padding-bottom: 0;
    }
  }

/* ttl
********************************************** */
  .section_ttl {
    position: relative;
    font-size: 320%;
    font-weight: 900;
    letter-spacing: .3em;
    text-align: center;
    padding-top: 1.25em;
    margin-bottom: 1em;
  }
  .section_ttl.txt-lft {
    text-align: left;
  }
  .home .section_ttl {
    margin-bottom: 2.5em;
  }
  .section_ttl::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 60px;
    height: 22px;
  }
  .section_ttl.txt-lft::before {
    right: inherit;
  }
  .section_ttl small {
    display: block;
    font-size: 37.5%;
    font-weight: 500;
    margin-top: 2em;
    letter-spacing: .3em;
  }
  .ttl-01 {
    font-size: 267%;
    margin-bottom: .6em;
  }
  .section_catch {
    margin-bottom: 1em;
    font-size: 267%;
    text-align: center;
    color: rgb(0,157,117);
  }

  @media screen and (max-width: 767px) {
    .section_ttl {
      font-size: 6.6vw;
      letter-spacing: .18em;
    }
    .section_ttl::before {
      width: 40px;
    }
    .section_ttl small {
      margin-top: 1.2em;
    }
    .home .section_ttl {
      margin-bottom: 1.2em;
    }
    .section_catch {
      padding-left: 5%;
      padding-right: 5%;
      font-size: 7vw;
    }
  }

/* font
********************************************** */
  .f-bld {
    font-weight: 500;
  }
  .f-bk {
    font-weight: 900;
  }
  .f-14 {
    font-size: 94%;
  }
  .f-18 {
    font-size: 120%;
  }

/* background & color
********************************************** */
  .c-wh,
  .c-wh * {
    color: #fff !important;
  }


/* ##############################################################################

    HEADER

############################################################################## */

  #header {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    transition: all .2s ease-out;
    padding-top: 30px;
  }
  .inner-header {
    padding-left: 32px;
  }
  .inner-header > *:not(:last-child) {
    margin-right: 24px;
  }
  .head--logo {
    line-height: 48px;
    font-size: 200%;
    max-width: 260px;
    white-space: nowrap;
  }
  .head--logo a { display: block; }
  .head--logo a:hover { opacity: .7; }
  .head--logo span {
    display: block;
    line-height: 1.8;
    font-size: 47%;
    letter-spacing: .2em;
    margin-bottom: .5em;
  }
  .subpage .head--logo {
    display: none;
  }
  .head--tel {
    display: none;
    background-image: url(../images/common/ico_tel.png);
  }
  .head--contact {
    height: 60px;
    padding: 1.5em 5em 1.5em 1.5em;
    line-height: 1.3;
    background-image: url(../images/common/ico_mail.png);
    background-repeat: no-repeat;
    background-position: center right 1.5em;
  }

  @media screen and (max-width: 1620px) {
    #header {
      font-size: 93%;
    }
    .inner-header > *:not(:last-child) {
      margin-right: 16px;
    }
    .head--contact {
      background-size: 31.62px;
    }
  }
  @media screen and (max-width: 1198px) {
    .inner-header {
      padding-left: 18px;
    }
    .inner-header > *:not(:last-child) {
      margin-right: 8px;
    }
    .head--contact {
      background-size: 25.62px;
      padding: 1.5em 3.7em 1.5em 1em;
      background-position: center right 1.1em;
    }
  }
  @media screen and (max-width: 767px) {
    #header {
      position: fixed;
      top: 0;
      width: 100%;
      padding: 6px 0 0;
      height: 60px;
      background-color: rgb(0,157,117);
    }
    #header .container { width: 100%; }
    .inner-header {
      padding-left: 2.5%;
    }
    .inner-header > *:not(:last-child) {
      margin-right: 0;
    }
    .header_table {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
    }
    .subpage .head--logo {
      display: block;
    }
    .head--logo {
      font-size: 184%;
    }
    .head--logo img {
      padding: 0;
      height: auto;
      max-height: auto;
      max-width: 80%;
    }
    #header .head--logo img {
      max-width: 64%;
      height: auto;
    }
    .head--logo span {
      font-size: 44%;
    }
    #header .head--contact {
      display: none;
    }
  }

/* gnav
********************************************** */
  #gnav {
    position: relative;
    cursor: none;
    margin-left: 0;
  }
  .cursor,
  .follower {
    position: fixed;
    z-index: 10000;
  }
  .cursor {
    width: 8px;
    height: 8px;
    background-color: #000;
    border-radius: 50%;
    pointer-events: none;
  }
  .follower {
    width: 34px;
    height: 34px;
    background-image: url(../images/common/pointer.png);
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    opacity: 0;
  }
  .follower.is-active {
    opacity: 1;
  }
  .gnav--logo {
    white-space: nowrap;
  }
  .home .gnav--logo {
    display: none;
  }
  .gnav--logo a {
    color: #857A63 !important;
  }
  .gnav--logo a:hover {
    opacity: .7;
  }
  .gnav--logo a > *:not(:last-child) {
    margin-right: 1em;
  }
  .gnav--logo span {
    display: block;
    line-height: 1.4;
    font-size: 86%;
  }
  .gnav--menu li {
    position: relative;
  }
  .gnav--menu li:not(:nth-child(n+8))::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: calc(100% - 6px);
    width: 2px;
    background-color: #a6bf94;
  }
  .gnav--menu li:hover .head_sub_nav {
    visibility: visible;
    opacity: 1;
  }
  .gnav--menu a {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    height: 60px;
    text-decoration: none;
    padding: 1em 2em;
    line-height: 1.3;
    cursor: none;
  }
  .gnav--menu li:not(.gnav--logo) a {
    width: 143px;
    justify-content: center;
  }
  .gnav--menu a:hover {
    color: #857A63;
  }
  .gnav_sub_toggle {
    display: none;
    cursor: pointer;
  }
  .gnav--menu .head_sub_nav a::before { display: none; }
  .gnav--menu .head_sub_nav a:hover { opacity: .7; }
  .gnav--menu .gnav--tel { display: none; }
  .head_sub_nav {
    position: absolute;
    z-index: 100;
    font-size: 93%;
    text-align: left;
    display: block;
    visibility: hidden;
    opacity: 0;
    transition: all .2s;
  }

  @media screen and (max-width: 1600px) {
    .gnav--menu a {
      padding: 1em 1.5em;
    }
  }
  @media screen and (max-width: 1400px) {
    .gnav--menu li:not(.gnav--logo) a {
      width: auto;
    }
  }
  @media screen and (max-width: 1198px) {
    .gnav--menu a {
      padding: 1em 1.1em;
    }
  }
  @media screen and (max-width: 1109px) {
    .gnav--logo span { display: none; }
  }
  @media screen and (max-width: 767px) {
    .cursor,
    .follower {
      display: none;
    }

    #gnav {
      display: none;
      border: none;
      text-align: center;
      font-size: 100%;
    }
    .gnav--menu {
      position: fixed;
      height: 100%;
      width: 100%;
      margin: 0;
      padding: 28px 5% 24px;
      top: 60px;
      left: 0;
      z-index: 300;
      overflow: scroll;
      background-color: rgb(202, 224, 218);
      background-image: none !important;
    }
    .gnav--menu li {
      position: relative;
      display: block;
      margin-bottom: 4px;
    }
    .gnav--menu li.gnav--logo { display: none; }
    .gnav--menu li:not(:last-child)::before {
      display: none;
    }
    .gnav--menu .gnav--menuIcon {
      margin: 0;
    }
    .gnav--menu a {
      padding: 18px 14px;
      background-color: #fff;
      color: #fff;
      font-size: 114%;
      border-radius: 4px;
    }
    .gnav--menu a::before {
      display: none;
    }
    .gnav_sub_toggle {
      position: absolute;
      top: 0;
      right: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      font-size: 10px;
      width: 40px;
      height: 40px;
      color: #fff;
      -webkit-transition: all .2s;
      -moz-transition: all .2s;
      transition: all .2s;
    }
    .gnav_sub_toggle.active {
      transform: rotate(180deg);
    }
    .gnav--menu .head_sub_nav {
      margin: 0;
      width: 100%;
      position: relative;
    }
    .gnav--menu .head_sub_nav li {
      border: none;
      border-radius: 4px;
    }
    .gnav--menu .head_sub_nav a {
      padding: 10px;
      border-radius: 4px;
      background-color: #fff;
      color: #000 !important;
      text-align: center;
    }
    .gnav--menu .gnav--tel {
      display: block;
    }
    .gnav--menu .gnav--tel a {
      display: table;
      margin: 0 auto;
      padding: 10px 40px;
      border: 1px solid #fff;
      border-radius: 0;
      font-size: 120%;
    }
    .gnav_btn {
      position: fixed;
      top: 0;
      right: 0;
      width: 60px;
      height: 60px;
      background-color: #fff;
      z-index: 9999;
    }
    .gnav_btn--lines {
      position: relative;
      width: 24px;
      height: 13px;
    }
    .gnav_btn--lines span {
      transition: all .4s;
      box-sizing: border-box;
    }
    .gnav_btn--lines span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: rgb(0,157,117);
    }
    .gnav_btn--lines span:nth-of-type(1) {
      top: 0;
    }
    .gnav_btn--lines span:nth-of-type(2) {
      top: 6px;
    }
    .gnav_btn--lines span:nth-of-type(3) {
      bottom: 0;
    }
    .active .gnav_btn--lines span:nth-of-type(1) {
      -webkit-transform: translateY(6px) rotate(-35deg);
      transform: translateY(6px) rotate(-35deg);
    }
    .active .gnav_btn--lines span:nth-of-type(2) {
      opacity: 0;
    }
    .active .gnav_btn--lines span:nth-of-type(3) {
      -webkit-transform: translateY(-6px) rotate(35deg);
      transform: translateY(-6px) rotate(35deg);
    }
    .head--tel {
      position: absolute;
      top: 0;
      right: 60px;
      width: 60px;
      height: 60px;
      background-color: #d6e4e0;
      display: block;
      background-repeat: no-repeat;
      background-position: center;
    }
  }

/* ##############################################################################

    FOOTER

############################################################################## */

  #footer {
    position: relative;
    background-image: url(../images/green_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding-top: 120px;
    padding-bottom: 120px;
  }

  @media screen and (max-width: 767px) {
    #footer {
      background-image: none;
    }
  }

/* foot_contact
********************************************** */
  #foot_contact {
  }
  .contact--ttl {
    font-size: 267%;
    padding-top: 1.5em;
  }
  .footer--ttl {
    font-size: 200%;
    font-weight: normal;
    line-height: 1;
    margin-bottom: 32px;
  }
  .foot--tel {
    display: block !important;
    font-size: 288%;
    font-weight: 600;
  }
  .foot--tel small {
    font-size: 47%;
  }

  @media screen and (max-width: 767px) {
  }

/* fnav
********************************************** */
  .foot--logo a {
    display: block;
  }
  .foot--logo a:hover {
    opacity: .7;
  }
  .foot--logo span {
    display: block;
    line-height: 1.8;
    letter-spacing: .1em;
    margin-bottom: 1em;
  }
  .foot--company {
    font-weight: 500;
    margin-bottom: .8em;
  }
  .foot--address p {
    line-height: 2.1;
  }
  .foot--address .tel > *:not(:last-child) {
    margin-right: 1em;
  }
  .fnav--menu li {
    position: relative;
    padding-left: 1.5em;
  }
  .fnav--menu li::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: .5em;
    height: 2px;
    background-color: #fff;
  }
  .fnav--menu a {
    display: block;
    padding-top: .4em;
    padding-bottom: .4em;
    letter-spacing: .1em;
  }

  @media screen and (max-width: 767px) {
    #footer {
      padding-top: 40px;
      padding-bottom: 92px;
    }
    .contact--ttl {
      padding-top: 1.1em;
      margin-bottom: .4em;
    }
    .foot--tel {
      margin-bottom: 20px;
      font-size: 214%;
    }
    .foot--tel small { font-size: 64%; }
    .foot--logo { text-align: center; }
    .foot--logo img { margin: 0 auto; }
    #fnav {
      margin-top: 8px;
      width: 93%;
    }
  }

/* page_top
********************************************** */
  #page_top {
    display: block;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    width: 64px;
    height: 64px;
    font-size: 90%;
  }
  #page_top::before,
  #page_top::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    transition: all .2s;
  }
  #page_top::before {
    bottom: 8px;
    height: 48px;
  }
  #page_top::after {
    bottom: 40px;
    height: 16px;
    transform: rotate(25deg) translate(-4px,0);
  }
  #page_top:hover::before { height: 56px; }
  #page_top:hover::after { bottom: 48px; }
  @media all and (-ms-high-contrast:none) {
    #page_top::after {
      top: 8px;
      height: 16px;
      transform: rotate(25deg) translate(-3px,0);
    }
    #page_top:hover::after { bottom: 56px; }
  }
  #page_top span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: table;
    transform: rotate(90deg) translate(0,-32px);
  }
  @-moz-document url-prefix() {
    #page_top span {
      transform: rotate(90deg) translate(18px,-16px);
    }
  }
  @media all and (-ms-high-contrast:none) {
    #page_top span {
      transform: rotate(90deg) translate(18px,-32px);
    }
  }
  @media screen and (max-width: 767px) {
    #page_top { display: none; }
  }

/* pbll
********************************************** */
  .copyright {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .copyright p {
    font-size: 80%;
    margin-right: 1.5em;
  }
  .pbll {
    display: block;
    opacity: .5;
  }
  .pbll:hover { opacity: 1; }


/* ##############################################################################

    INDEX

############################################################################## */

  .home #wrapper {
    background-color: #fff;
  }

/* main_visual
********************************************** */
  .sm-slider {
    background-color: #000;
    z-index: -1;
  }
  .main_visual {
    position: relative;
    max-height: 910px;
    height: 100vh;
    background-size: cover;
    background-position: center;
  }
  .inner-mv {
    max-width: 1600px;
    width: 90%;
    height: calc(100% - 40px);
  }
  .mv--btn {
    display: block;
  }

  @media screen and (max-width: 767px) {
    .main_visual {
      height: 540px;
      margin-top: 60px;
      overflow: hidden;
    }
    .sm-slider::after {
      background-color: rgba(0,0,0,.3);
    }
    .mv--btn {
      position: absolute;
      bottom: -42px;
      right: -27px;
      width: 200px;
    }
  }

/* home_message
********************************************** */
  .home_message {
    padding-top: 156px;
  }
  .home_message .section_ttl {
    margin-bottom: 1.5em;
  }

/* home_feature
********************************************** */
  .inner-home_feature {
    max-width: calc(100% - 30px);
  }
  .home_feature--box {
    counter-increment: num;
    position: relative;
    overflow: hidden;
    margin-bottom: 1px;
  }
  .home_feature--txt {
    position: relative;
    width: 45%;
    height: 680px;
    background-color: #fff;
    z-index: 1;
    padding-right: 64px;
  }
  .home_feature--txt .num {
    font-size: 796%;
    letter-spacing: .1em;
    line-height: 1;
    margin-bottom: .5em;
    font-weight: 500;
    color: #009d75;
  }
  .home_feature--txt .num2 {
    margin-bottom: .2em;
  }
  .home_feature--txt .num img {
    margin-right: 14px;
  }
  .home_feature--txt .num--icon1, 
  .home_feature--txt .num--icon3 {
    vertical-align: bottom;
  }
  .home_feature--img {
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    height: 100%;
    opacity: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
  }
  .home_feature--box.active .home_feature--img {
    width: 55%;
    opacity: 1;
  }
  .home_feature--box:nth-child(odd) .home_feature--txt {
    margin-left: auto;
    padding-left: 64px;
    padding-right: 0;
  }
  .home_feature--box:nth-child(odd) .home_feature--img {
    left: 0;
    right: inherit;
  }
  .home_feature--img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: inherit;
  }
  .home_feature .ttl-01 {
    position: relative;
    display: table;
    font-size: 347%;
    font-weight: 900;
    letter-spacing: .2em;
    background-color: #fff;
    padding-left: 1em;
    margin-left: -1em;
  }
  .home_feature .ttl-01::before,
  .home_feature .ttl-01 span {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .home_feature .ttl-01::before {
    content: '';
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
  }
  .home_feature--box:nth-child(odd) .ttl-01 {
    padding-left: 0;
    margin-left: 0;
    padding-right: 1em;
    margin-right: -1em;
  }
  .home_feature--box:nth-child(odd) .ttl-01::before {
    left: inherit;
    right: 0;
  }
  .home_feature .ttl-01 span {
    width: 140%;
    transform: translate(-200%);
    height: 3px;
    background-image: url(../images/common/line.png);
    background-repeat: repeat-x;
    z-index: -1;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -o-transition: all .6s ease-out;
    transition: all .6s ease-out;
  }
  .home_feature--box:nth-child(odd) .ttl-01 span {
    transform: translate(170%);
  }
  .home_feature .ttl-01.active span {
    transform: translate(-100%);
  }
  .home_feature--box:nth-child(odd) .ttl-01.active span {
    transform: translate(70%);
  }
  .home_feature .ttl-02 {
    font-size: 214%;
    letter-spacing: .15em;
  }
  .home_feature--btn {
    position: relative;
    margin-top: 150px;
    background-image: url(../images/btn_miushipon_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 160px;
    border: 3px solid;
    border-radius: 20px;
    padding-left: 100px;
    padding-right: 96px;
    overflow: hidden;
  }
  .home_feature--btn span::before,
  .home_feature--btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
  }
  .home_feature--btn::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 58px;
    margin: auto;
    width: 12px;
    height: 12px;
    border-radius: 50%;
  }
  .home_feature--btn span::before {
    width: 100%;
    height: 100%;
    transition: all .4s ease-out;
  }
  .home_feature--btn::after {
    bottom: 0;
    margin: auto;
    width: 58px;
    height: 3px;
    background-image: url(../images/common/line.png);
    background-repeat: no-repeat;
  }
  .btn.home_feature--btn span {
    font-size: 254%;
    font-weight: 600;
    letter-spacing: .2em;
  }
  .home_feature--btn:hover a::after {
    width: 3.8em;
  }
  .btn.home_feature--btn a {
    border: 0;
  }
  .home_feature--btn .linkarea,
  .home_feature--btn .linkarea:hover {
    background-color: transparent;
  }
  .home_feature--btn .linkarea {
    position: absolute;
    padding: 0;
  }
  .home_feature--btn .linkarea::after {
    display: none;
  }

  @media screen and (min-width: 1800px) {
    .inner-home_feature {
      max-width: calc(100% - 240px);
    }
  }

  @media screen and (min-width: 1600px) {
    .home_feature--txt {
      padding-left: 140px;
    }
    .home_feature--box:nth-child(odd) .home_feature--txt .txt {
      padding-right: 140px;
    }
  }

  @media screen and (max-width: 1400px) {
    .home_feature--txt {
      width: 50%;
    }
    .home_feature--img {
      width: 50%;
    }
  }

  @media screen and (max-width: 1080px) {
    .home_feature--box {
      font-size: 84%;
    }
  }

  @media screen and (max-width: 767px) {
    .home_message {
      padding-top: 60px;
      padding-bottom: 40px;
    }
    .home_feature .section_ttl {
      margin-bottom: 1em;
    }
    .inner-home_feature {
      width: 100%;
      max-width: 100%;
    }
    .home_feature--txt, 
    .home_feature--img,
    .home_feature--box.active .home_feature--img  {
      position: static;
      width: 100%;
      height: auto;
    }
    .home_feature--txt, 
    .home_feature--box:nth-child(odd) .home_feature--txt {
      padding: 5%;
    }
    .home_feature--txt .num {
      margin-bottom: 14px;
      letter-spacing: .04em;
      text-indent: -.04em;
      font-weight: 800;
      font-size: 340%;
      float: left;
    }
    .home_feature--txt .num img {
      display: none;
    }
    .home_feature .ttl-01 {
      background-color: transparent;
      padding-left: 8px;
      margin-left: 0;
      font-size: 244%;
      letter-spacing: .08em;
    }
    .home_feature--box:nth-child(odd) .ttl-01 {
      padding-left: 8px;
      padding-right: 0;
      margin-left: 0;
      margin-right: 0;
    }
    .home_feature .ttl-01::before {
      display: none;
    }
    .home_feature .ttl-02 {
      font-size: 183%;
      margin-bottom: .5em;
    }
    .home_feature--img img {
      position: static;
      max-width: 100%;
      height: auto;
      transform: translate(0);
    }
    .home_feature--btn {
      display: block;
      height: auto;
      margin-top: 50px;
      padding-left: 50px;
      padding-right: 16px;
      padding-top: 24px;
      padding-bottom: 24px;
    }
    .home_feature--btn::before { left: 24px; }
    .home_feature--btn::after { width: 35px; }
    .btn.home_feature--btn span {
      display: block;
      letter-spacing: .08em;
      margin-bottom: 6px;
      font-size: 6vw;
    }
    .btn.home_feature--btn a {
      width: 92%;
      margin: 0 auto;
    }
    .home_feature--btn .linkarea {
      width: 100%;
    }

  }

/* home_item
********************************************** */
  .home_item--list li {
    position: relative;
  }
  .home_item--list .linkarea {
    z-index: 2;
  }
  .home_item--img {
    position: relative;
    height: 280px;
    overflow: hidden;
    background-color: #fff;
  }
  .home_item--img::before,
  .home_item--img p::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
  }
  .home_item--img::before {
    width: 0;
    z-index: 1;
    transition: all .4s ease-out;
  }
  .home_item--list li:hover .home_item--img::before {
    width: 100%;
  }
  .home_item--img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: inherit;
  }
  .home_item--img p {
    font-size: 300%;
    font-weight: 900;
  }
  .home_item--img p::before {
    width: 100%;
  }
  .home_item .flex-col3 > * {
    width: 31%;
    margin-right: 3.5%;
  }
  .home_item .flex-col3 > *:nth-child(3n+3) { margin-right: 0; }
  .home_item--ttl {
    position: relative;
    font-size: 160%;
    padding: 1.3em 1em 1.3em 2.2em;
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
  }
  .home_item--ttl::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: .8em;
    margin: auto;
    width: .7em;
    height: .48em;
    background-image: linear-gradient(#fff 35%, transparent 35%, transparent 65%,#fff 65%, #fff);
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
  }
  .home_item--list li:hover .home_item--ttl {
    padding-left: 3em;
  }
  .home_item--list li:hover .home_item--ttl::after {
    width: 1.6em;
  }

  @media screen and (max-width: 767px) {
    .home_item .flex-col3 > * {
      width: 100%;
    }
    .home_item--ttl {
      font-size: 120%;
      padding: .8em 1em .8em 2.2em;
    }
    .home_item--img {
      height: auto;
    }
    .home_item--img img {
      position: static;
      transform: translate(0,0);
      width: 100%;
    }
  }

/* home_company
********************************************** */
  .home_company,
  .home_news {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .home_company {
    background-image: url(../images/company_bg.jpg);
  }
  .home_company .section_ttl,
  .home_news .section_ttl {
    margin-bottom: 0;
    margin-right: 3.5em;
  }
  .home_company--content .txt {
    flex: 1;
    margin-right: 44px;
  }
  .home_company--content .txt .ttl-03 {
    color: #857A63;
  }
  .home_company--content .btn a:hover {
    background-color: rgba(255,255,255,1);
  }
  .home_company--content .btn a:hover::after {
    width: 3.8em;
    background-image: linear-gradient(rgb(189,229,175) 30%, transparent 30%, transparent 70%,rgb(189,229,175) 70%, rgb(189,229,175));
  }

  @media screen and (max-width: 1300px) {
    .home_company .section_ttl,
    .home_news .section_ttl {
      margin-right: 1em;
    }
  }
  @media screen and (max-width: 767px) {
    .home_company {
      background-image: none;
    }
    .home_company .section_ttl, 
    .home_news .section_ttl {
      margin-right: 0;
      margin-bottom: 24px;
      text-align: center;
    }
    .home_company .section_ttl::before, 
    .home_news .section_ttl::before {
      right: 0;
      margin: 0 auto;
    }
    .home_company--content { text-align: center; }
    .home_company--content .txt { margin-right: 0; }
  }

/* home_news
********************************************** */
  .home_news {
    background-image: url(../images/news_bg.jpg);
  }
  .home_news .news_list {
    width: 64%;
  }
  .home_news .news_list .post {
    padding: 0;
  }
  .home_news .news_list .post:not(:last-child) {
    margin-bottom: 20px;
    border: 0;
  }

  @media screen and (max-width: 1300px) {
    .home_news .news_list {
      width: 74%;
    }
  }
  @media screen and (max-width: 767px) {
    .home_news .news_list {
      width: 100%;
    }
  }


/* ##############################################################################

    PAGE

############################################################################## */

/* 404
*************************************************** */
  .error_btn {
    position: relative;
    display: inline-block;
    padding: .76em 3em;
    border: 1px solid rgb(0,157,117);
    color: rgb(0,157,117);
  }
  .error_btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: 1.5em;
    bottom: 0;
    margin: auto;
    background-image: none;
    width: 8px;
    height: 8px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg) skew(12deg, 12deg);
  }
  .error_btn:hover {
    background-color: rgba(0,157,117,.2);
  }

/* catalog & cad
*************************************************** */
  .download_cel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 74px;
  }
  .download_cel .img {
    height: 230px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 16px;
  }

  @media screen and (max-width: 768px) {
    .download_cel {
      padding: 5%;
      margin-bottom: 54px;
    }
  }

/* 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: 85%; }

  /* --- 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

############################################################################## */

  .post { position: relative; }
  .post--img.no-img {
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../images/common/no_img.png);
  }

/* blog
**************************************** */
  #blog_post_list .post {
    position: relative;
    padding: 56px 0;
    border-bottom: 1px solid rgba(51, 119, 187,.1);
    line-height: 1.8;
  }
  #blog_post_list .post:first-child { padding: 0 0 56px; }
  #blog_post_list .post--ttl {
    font-size: 138%;
    font-weight: normal;
  }
  #blog_post_list .post--img {
    position: relative;
    width: 336px;
    height: 224px;
    overflow: hidden;
    margin-right: 40px;
  }
  #blog_post_list .post--img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  #blog_post_list .txt { flex: 1; }

  @media screen and (max-width: 767px) {
    .eyecatch { padding: 10px 0; }
    #blog_post_list .txt { width: 100%; }
    #blog_post_list .post { padding: 32px 0; }
    #blog_post_list .post:first-child { padding: 0 0 32px; }
    #blog_post_list .post:last-child { border-bottom: none; }
    #blog_post_list .textArea { margin: 0; }
    #blog_post_list .post--img { margin: 0 auto 16px; }
    #blog_post_list img {
      float: none;
      display: block;
    }
  }

  /* --- news_list --- */
  .news_list .post {
    padding-bottom: 16px;
    padding-top: 16px;
    margin-bottom: 0;
  }
  .news_list .post:not(:last-child) {
    border-bottom: 1px solid #dedede;
  }
  .news_list .post--ttl { font-size: 107%; }
  .news_list .post--txt {
    font-size: 87%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .news_list .post svg {
    width: 18px;
    height: 18px;
    margin-left: 8px;
  }
  .news_list a[href="javascript:void(0);"],
  .news_list a[href="javascript:void(0);"]::before {
    color: inherit;
    cursor: inherit;
    opacity: 1;
    text-decoration: none;
  }
  .news_list .post--date { font-size: 94%; }
  .news_list .post--content {
    width: calc(100% - 264px);
    margin-right: 24px;
  }
  .news_list .post--img {
    position: relative;
    width: 240px;
    height: 90px;
    overflow: hidden;
  }
  .news_list .post--img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: inherit;
  }

  @media screen and (max-width: 768px) {
    .news_list .post--content {
      flex: 1;
    }
    .news_list .post--img {
      width: 100px;
    }
  }

/* item
**************************************** */
  .archive-item .post--img {
    border: 1px solid #ddd;
  }
  .archive-item .post--img, 
  .single-item .post--img {
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #fff;
  }
  .archive-item .post--img.no-img, 
  .single-item .post--img.no-img {
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
  }
  .archive-item .cat_link {
    margin-right: 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 100%;
    margin-top: 6px;
    font-size: 88%;
  }
  .archive-item .post--ttl, 
  .single-item .post--ttl {
    color: #009d75;
    font-size: 120%;
  }

  @media screen and (max-width: 767px) {
    .archive-item .post {
      margin-bottom: 32px;
    }
  }

/* wp-pagenavi
**************************************** */
  .wp-pagenavi {
    text-align: center;
    margin-top: 64px;
  }
  .wp-pagenavi .pages { display: none; }
  .wp-pagenavi a,
  .wp-pagenavi .current {
    padding: 2px 20px;
    display: inline-block;
    color: #fff;
    margin: 0 2px 6px;
    text-decoration: none;
    font-weight: 300;
    font-size: 107%;
    border-width: 1px;
    border-style: solid;
  }
  .wp-pagenavi a {
    border-style: solid;
    border-width: 1px;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    transition: all .4s ease-out;
  }
  .wp-pagenavi a:hover { opacity: .7; }
  .wp-pagenavi .current {
    border: 1px solid #ddd;
    color: #ddd;
  }
  .wp-pagenavi .extend { margin: 0 8px; }
  .wp-pagenavi .current { background: transparent; }
  .nextpostslink,
  .previouspostslink {
    position: relative;
    background: none !important;
    border: none !important;
    padding: 2px 16px !important;
  }
  .previouspostslink::before,
  .nextpostslink::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 16px;
    height: 16px;
    -webkit-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -moz-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -ms-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    transition: all .3s cubic-bezier(.2, .01, 1, .8);
  }
  .previouspostslink::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .previouspostslink::before { left: 20px; }
  .nextpostslink::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .nextpostslink::before { right: 20px; }

  @media screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-top: 40px;
      font-size: 90%;
    }
    .wp-pagenavi a, .wp-pagenavi .current {
      padding: 4px 8px;
    }
    .previouspostslink::before, .nextpostslink::before {
      width: 12px;
      height: 12px;
    }
    .nextpostslink, .previouspostslink {
      padding: 2px 12px !important;
    }
  }
  @media screen and (max-width: 640px) {
    #mainContent .container-mini .wp-pagenavi a {
      display: block;
      margin: 2px;
      line-height: 1.2;
      padding: 8px 15px;
    }
  }

/* main_column
**************************************** */
  @media screen and (max-width: 767px) {
    .main_column { margin-bottom: 80px; }
  }
  .post--link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

/* side_column
**************************************** */
  .side_section:not(:last-child) { margin-bottom: 64px; }
  .side--ttl {
    position: relative;
    margin-bottom: 8px;
    padding-bottom: 14px;
    font-size: 130%;
    line-height: 1;
    color: #009d75;
    border-bottom: 4px solid;
  }

  /* --- posts-side --- */
  .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;
    line-height: 1;
  }
  .posts-side .post--ttl { line-height: 1.4; }

  /* --- archive --- */
  .side_column .archive_list--ttl::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(135deg);
    transition: .4s ease-out;
  }
  .side_column .archive_list--ttl.active::after { transform: rotate(315deg); }
  .side_column .archive_month { display: none; }

  /* --- news--archive --- */
  .news--archive {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .news--archive > *:not(:last-child) { margin-right: 16px; }
  .news--archive .archive_year--ttl a { color: #fff; }
  .news--archive .archive_year--ttl a:hover {
    color: #fff;
    opacity: .5;
  }
  .news--archive li {
    margin-left: 8px;
    margin-right: 8px;
  }
  .news--archive a {
    color: #fff;
  }

  /* --- archive-pulldown --- */
  .archive-pulldown {
    margin-left: auto;
    position: relative;
    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;
    font-size: 73%;
    line-height: 1;
  }
  .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;
  }

  /* --- side--list --- */
  .side--list li {
    border-bottom: 1px solid #969186;
  }
  .side--list li a {
    position: relative;
    padding: 8px 4px;
    display: block;
  }
  .side--list li a:hover {
    opacity: .7;
  }


/* ##############################################################################

    SINGLE

############################################################################## */

  .link_area {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
  }
  .link_area:hover {
    background-color:#fff;
    filter:alpha(opacity=30);
    -moz-opacity: .3;
    opacity: .3;
  }
  .single_content .post--ttl {
    font-size: 185%;
    line-height: 1.3;
  }
  .post_info .date {
    display: inline-block;
    font-size: 93%;
  }
  .cat_link { margin-right: 16px; }
  .cat_link a {
    position: relative;
    z-index: 100;
    margin-right: 2px;
    padding: 4px 10px;
    border-radius: 4px;
    color: #fff;
    font-size: 92%;
    text-decoration: none;
  }
  .cat_link a:hover { opacity: .7; }
  .eyecatch {
    text-align: center;
    margin-bottom: 32px;
  }
  .eyecatch img {
    max-width: 100%;
    height: auto;
  }

/* pageNav
**************************************** */
  #pageNav {
    text-align: center;
    width: 100%;
    margin-top: 64px;
    clear: both;
  }
  .pageNav--item { color: #eee; }
  .pageNav--item:nth-child(1),
  .pageNav--item:nth-child(3) {
    width: 40%;
  }
  .wp-pagenavi a,
  .wp-pagenavi .current,
  .pageNav--item:nth-child(2) a {
    letter-spacing: .2em;
    border-width: 2px;
    border-style: solid;
    border-radius: 30px;
  }
  .pageNav--item:nth-child(2) { width: 20%; }
  .pageNav--item a {
    display: block;
    padding: 8px 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
  }
  .pageNav--item:nth-child(1) a:hover::before {
    animation: in-n-out-p-l .4s forwards;
    -webkit-animation: in-n-out-p-l .4s forwards;
  }
  .pageNav--item:nth-child(2) a {
    border-style: solid;
    border-width: 1px;
  }
  .pageNav--item:nth-child(2) a:hover {
    color: #fff;
  }
  .pageNav--item:nth-child(3) a:hover::before {
    animation: in-n-out-p-r .4s forwards;
    -webkit-animation: in-n-out-p-r .4s forwards;
  }
  .pageNav--item:nth-child(1) a::before,
  .pageNav--item:nth-child(3) a::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 10px;
    height: 10px;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -webkit-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -moz-transition: all .3s cubic-bezier(.2, .01, 1, .8);
    -ms-transition: all .3s cubic-bezier(.2, .01, 1, .8);
  }
  .pageNav--item:nth-child(1) a::before {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .pageNav--item:nth-child(1) a::before {
    left: 4px;
  }
  .pageNav--item:nth-child(3) a::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .pageNav--item:nth-child(3) a::before {
    right: 4px;
  }
  .pageNav--item a:hover { opacity: 1; }
  .pageNav--item:nth-child(2) a:hover { text-decoration: none; }
  .pageNav--item span { display: inline-block; }

  @media screen and (max-width: 767px) {
    #pageNav {
      margin-top: 40px;
      font-size: 90%;
    }
    .pageNav--item a {
      padding: 6px 12px;
    }
    .pageNav--item:nth-child(1) a,
    .pageNav--item:nth-child(3) a {
      padding: 6px 12px;
    }
    .pageNav--item:nth-child(1) a:before,
    .pageNav--item:nth-child(3) a::before {
      width: 8px;
      height: 8px;
    }
    .pageNav--item:nth-child(1) a::before {
      -webkit-transform: rotate(-135deg);
      transform: rotate(-135deg);
    }
    .pageNav--item:nth-child(1) a::before {
      left: 3px;
    }
    .pageNav--item:nth-child(3) a::before {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
    }
    .pageNav--item:nth-child(3) a::before {
      right: 3px;
    }
    .pageNav--item span {
      display: none;
    }
  }

/* item
**************************************** */
  .single-item .section_pdg {
    padding-top: 64px;
    padding-bottom: 80px;
  }
  .single-item .ttl-01 .series {
    display: inline-block;
    font-size: 40%;
    background-color: #d8e9e5;
    padding: 4px 10px;
    border-radius: 4px;
  }
  .single-item .ttl-01 .cat_link {
    margin-right: 0;
    font-size: 40%;
  }
  .single-item .ttl-01 .name {
    display: block;
    margin-top: 6px;
  }
  #item_imgs .slick-track {
    display: flex;
  }
  #item_imgs .slick-slide {
    display: flex;
    align-items: center;
    float: none;
    min-height: 100%;
    height: auto;
    background-color: #fff;
  }
  #item_imgs.over_size .slick-slide {
    height: 350px;
  }
  #item_imgs .slick-slide img {
    margin-left: auto;
    margin-right: auto;
  }
  #item_imgs.over_size .slick-slide img {
    max-width: auto;
    min-height: 0;
    max-height: 100%;
  }
  #item_thumbnail.slide_over {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  #item_thumbnail .slick-track {
    display: flex;
    width: 100% !important;
    justify-content: center;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
  }
  #item_thumbnail .slick-slide {
    display: flex;
    align-items: center;
    float: none;
    min-height: 100%;
    width: 80px !important;
    height: 80px !important;
    height: auto;
    background-color: #fff;
    margin: 0 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #item_thumbnail .slick-slide.slick-current {
    opacity: .4;
  }
  #item_thumbnail .slick-slide:hover {
    opacity: .7;
  }
  #item_thumbnail .slick-slide img {
    margin: auto;
    max-height: 100%;
  }
  #item_thumbnail .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-appearance: none;
    border: none;
    background-color: #009c75;
    font-size: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    outline: 0;
  }
  #item_thumbnail .slick-prev {
    left: -6%;
  }
  #item_thumbnail .slick-next {
    right: -6%;
  }
  #item_thumbnail .slick-arrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(135deg) translate(-1px,-1px);
  }
  #item_thumbnail .slick-arrow.slick-next::before {
    transform: rotate(-45deg) translate(-1px,-1px);
  }
  .ttl-item_mini {
    border-bottom: 2px solid;
    font-size: 140%;
    color: #009d75;
    padding-bottom: 12px;
    margin-bottom: 16px;
  }

  .single-item .single_content + .content-section {
    margin-bottom: 34px;
  }

  .single-item .item_info .news {
    color: #ff1b35;
  }
  .single-item .item_info .content h3 {
    font-size: 134%;
    margin-bottom: .5em;
  }

  /* --- サポート・用途 --- */
  .type li {
    margin-left: 4px;
    margin-bottom: 4px;
    border-radius: 4px;
    padding: 6px 14px;
    background-color: #009c75;
    color: #fff;
  }
  .sup li {
    margin-left: 4px;
    border-radius: 4px;
    padding: 6px 14px;
    color: #fff;
  }
  .sup li.AIB {
    background-color: #c7a0c9;
  }
  .sup li.HACCP {
    background-color: #5aadcd;
  }

  /* --- 特別仕様 --- */
  .special_spec li {
    position: relative;
  }
  .special_spec li span {
    margin-left: 4px;
    margin-bottom: 4px;
    border-radius: 4px;
    padding: 6px 14px;
    background-color: #009c75;
    color: #fff;
    cursor: pointer;
  }
  .special_spec li span + .disc {
    display: none;
    position: absolute;
    top: 140%;
    width: 320px;
    line-height: 1.5;
    background-color: #fff;
    padding: 14px;
    border: 1px solid;
    border-radius: 8px;
    font-size: 94%;
  }
  .special_spec li span + .disc::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 30px;
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-bottom: 1px solid;
    border-right: 1px solid;
    transform: rotate(-135deg);
  }
  .special_spec li span + .disc.show {
    display: block;
  }

  /* --- 仕様 --- */
  .spec table {
    width: 100%;
  }

  /* --- LOOPSのレイアウトを変更 --- */
  .single-item .item_info .single_content + .content-section {
    padding-top: 20px;
    padding-bottom: 0;
  }
  .single-item .item_info .content-section .container {
    padding-left: 0;
    padding-right: 0;
  }
  .single-item .item_info .content-section .container .content-child {
    width: 100%;
  }
  .single-item .item_info .content-child + .ttl-02, 
  .single-item .item_info .content-button + .ttl-02, 
  .single-item .item_info .content-button + .content-child, 
  .single-item .item_info .content-child + .content-child {
    margin-top: 60px;
  }
  .single-item .item_info .content-section:nth-child(even) {
    background-color: transparent;
  }
  .single-item .item_info .section_catch:not(:first-of-type) {
    margin-top: 40px;
  }
  .single-item .item_info .content-child.content-column .img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 238px;
    background-color: #fff;
  }
  .single-item .item_info .content-child.content-column .img img {
    max-height: 100%;
  }

  .single-item .item_info .btn.back a {
    display: inline-block;
    border: none;
    color: #979797;
    border-bottom: 4px solid;
    padding: 6px .5em;
  }
  .single-item .item_info .btn.back a::after { display: none; }
  .single-item .item_info .btn.back a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    vertical-align: middle;
    transform: rotate(135deg) skew(12deg, 12deg) translate(-2px, 2px);
  }
  .single-item .item_info .btn.back a:hover {
    background-color: transparent;
    padding: 6px 1em;
  }

  /* --- 関連商品 --- */
  .item_similar.section_pdg {
    padding-top: 0;
  }
  .item_similar .section_ttl {
    margin-bottom: 68px;
  }
  .item_similar .post {
    padding-left: 0;
    padding-right: 0;
  }

  /* --- サイドバー ---- */
  .side--list li { position: relative; }
  .side--list .open_btn {
    position: absolute;
    top: 8px;
    right: 6px;
    display: inline-block;
    background-color: #969186;
    width: 24px;
    height: 24px;
    cursor: pointer;
    border-radius: 2px;
    transition: all .2s ease-out;
  }
  .side--list .open_btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transition: all .2s ease-out;
    transform: rotate(45deg) translate(-1px, -2px);
  }
  .side--list .open_btn.close::before {
    transform: rotate(225deg) translate(-1px, -1px);
  }
  .side--list .open_btn:hover { opacity: .5; }
  .side--list .side--link_list { display: none; }
  .side--list .side--link_list li { border-bottom: none; }
  .side--list .side--link_list li a { padding-top: 0; }
  .side--list .side--link_list li:last-child { border-bottom: 0; }
  .side--list .side--link_list li a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-left: 1px solid;
    border-bottom: 1px solid;
    vertical-align: super;
    margin-right: 5px;
    margin-left: 6px;
    transform: translateY(2px);
  }
  .side--list .side--link_list li[date="捕虫器用ランプ"] a::before, 
  .side--list .side--link_list li[date="捕虫紙"] a::before, 
  .side--list .side--link_list li[date="オプション"] a::before, 
  .side--list .side--link_list li[date="消耗品"] a::before {
    display: none;
  }

  @media screen and (max-width: 767px) {
    .item_similar .section_ttl {
      margin-bottom: 38px;
    }
    .single-item .item_info .content-column .row > .col-sm-12 + .col-sm-12, 
    .single-item .item_info .content-column .row > .col-sm-6 + .col-sm-6, 
    .single-item .item_info .content-column .row > .col-sm-4 + .col-sm-4, 
    .single-item .item_info .content-column .row > .col-sm-3 + .col-sm-3 {
      margin-top: 46px;
    }
    .special_spec li { width: 100%; }
    .special_spec li span {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-left: 0;
      margin-bottom: 4px;
    }
    .special_spec li span::after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      border-right: 1px solid;
      border-bottom: 1px solid;
      transform: rotate(45deg) translateY(-2px);
    }
    .special_spec li span + .disc {
      position: relative;
      top: 0;
      width: 100%;
      margin-bottom: 12px;
    }
  }


/* ##############################################################################

    SEARCH

############################################################################## */

  #search-list .section_pdg {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  #search-list .ttl-01 { margin: 70px 0 0; }


/* ##############################################################################

    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: 85%;
    color: #999;
  }
  .hidden_help { display: none; }
  .formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: 85%;
    padding: 8px 16px;
  }
  .requiredIcon {
    background-color: #f55;
    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 {
    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 {
    height: 40px;
    line-height: 40px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 8px 0 40px;
    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: #f55555;
    text-align: center;
  }

  @media screen and (max-width: 767px) {
    #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%;
      background-size: contain;
      background-position: center;
    }
    .autoConfirmBack { margin-bottom: 8px; }
  }


/* ##############################################################################

    Loops モジュール

############################################################################## */

  #wrapper .container + .container { margin-top: 40px; }
  .anker {
    display: block;
    margin-top: -120px;
    padding-top: 120px;
    pointer-events: none;
  }

/* Bootstrap カスタム
********************************************** */
  #page_ttl + .container {
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  .container {
    width: auto;
    max-width: 1100px;
  }
  .row-eq-height {
    display: flex;
    flex-wrap: wrap;
  }

  /* --- safariでのカラム落ち対策 --- */
  .row:before,
  .row:after {
    width: 0;
  }

  @media screen and (min-width: 1200px) {
    .container-sm { width: 840px; }
  }
  @media screen and (min-width: 992px) {
    .row.row-eq-height .col-sm-4 { width: 33.3%; }
  }
  @media screen and (max-width: 991px) and (min-width: 768px) {
    .row.row-eq-height .col-sm-3 { width: 49.95% ; }
  }
  @media screen and (max-width: 767px) {
    .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
      padding-left: 0;
      padding-right: 0;
    }
    .container {
      padding-left: 5%;
      padding-right: 5%;
    }
    .content-section > .container {
      padding-left: 0;
      padding-right: 0;
    }
    .page-catalog .content-section > .container, 
    .page-cad .content-section > .container {
      padding-left: 5%;
      padding-right: 5%;
    }
    .row { margin: 0; }
    .column-4 .row,
    .column-5 .row {
      margin-left: -15px;
      margin-right: -15px;
    }
    .row-eq-height { display: block; }
    .column-4 .row-eq-height,
    .column-5 .row-eq-height {
      display: flex;
    }
  }

/* Bootstrap 五分割スタイルを追加
********************************************** */
  .col-lg-five-1, .col-md-five-1, .col-sm-five-1, .col-xs-five-1,
  .col-lg-five-2, .col-md-five-2, .col-sm-five-2, .col-xs-five-2,
  .col-lg-five-3, .col-md-five-3, .col-sm-five-3, .col-xs-five-3,
  .col-lg-five-4, .col-md-five-4, .col-sm-five-4, .col-xs-five-4 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
  }
  .col-xs-five-1 {
    width: 20%;
    float: left;
  }
  .col-xs-five-2 {
    width: 40%;
    float: left;
  }
  .col-xs-five-3 {
    width: 60%;
    float: left;
  }
  .col-xs-five-4 {
    width: 80%;
    float: left;
  }
  @media screen and (min-width: 768px) {
    .col-sm-five-1 {
      width: 20%;
      float: left;
    }
    .col-sm-five-2 {
      width: 40%;
      float: left;
    }
    .col-sm-five-3 {
      width: 60%;
      float: left;
    }
    .col-sm-five-4 {
      width: 80%;
      float: left;
    }
  }
  @media screen and (min-width: 992px) {
    .col-md-five-1 {
      width: 20%;
      float: left;
    }
    .col-md-five-2 {
      width: 40%;
      float: left;
    }
    .col-md-five-3 {
      width: 60%;
      float: left;
    }
    .col-md-five-4 {
      width: 80%;
      float: left;
    }
  }
  @media screen and (min-width: 1200px) {
    .col-lg-five-1 {
      width: 20%;
      float: left;
    }
    .col-lg-five-2 {
      width: 40%;
      float: left;
    }
    .col-lg-five-3 {
      width: 60%;
      float: left;
    }
    .col-lg-five-4 {
      width: 80%;
      float: left;
    }
  }
  @media screen and (max-width: 992px) {
    .row.row-eq-height .col-sm-five-1 {
      width: 33.3%;
      margin-bottom: 32px;
    }
  }
  @media screen and (max-width: 767px) {
    .row.row-eq-height .col-sm-five-1 { width: 49.8%; }
  }

/* btn
********************************************** */
  .btn { text-align: center; }
  .btn a,
  .btn a::after {
    transition: all .4s ease-out;
  }
  .btn a {
    position: relative;
    display: block;
    font-weight: 900;
    font-size: 106%;
    letter-spacing: .2em;
    padding: .76em 1em .76em 7.8em;
    background-color: #fff;
    border: 1px solid;
  }
  .btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1em;
    margin: auto;
    width: 1.9em;
    height: 1.4em;
  }
  .btn a[target="_blank"] { padding-right: 56px; }
  .btn a[href$=".pdf"] { padding-left: 56px; }
  .btn svg { transition: all .4s ease-out; }
  .btn a:hover::after {
    width: 3.8em;
    background-image: linear-gradient(#fff 30%, transparent 30%, transparent 70%,#fff 70%, #fff);
  }

  .mce-content-body + .btn { margin-top: 40px; }
  .content-section .btn .icon-svg {
    position: absolute;
    top: 50%;
    display: block;
    transform: translateY(-50%);
  }
  .content-section .btn .icon-new_tab {
    right: 30px;
    width: 14px;
    height: 14px;
  }
  .content-section .btn .icon-pdf {
    left: 15px;
    width: 27px;
    height: 12px;
  }
  .content-section .btn a {
    padding: .76em 1em;
  }
  .content-section .btn a::after {
    left: auto;
    right: 1.5em;
    background-image: none;
    width: 8px;
    height: 8px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg) skew(12deg, 12deg);
  }
  @media screen and (max-width: 992px) {
    .mce-content-body + .btn { margin-top: 16px; }
  }
  @media screen and (max-width: 767px) {
    .btn a[target="_blank"] { padding-right: 32px; }
    .btn a[target="_blank"]::after { right: 10px; }
    /*.btn a[href$=".pdf"]::after {
      right: 7px;
      width: 20px;
      height: 9px;
    }*/
    .content-button { margin-bottom: 8px; }
    .content-button .btn { margin-bottom: 8px; }
    .content-button .btn:nth-child(2n+1) { margin-right: 8px; }
    .content-button .btn + .btn { margin-left: 0; }
  }

/* content-child
********************************************** */
  .content-section {
    position: relative;
    background-position: center;
  }
  .content-section .section_ttl {
    letter-spacing: .1em;
    line-height: 1.3;
  }
  .content-child {
    position: relative;
    z-index: 1;
  }
  .content-child .img {
    text-align: center;
  }
  .content-child + .ttl-02,
  .content-button + .ttl-02,
  .content-button + .content-child,
  .content-child + .content-child {
    margin-top: 80px;
  }
  .content-column + .content-column,
  .content-child + .content-button {
    margin-top: 40px;
  }
  .content-child iframe,
  .content-child .text {
    width: 100%;
  }
  .content-child .text { line-height: 1.7; }
  .content-child .text:not(:last-child) { margin-bottom: 24px; }

  /* --- bg-color --- */
  .bg-wh,
  .bg-color { background-color: #fff; }
  .bg-color.row {
    margin-right: 0;
    margin-left: 0;
  }
  .content-column .content_pdg.bg-color {
    padding: 32px;
  }
  .content-img_text .content_pdg.bg-color {
    padding: 8px 40px !important;
  }
  .content-slide .img img {
    display: inline-block;
  }
  .content-slide .img + .text {
    margin-top: 24px;
    padding-left: 24px;
    padding-right: 24px;
  }
  @media screen and (max-width: 767px) {
    .content-child .inner {
      width: 100%;
      max-width: 100%;
    }
    .content-child p { text-align: left !important; }
    .content-child + .ttl-02,
    .content-button + .ttl-02,
    .content-button + .content-child,
    .content-child + .content-child {
      margin-top: 40px;
    }
    .content-column + .content-column,
    .content-child + .content-button {
      margin-top: 16px;
    }
    .content-column .content_pdg.bg-color {
      padding: 24px;
    }
    .content-img_text .content_pdg.bg-color {
      width: 100%;
      padding: 16px 24px !important;
    }
    .content-slide .img + .text,
    .content-youtube .movie + .text {
      margin-top: 16px;
    }
  }

/* content-column
********************************************** */
  .content-column .img {
    text-align: center;
  }
  .content-column .img,
  .content-column .row .inner  {
    width: 100%;
  }
  .content-column .text.bg-color,
  .content-column .inner {
    height: 100%;
  }
  .content-column .flex .inner {
    height: auto;
  }
  .content-column .img + .text {
    height: auto;
    padding-top: 24px;
  }
  .content-column .row > div { padding: 0 15px; }
  @media screen and (max-width: 767px) {
    .content-column {
      width: 100%;
      max-width: 100%;
    }
    .content-column .row > .col-sm-12,
    .content-column .row > .col-sm-6,
    .content-column .row > .col-sm-4,
    .content-column .row > .col-sm-3 {
      padding: 0;
    }
    .content-column .row > .col-sm-12 + .col-sm-12,
    .content-column .row > .col-sm-6 + .col-sm-6,
    .content-column .row > .col-sm-4 + .col-sm-4,
    .content-column .row > .col-sm-3 + .col-sm-3 {
      margin-top: 24px;
    }
    .content-column .row > .col-xs-6,
    .content-column .row > .col-sm-five-1 {
      margin-bottom: 16px;
    }
    .content-column .col-xs-6 .img + .text,
    .content-column .col-sm-five-1 .img + .text {
      padding-top: 16px;
    }
  }

/* content-img_text
********************************************** */
  .content-img_text .inner {
    width: calc(100% + 34px);
    height: 100%;
    margin-left: -30px;
    padding-left: 40px;
  }
  .content-img_text .col-sm-pull-6 .inner {
    margin-left: 0;
    padding-left: 0;
    padding-right: 40px;
  }

  @media screen and (max-width: 767px) {
    .content-img_text .inner {
      display: block;
      margin-left: 0;
      margin-right: 0;
      padding: 16px 0 0 0;
    }
    .content-img_text .col-sm-pull-6 .inner:not(.bg-color) {
      width: 100%;
      padding: 16px 0 0 0;
    }
  }

/* content-slide
********************************************** */
  .content-slide .slick-list { margin-bottom: 16px; }
  .content-slide .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 100%;
    transform: translateY(-50%);
    text-decoration: none;
  }
  *::-ms-backdrop, .content-slide .slick-arrow {
    transform: translateX(-50%) translateY(-50%);
  }
  .content-slide .slick-prev { left: -60px; }
  .content-slide .slick-next { right: -60px; }
  .content-slide .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .content-slide .slick-arrow::after {
    content: '';
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    transform: rotate(45deg);
  }
  .content-slide .slick-prev::after {
    border-bottom-width: 2px;
    border-left-width: 2px;
    border-bottom-style: solid;
    border-left-style: solid;
  }
  .content-slide .slick-next::after {
    border-top-width: 2px;
    border-right-width: 2px;
    border-top-style: solid;
    border-right-style: solid;
  }
  .content-slide .slick-dots li {
    display: block;
    width: 14px;
    height: 14px;
    border-width: 1px;
    border-style: solid;
    background-color: #fff;
    border-radius: 50%;
  }
  .content-slide .slick-dots li + li { margin-left: 8px; }
  .content-slide .slick-dots button {
    padding: 0;
    cursor: pointer;
    color: transparent;
    background: transparent;
    outline: none;
    border: none;
  }
  @media screen and (max-width: 1080px) {
    .content-slide .slick-arrow { width: 40px; }
    .content-slide .slick-prev { left: 16px; }
    .content-slide .slick-next { right: 16px; }
    .content-slide .slick-prev::after { left: 20px; }
    .content-slide .slick-next::after { right: 20px; }
    .content-slide .slick-arrow::after {
      width: 24px;
      height: 24px;
      bottom: -8px;
    }
  }

/* content-banner
********************************************** */
  .content-banner {
    text-align: center;
  }
  .content-banner .bnr {
    display: inline-block;
    margin: 0 8px 16px 8px;
  }
  .content-banner .bnr:not(:last-child) { margin-right: 16px; }
  .content-banner .bnr a:hover { opacity: .5; }

/* post-edit-link
********************************************** */
  .post-edit-link {
    position: fixed;
    bottom: 120px;
    right: 20px;
    z-index: 10;
    padding: 16px;
    border-radius: 50%;
    border: 1px solid #999;
  }
  .post-edit-link:hover {
    background-color: #ddd;
  }
  .post-edit-link::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMywgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDAxIDQwMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAxIDQwMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM5OTk5OTk7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzcwLjEsMjUxLjljLTUuNSwwLTEwLDQuNS0xMCwxMHY4OC43YzAsMTYuNS0xMy40LDI5LjktMzAsMzBINDkuOWMtMTYuNSwwLTI5LjktMTMuNC0zMC0zMFY5MC4zCgljMC0xNi41LDEzLjQtMjkuOSwzMC0zMGg4OC43YzUuNSwwLDEwLTQuNSwxMC0xMGMwLTUuNS00LjUtMTAtMTAtMTBINDkuOUMyMi40LDQwLjQsMCw2Mi43LDAsOTAuM3YyNjAuMwoJYzAsMjcuNiwyMi40LDQ5LjksNDkuOSw0OS45aDI4MC4yYzI3LjYsMCw0OS45LTIyLjQsNDkuOS00OS45di04OC43QzM4MC4xLDI1Ni40LDM3NS42LDI1MS45LDM3MC4xLDI1MS45eiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMzc2LjEsMTQuN2MtMTcuNi0xNy42LTQ2LTE3LjYtNjMuNiwwTDEzNC40LDE5Mi45Yy0xLjIsMS4yLTIuMSwyLjctMi42LDQuNGwtMjMuNCw4NC42Yy0xLDMuNSwwLDcuMiwyLjYsOS43CgljMi41LDIuNSw2LjMsMy41LDkuNywyLjZsODQuNi0yMy40YzEuNy0wLjUsMy4yLTEuMyw0LjQtMi42TDM4Ny45LDkwYzE3LjUtMTcuNiwxNy41LTQ2LDAtNjMuNkwzNzYuMSwxNC43eiBNMTU2LjIsMTk5LjNMMzAyLDUzLjUKCWw0Nyw0N0wyMDMuMiwyNDYuNEwxNTYuMiwxOTkuM3ogTTE0Ni44LDIxOC4ybDM3LjYsMzcuNmwtNTIsMTQuNEwxNDYuOCwyMTguMnogTTM3My43LDc1LjhsLTEwLjYsMTAuNmwtNDctNDdsMTAuNi0xMC42CgljOS43LTkuNywyNS42LTkuNywzNS4zLDBsMTEuNywxMS43QzM4My41LDUwLjMsMzgzLjUsNjYuMSwzNzMuNyw3NS44eiIvPgo8L3N2Zz4K');
  }
  @media screen and (max-width: 767px) {
    .post-edit-link { display: none; }
  }