/* colors */
/* SP layout extra small < 320 */
/* SP layout small < 600 */
/* SP layout < 960 */
/* PC layout >= 960 */
/* PC layout (large) >= 1220 */
/* PC layout (extra-large) >= 1460 */
/* for pc/sp */
@media screen and (max-width: 979px) {
  /* ---sp--- */ }

/* for pc large/pc medium */
@media screen and (min-width: 1220px) {
  /* pc Large */ }

@media screen and (min-width: 1460px) {
  /* pc ex-Large */ }

@media screen and (min-width: 980px) and (max-width: 1219px) {
  /* pc Medium */ }

@media screen and (min-width: 620px) and (max-width: 979px) {
  /* sp Medium */ }

@media screen and (max-width: 619px) {
  /* sp Small */ }

@media screen and (min-width: 320px) and (max-width: 619px) {
  /* sp Small moderate */ }

@media screen and (max-width: 319px) {
  /* sp XS */ }

/* for sp med/sp small/sp xs */
/* MIXINs */
/* vertical middle for ABS position element */
/* transition */
/* fixed ratio */
/* for img background div */
/* show/hide (use .active class to switch) */
/* mask lighten */
/* LAYOUT */
@media screen and (min-width: 1220px) and (max-width: 1459px) {
  html {
    /* pc Large */
    font-size: 20px !important; } }

@media screen and (min-width: 1460px) {
  html {
    /* pc ex-Large */
    font-size: 24px !important; } }

@media screen and (min-width: 980px) and (max-width: 1219px) {
  html {
    /* pc Medium */
    font-size: 16px !important; } }

@media screen and (min-width: 620px) and (max-width: 979px) {
  html {
    /* sp Medium */
    font-size: 14px !important; } }

@media screen and (max-width: 619px) {
  html {
    /* sp Small */
    font-size: 12px !important; } }

body {
  background-color: #FFFFFF; }
  @media screen and (min-width: 980px) {
    body {
      padding-bottom: 6.667rem !important;
      /* padding for footer */ } }
  @media screen and (max-width: 979px) {
    body {
      /* ---sp--- */
      padding-bottom: 6rem !important;
      /* padding for footer */ } }
  @media screen and (min-width: 1220px) {
    body {
      /* pc Large */
      min-width: 1200px; } }
  @media screen and (min-width: 1460px) {
    body {
      /* pc ex-Large */
      min-width: 1440px; } }
  @media screen and (min-width: 980px) and (max-width: 1219px) {
    body {
      /* pc Medium */
      min-width: 960px; } }
  @media screen and (min-width: 620px) and (max-width: 979px) {
    body {
      /* sp Medium */
      width: 100%; } }
  @media screen and (max-width: 619px) {
    body {
      /* sp Small */
      width: 100%; } }

.wrap {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto; }
  @media screen and (min-width: 1220px) {
    .wrap {
      /* pc Large */
      width: 1200px; } }
  @media screen and (min-width: 1460px) {
    .wrap {
      /* pc ex-Large */
      width: 1440px; } }
  @media screen and (min-width: 980px) and (max-width: 1219px) {
    .wrap {
      /* pc Medium */
      width: 960px; } }
  @media screen and (min-width: 620px) and (max-width: 979px) {
    .wrap {
      /* sp Medium */
      width: 600px; } }
  @media screen and (max-width: 619px) {
    .wrap {
      /* sp Small */
      width: 100%; } }

/* header */
#header {
  z-index: 900;
  position: relative;
  background-color: white;
  background-image: url(../img/headerbg.png);
  background-size: auto 100%;
  background-position: center center;
  background-repeat: no-repeat; }
  @media screen and (max-width: 979px) {
    #header {
      /* ---sp--- */ } }
  @media screen and (min-width: 980px) {
    #header .wrap {
      position: relative; } }
  @media screen and (max-width: 979px) {
    #header .wrap {
      /* ---sp--- */ } }
  @media screen and (min-width: 980px) {
    #header #open-nav {
      display: none !important; } }
  @media screen and (max-width: 979px) {
    #header #open-nav {
      /* ---sp--- */
      font-size: 0;
      text-indent: -9999px;
      z-index: 100;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      width: 48px;
      height: 48px;
      border: none;
      background: url(../img/ic_menu.svg) center center no-repeat;
      background-size: 32px;
      opacity: 1; } }
  #header #logo {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left; }
    @media screen and (min-width: 980px) {
      #header #logo {
        font-size: 0;
        padding: 1.75rem 1rem; } }
    @media screen and (max-width: 979px) {
      #header #logo {
        /* ---sp--- */
        font-size: 0;
        text-align: left;
        left: 44px;
        right: 44px;
        white-space: nowrap;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        text-align: center; } }
    #header #logo .icon {
      display: inline-block;
      vertical-align: top;
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: top;
      background-size: cover; }
      @media screen and (min-width: 980px) {
        #header #logo .icon {
          width: 4rem;
          height: 4rem;
          margin: 0 1rem 0 0; } }
      @media screen and (max-width: 979px) {
        #header #logo .icon {
          /* ---sp--- */ } }
      @media screen and (min-width: 620px) and (max-width: 979px) {
        #header #logo .icon {
          /* sp Medium */
          width: 28px;
          height: 28px;
          margin-right: 6px; } }
      @media screen and (min-width: 320px) and (max-width: 619px) {
        #header #logo .icon {
          /* sp Small moderate */
          width: 28px;
          height: 28px;
          margin-right: 6px; } }
      @media screen and (max-width: 319px) {
        #header #logo .icon {
          /* sp XS */
          width: 20px;
          height: 20px;
          margin-right: 4px; } }
      #header #logo .icon.thu {
        background-image: url(../img/icon-thu.png); }
      #header #logo .icon.thu3e {
        background-image: url(../img/icon-3e.png); }
    #header #logo .title {
      color: #fff;
      display: inline-block;
      vertical-align: top;
      background-image: url(../img/thu3e-text-logo-black.png);
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: top;
      background-size: cover; }
      @media screen and (min-width: 980px) {
        #header #logo .title {
          height: 4rem;
          width: 24rem;
          margin: 0; } }
      @media screen and (max-width: 979px) {
        #header #logo .title {
          /* ---sp--- */ } }
      @media screen and (min-width: 620px) and (max-width: 979px) {
        #header #logo .title {
          /* sp Medium */
          height: 28px;
          width: 168px; } }
      @media screen and (min-width: 320px) and (max-width: 619px) {
        #header #logo .title {
          /* sp Small moderate */
          height: 28px;
          width: 168px; } }
      @media screen and (max-width: 319px) {
        #header #logo .title {
          /* sp XS */
          height: 20px;
          width: 120px; } }
      #header #logo .title .cn {
        text-align: center;
        text-shadow: 0 0 0.25em rgba(0, 0, 0, 0.5);
        display: none !important; }
        @media screen and (min-width: 980px) {
          #header #logo .title .cn {
            font-size: 2.4rem;
            letter-spacing: .2rem;
            line-height: 1.5; } }
        @media screen and (min-width: 620px) and (max-width: 979px) {
          #header #logo .title .cn {
            /* sp Medium */
            font-size: 18px;
            line-height: 28px; } }
        @media screen and (min-width: 320px) and (max-width: 619px) {
          #header #logo .title .cn {
            /* sp Small moderate */
            font-size: 15px;
            line-height: 24px; } }
        @media screen and (max-width: 319px) {
          #header #logo .title .cn {
            /* sp XS */
            font-size: 13px;
            line-height: 20px; } }
      #header #logo .title .en {
        text-align: center;
        display: none !important; }
        @media screen and (min-width: 980px) {
          #header #logo .title .en {
            font-size: 1.2rem;
            letter-spacing: 1px;
            line-height: 1.25;
            text-shadow: 0 0 0.25em rgba(0, 0, 0, 0.5); } }
        @media screen and (max-width: 979px) {
          #header #logo .title .en {
            /* ---sp--- */
            display: none; } }

.header-banner {
  position: relative;
  display: block;
  width: 100%;
  height: 32rem;
  background-image: url(../img/ceta-banner.svg);
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: center;
  background-size: cover; }
  @media screen and (max-width: 979px) {
    .header-banner {
      /* ---sp--- */
      height: 24rem; } }
  .header-banner > .wrap {
    position: relative; }
  .header-banner .title {
    position: absolute;
    top: 13.5rem;
    left: 1rem; }
    @media screen and (max-width: 979px) {
      .header-banner .title {
        /* ---sp--- */
        top: 8rem;
        left: 2rem; } }
    .header-banner .title .logo {
      height: 6.9rem;
      width: 24.2rem;
      background-image: url(../img/ceta-logo.svg);
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: left;
      background-size: contain; }
    .header-banner .title .text {
      margin-top: 2rem;
      color: #fff;
      font-weight: bold; }
      .header-banner .title .text .cn {
        white-space: nowrap;
        font-size: 1.05rem;
        line-height: 1.4;
        letter-spacing: 0.3em; }
      .header-banner .title .text .en {
        white-space: nowrap;
        font-size: 0.8rem;
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-top: 0.75em; }
  .header-banner.low {
    height: 12rem; }
    @media screen and (max-width: 979px) {
      .header-banner.low {
        /* ---sp--- */
        height: 14rem; } }
    .header-banner.low .title {
      top: 6rem; }
      @media screen and (max-width: 979px) {
        .header-banner.low .title {
          /* ---sp--- */
          top: 4rem; }
          .header-banner.low .title .text {
            margin-top: 1.25rem; } }
      @media screen and (min-width: 980px) {
        .header-banner.low .title {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap;
          -webkit-box-align: end;
          -webkit-align-items: flex-end;
              -ms-flex-align: end;
                  align-items: flex-end;
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          .header-banner.low .title .text {
            margin-top: 0;
            margin-left: 1rem; } }
      .header-banner.low .title .logo {
        height: 3.45rem;
        width: 12.1rem; }

@media screen and (min-width: 980px) {
  #header-fixed {
    position: absolute;
    right: 1rem;
    bottom: 0; } }

@media screen and (max-width: 979px) {
  #header-fixed {
    /* ---sp--- */
    position: absolute;
    left: 100%;
    bottom: 0; } }

#nav {
  z-index: 1000; }
  @media screen and (min-width: 980px) {
    #nav {
      position: absolute;
      top: 2.2rem;
      left: 0;
      right: 0; } }
  @media screen and (max-width: 979px) {
    #nav {
      /* ---sp--- */
      position: fixed;
      top: 0;
      bottom: 0;
      min-width: 240px;
      max-width: 90%;
      color: #fff;
      background: #a2ce74;
      background: -webkit-linear-gradient(285deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
      background: linear-gradient(165deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
      background-size: 200% 200%;
      background-position: center center;
      -webkit-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
              transform: translateX(-100%);
      -webkit-transition: transform 0.3s ease-in-out;
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: -webkit-transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }
      #nav.active {
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0); } }
  @media screen and (min-width: 980px) {
    #nav .wrap {
      position: relative; } }
  @media screen and (max-width: 979px) {
    #nav .wrap {
      /* ---sp--- */
      width: auto; } }
  @media screen and (min-width: 980px) {
    #nav #nav-head {
      display: none; } }
  @media screen and (max-width: 979px) {
    #nav #nav-head {
      /* ---sp--- */
      position: absolute;
      z-index: 4;
      top: 0;
      left: 0;
      right: 0;
      height: 48px; } }
  @media screen and (min-width: 980px) {
    #nav #close-nav {
      display: none; } }
  @media screen and (max-width: 979px) {
    #nav #close-nav {
      /* ---sp--- */
      font-size: 0;
      text-indent: -9999px;
      z-index: 100;
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      bottom: 0;
      width: 48px;
      border: none;
      background: url(../img/ic_close.svg) center center no-repeat;
      background-size: 32px;
      opacity: 1;
      -webkit-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out; }
      #nav #close-nav:active {
        opacity: .6; } }
  @media screen and (min-width: 980px) {
    #nav #nav-slide {
      margin-left: 1rem; } }
  @media screen and (max-width: 979px) {
    #nav #nav-slide {
      /* ---sp--- */
      position: absolute;
      z-index: 2;
      bottom: 48px;
      top: 48px;
      left: 0;
      right: 0;
      overflow-x: hidden;
      overflow-y: auto; } }
  #nav ul.nav {
    font-size: 0; }
    @media screen and (max-width: 979px) {
      #nav ul.nav {
        /* ---sp--- */ } }
    #nav ul.nav li.nav-item {
      position: relative; }
      @media screen and (min-width: 980px) {
        #nav ul.nav li.nav-item {
          display: inline-block;
          vertical-align: top; } }
      @media screen and (max-width: 979px) {
        #nav ul.nav li.nav-item {
          /* ---sp--- */
          display: block;
          text-align: center;
          padding: 4px 16px; } }
      #nav ul.nav li.nav-item.active > a,
      #nav ul.nav li.nav-item.active > span, #nav ul.nav li.nav-item:hover > a,
      #nav ul.nav li.nav-item:hover > span {
        color: #2183B7;
        background-color: #fff;
        font-weight: bold; }
        @media screen and (max-width: 979px) {
          #nav ul.nav li.nav-item.active > a,
          #nav ul.nav li.nav-item.active > span, #nav ul.nav li.nav-item:hover > a,
          #nav ul.nav li.nav-item:hover > span {
            /* ---sp--- */ } }
      #nav ul.nav li.nav-item.active ul.menu, #nav ul.nav li.nav-item:hover ul.menu {
        display: block;
        opacity: 1; }
      #nav ul.nav li.nav-item > a,
      #nav ul.nav li.nav-item > span {
        display: block;
        cursor: pointer;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        color: #fff;
        background-color: transparent;
        font-size: 0.75rem;
        line-height: 1em;
        padding: 0.5em 1.15em;
        border-radius: 1em;
        margin-right: 1.6em; }
        @media screen and (max-width: 979px) {
          #nav ul.nav li.nav-item > a,
          #nav ul.nav li.nav-item > span {
            /* ---sp--- */
            font-size: 1.2rem;
            margin-right: 0; } }
      @media screen and (min-width: 980px) {
        #nav ul.nav li.nav-item ul.menu {
          display: none;
          opacity: 0;
          position: absolute;
          top: 100%;
          left: 0;
          padding: .3rem 0;
          background-color: #007541; } }
      @media screen and (max-width: 979px) {
        #nav ul.nav li.nav-item ul.menu {
          /* ---sp--- */ } }
      #nav ul.nav li.nav-item ul.menu li.menu-item > a {
        display: block;
        white-space: nowrap;
        color: #fff; }
        @media screen and (min-width: 980px) {
          #nav ul.nav li.nav-item ul.menu li.menu-item > a {
            background-color: transparent;
            font-size: 1rem;
            line-height: 1.2rem;
            padding: 0.3rem 1rem;
            min-width: 4rem;
            font-weight: 400; } }
        @media screen and (max-width: 979px) {
          #nav ul.nav li.nav-item ul.menu li.menu-item > a {
            /* ---sp--- */
            opacity: .8;
            font-size: 12px;
            line-height: 18px;
            padding-left: 15px; } }
        @media screen and (min-width: 980px) {
          #nav ul.nav li.nav-item ul.menu li.menu-item > a:hover {
            background-color: #1B5E20; } }
        @media screen and (max-width: 979px) {
          #nav ul.nav li.nav-item ul.menu li.menu-item > a:hover {
            /* ---sp--- */
            opacity: 1; } }
  @media screen and (min-width: 980px) {
    #nav #nav-fixed {
      position: absolute;
      right: 1rem;
      top: 0;
      bottom: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (max-width: 979px) {
    #nav #nav-fixed {
      /* ---sp--- */
      position: absolute;
      z-index: 3;
      bottom: 16px;
      left: 16px;
      right: 16px; } }
  #nav #header-search {
    display: block; }
    @media screen and (max-width: 979px) {
      #nav #header-search {
        /* ---sp--- */ } }
    #nav #header-search #search-form {
      position: relative; }
      @media screen and (max-width: 979px) {
        #nav #header-search #search-form {
          /* ---sp--- */ } }
      #nav #header-search #search-form #search-input {
        display: block;
        border: none;
        padding: 0;
        -webkit-transition: background-color 0.2s ease-in-out;
        transition: background-color 0.2s ease-in-out;
        padding-right: 2.5em;
        padding-left: 1.25em;
        font-size: 0.6rem;
        line-height: 2.5em;
        height: 2.5em;
        width: 10rem;
        border-radius: 1.25em;
        background-color: #fff;
        color: #36437B; }
        @media screen and (max-width: 979px) {
          #nav #header-search #search-form #search-input {
            /* ---sp--- */
            font-size: 13px;
            width: 100%; } }
        @media screen and (max-width: 319px) {
          #nav #header-search #search-form #search-input {
            /* sp XS */ } }
        #nav #header-search #search-form #search-input::-webkit-input-placeholder {
          color: #36437B; }
        #nav #header-search #search-form #search-input::-moz-placeholder {
          color: #36437B; }
        #nav #header-search #search-form #search-input::-ms-input-placeholder {
          color: #36437B; }
        #nav #header-search #search-form #search-input::placeholder {
          color: #36437B; }
        @media screen and (max-width: 979px) {
          #nav #header-search #search-form #search-input:focus {
            /* ---sp--- */ } }
      #nav #header-search #search-form #search-btn {
        font-size: 0;
        text-indent: -9999px;
        position: absolute;
        right: 0.5rem;
        top: 0.25rem;
        padding: 0;
        border: none;
        background-color: transparent;
        background: transparent url(../img/ceta-search.svg) center center no-repeat;
        background-size: 80%; }
        @media screen and (min-width: 980px) {
          #nav #header-search #search-form #search-btn {
            width: 1rem;
            height: 1rem; } }
        @media screen and (max-width: 979px) {
          #nav #header-search #search-form #search-btn {
            /* ---sp--- */
            width: 28px;
            height: 28px; } }
        @media screen and (max-width: 319px) {
          #nav #header-search #search-form #search-btn {
            /* sp XS */ } }
  #nav #toggle-lang {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    margin-left: 0.5rem;
    height: 1.5rem;
    border-radius: 0.75rem;
    padding: 0 0.08rem; }
    @media screen and (max-width: 979px) {
      #nav #toggle-lang {
        /* ---sp--- */
        margin-left: auto;
        margin-right: auto;
        margin-top: 16px;
        width: 96px;
        height: 30px;
        border-radius: 15px;
        padding: 0 1.6px; } }
    #nav #toggle-lang a {
      display: block;
      color: #36437B;
      border-radius: 0.75rem;
      font-weight: bold;
      font-size: 0.5rem;
      line-height: 1em;
      padding: 0.84em 1.725em;
      margin-right: -0.5em;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      #nav #toggle-lang a.active, #nav #toggle-lang a:hover {
        color: #fff;
        background-color: #36437B; }
      #nav #toggle-lang a:last-child {
        margin-right: 0; }
      @media screen and (max-width: 979px) {
        #nav #toggle-lang a {
          /* ---sp--- */
          font-size: 10px;
          border-radius: 20px; } }

@media screen and (min-width: 980px) {
  #nav-mask {
    display: none; } }

@media screen and (max-width: 979px) {
  #nav-mask {
    /* ---sp--- */
    position: fixed;
    z-index: 950;
    background-color: #000;
    opacity: .5;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: none; }
    #nav-mask.active {
      display: block; } }

/* footer */
#footer {
  position: relative;
  z-index: 800;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #36437B; }
  @media screen and (min-width: 980px) {
    #footer {
      height: 6.667rem; } }
  @media screen and (max-width: 979px) {
    #footer {
      /* ---sp--- */
      height: 6rem; } }
  #footer .wrap {
    position: relative;
    height: 100%; }
  #footer #footer-logo {
    position: absolute;
    background-image: url(../img/ceta-logo.svg);
    background-repeat: no-repeat;
    background-position-x: center;
    background-position-y: top;
    background-size: contain;
    background-position-x: left;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    height: 2.5rem;
    width: 10rem; }
    @media screen and (min-width: 980px) {
      #footer #footer-logo {
        left: 1rem; } }
    @media screen and (max-width: 979px) {
      #footer #footer-logo {
        /* ---sp--- */
        left: 2rem; } }
    @media screen and (max-width: 619px) {
      #footer #footer-logo {
        /* sp Small moderate */
        height: 2rem;
        width: 8rem; } }
  #footer #footer-info {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: right; }
    @media screen and (min-width: 980px) {
      #footer #footer-info {
        right: 1rem; } }
    @media screen and (max-width: 979px) {
      #footer #footer-info {
        /* ---sp--- */
        right: 2rem; } }
    #footer #footer-info p {
      color: #fff; }
      @media screen and (min-width: 980px) {
        #footer #footer-info p {
          font-size: 13px;
          line-height: 1.5; } }
      @media screen and (max-width: 979px) {
        #footer #footer-info p {
          /* ---sp--- */
          font-size: 0.8rem;
          line-height: 1.2;
          margin-top: 4px;
          margin-bottom: 4px; } }
      @media screen and (max-width: 619px) {
        #footer #footer-info p {
          /* sp Small moderate */ } }

/* container */
.container {
  position: relative;
  padding: 3rem 0; }
  @media screen and (max-width: 979px) {
    .container {
      /* ---sp--- */ } }
  .container .container-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 0 0.8rem; }
    @media screen and (min-width: 980px) {
      .container .container-title {
        margin: 0 1rem; } }
    @media screen and (max-width: 979px) {
      .container .container-title {
        /* ---sp--- */
        margin: 0 2rem; } }
    @media screen and (max-width: 619px) {
      .container .container-title {
        /* sp Small */
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
    .container .container-title h2 {
      font-weight: normal;
      color: #3E4251; }
      @media screen and (min-width: 980px) {
        .container .container-title h2 {
          font-size: 1.1rem;
          line-height: 1.6; } }
      @media screen and (max-width: 979px) {
        .container .container-title h2 {
          /* ---sp--- */
          font-size: 1.3rem;
          line-height: 1.6; } }
      .container .container-title h2 > span {
        vertical-align: middle;
        padding: 0 0.75rem; }
      .container .container-title h2::before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        height: 2rem;
        width: 1.25rem;
        background-image: url(../img/ceta-c.svg);
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: center;
        background-size: contain; }
        @media screen and (max-width: 979px) {
          .container .container-title h2::before {
            /* ---sp--- */
            width: 1.5rem; } }
      .container .container-title h2::after {
        content: '';
        display: inline-block;
        vertical-align: middle;
        height: 2rem;
        width: 3.25rem;
        background-image: url(../img/ceta-dash.svg);
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: center;
        background-size: contain; }
        @media screen and (max-width: 979px) {
          .container .container-title h2::after {
            /* ---sp--- */
            width: 3.9rem; } }
    .container .container-title .rightbar a.more {
      color: #3E4251;
      display: block;
      position: relative;
      font-size: 0.6rem;
      line-height: 1rem;
      padding-right: 1rem; }
      @media screen and (max-width: 1219px) {
        .container .container-title .rightbar a.more {
          /* ---sp--- */
          font-size: 0.7rem; } }
      @media screen and (max-width: 979px) {
        .container .container-title .rightbar a.more {
          /* ---sp--- */
          font-size: 0.8rem; } }
      .container .container-title .rightbar a.more:hover {
        color: #53b673; }
      .container .container-title .rightbar a.more::after {
        display: block;
        position: absolute;
        content: '';
        height: 1rem;
        width: 1rem;
        right: 0;
        top: 0;
        bottom: 0;
        background-image: url(../img/ceta-arrowb.svg);
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: center;
        background-size: contain; }

/* news-container */
.news-container.container {
  background-color: #fff;
  padding-bottom: 2rem; }

.post-panels {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media screen and (max-width: 979px) {
    .post-panels {
      /* ---sp--- */
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin: 0 1rem; } }
  .post-panels .panel {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (max-width: 979px) {
      .post-panels .panel {
        /* ---sp--- */
        width: 100%; } }
    .post-panels .panel .post {
      color: #242424;
      text-align: justify;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: block;
      width: 50%;
      padding: 1rem; }
      .post-panels .panel .post .image {
        margin-bottom: 0.8rem;
        overflow: hidden; }
        .post-panels .panel .post .image a {
          position: relative;
          display: block;
          -webkit-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out; }
          .post-panels .panel .post .image a:before {
            content: '';
            display: block;
            width: 1px;
            padding-top: 60%; }
          .post-panels .panel .post .image a img {
            position: absolute;
            display: block;
            top: 0;
            bottom: 0;
            right: 0;
            left: 0;
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out; }
          .post-panels .panel .post .image a:hover {
            -webkit-filter: brightness(0.75);
                    filter: brightness(0.75); }
            .post-panels .panel .post .image a:hover img {
              -webkit-transform: scale(1.03);
                  -ms-transform: scale(1.03);
                      transform: scale(1.03); }
      .post-panels .panel .post .title {
        padding-top: 0.125em;
        padding-bottom: 0.3125em;
        font-size: 0.8rem;
        max-height: 2.9em;
        overflow: hidden; }
        .post-panels .panel .post .title a {
          line-height: 1.5;
          -webkit-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out; }
          .post-panels .panel .post .title a:hover {
            color: #53b673; }
        @media screen and (max-width: 979px) {
          .post-panels .panel .post .title {
            /* ---sp--- */
            font-size: 1rem; } }
      .post-panels .panel .post .excerpt {
        display: none;
        padding-top: 0.375em;
        padding-bottom: 0.375em;
        font-size: 0.667rem;
        line-height: 1.8; }
        @media screen and (max-width: 979px) {
          .post-panels .panel .post .excerpt {
            /* ---sp--- */
            font-size: 0.85rem; } }
      .post-panels .panel .post .metabar {
        padding-top: 0.833em;
        font-size: 0.6rem; }
        @media screen and (max-width: 979px) {
          .post-panels .panel .post .metabar {
            /* ---sp--- */
            font-size: 0.8rem; } }
      .post-panels .panel .post.featured-post {
        width: 100%; }
        .post-panels .panel .post.featured-post .image {
          margin-bottom: 1.2rem; }
        @media screen and (max-width: 979px) {
          .post-panels .panel .post.featured-post {
            /* ---sp--- */ }
            .post-panels .panel .post.featured-post .title {
              font-size: 1.1rem; } }
        .post-panels .panel .post.featured-post .excerpt {
          display: block; }

/* notice-container */
.notice-container.container {
  background-color: #fff;
  padding-top: 2rem; }

@media screen and (min-width: 980px) {
  .post-list {
    margin: 0 1rem 1rem; } }

@media screen and (max-width: 979px) {
  .post-list {
    /* ---sp--- */
    margin: 0 2rem 1rem; } }

.post-list .post {
  display: block;
  padding: 1.2rem 0;
  border-bottom: 1px solid #D6D6D6; }
  .post-list .post a.post-link {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    display: block;
    line-height: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 1rem; }
    .post-list .post a.post-link .date {
      display: inline-block;
      color: #fff;
      text-align: center;
      vertical-align: middle;
      border-radius: 0.5rem;
      font-size: 0.6rem;
      line-height: 1rem;
      height: 1rem;
      width: 4rem;
      margin-right: 1rem;
      background: #53b673;
      background-image: -webkit-linear-gradient(330deg, #86c68c 0%, #53b673 40%, #008bb4 100%);
      background-image: linear-gradient(120deg, #86c68c 0%, #53b673 40%, #008bb4 100%); }
      @media screen and (max-width: 1219px) {
        .post-list .post a.post-link .date {
          /* ---sp--- */
          font-size: 0.7rem;
          width: 4.7rem; } }
      @media screen and (max-width: 979px) {
        .post-list .post a.post-link .date {
          /* ---sp--- */
          font-size: 0.8rem;
          width: 5.3rem; } }
    .post-list .post a.post-link .title {
      display: inline;
      vertical-align: middle;
      font-size: 0.75rem;
      line-height: 1rem;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      @media screen and (max-width: 1219px) {
        .post-list .post a.post-link .title {
          /* ---sp--- */
          font-size: 0.8rem; } }
      @media screen and (max-width: 979px) {
        .post-list .post a.post-link .title {
          /* ---sp--- */
          font-size: 1rem; } }
    .post-list .post a.post-link:hover .title {
      color: #53b673; }
    .post-list .post a.post-link::after {
      display: block;
      position: absolute;
      content: '';
      height: 1rem;
      width: 1rem;
      right: 0;
      top: 0;
      bottom: 0;
      background-image: url(../img/ceta-arrowb.svg);
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: center;
      background-size: contain; }

/* research-container */
.research-container.container {
  background-color: #EEF1F9;
  padding: 4rem 0; }

.wrap.slide-wrap {
  overflow: hidden;
  width: 100% !important;
  height: 22rem;
  margin-top: 1.5rem; }
  @media screen and (max-width: 619px) {
    .wrap.slide-wrap {
      /* sp Small */ } }

.research-slider {
  width: 38rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 619px) {
    .research-slider {
      /* sp Small */
      width: calc(100vw - 4rem); } }
  .research-slider .bxslider {
    width: 100%; }
    .research-slider .bxslider li.slide {
      display: block;
      position: relative;
      width: 100%;
      height: 22rem; }
      @media screen and (max-width: 979px) {
        .research-slider .bxslider li.slide {
          /* ---sp--- */ } }
      .research-slider .bxslider li.slide .img {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        left: 4rem;
        bottom: 3.75rem;
        overflow: hidden; }
        .research-slider .bxslider li.slide .img a {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          width: 100%;
          height: 100%;
          background-size: cover;
          background-position: center center;
          -webkit-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out; }
          .research-slider .bxslider li.slide .img a:hover {
            -webkit-filter: brightness(0.75);
                    filter: brightness(0.75);
            -webkit-transform: scale(1.03);
                -ms-transform: scale(1.03);
                    transform: scale(1.03); }
      .research-slider .bxslider li.slide .txt {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        text-align: justify;
        display: block;
        position: absolute;
        background-color: #fff;
        left: 0;
        right: 6.5rem;
        bottom: 0;
        height: 7.5rem;
        padding: 1.8rem 2rem; }
        .research-slider .bxslider li.slide .txt .meta {
          display: block;
          position: absolute;
          text-align: center;
          color: #fff;
          left: 0;
          width: 4rem;
          bottom: 100%;
          height: 4rem;
          background: #a2ce74;
          background-image: -webkit-linear-gradient(315deg, #a2ce74 0.6%, #86c68c 16.1%, #53b673 34.3%, #008bb4 57.8%, #5078bb 84.4%, #896cad 100%);
          background-image: linear-gradient(135deg, #a2ce74 0.6%, #86c68c 16.1%, #53b673 34.3%, #008bb4 57.8%, #5078bb 84.4%, #896cad 100%); }
          .research-slider .bxslider li.slide .txt .meta .num {
            white-space: nowrap;
            overflow: hidden;
            font-size: 2rem;
            line-height: 1;
            margin-top: 0.75rem; }
          .research-slider .bxslider li.slide .txt .meta .tag {
            white-space: nowrap;
            overflow: hidden;
            font-size: 0.4rem;
            line-height: 2; }
        .research-slider .bxslider li.slide .txt .title {
          font-size: 0.8rem;
          max-height: 2.9em;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis; }
          .research-slider .bxslider li.slide .txt .title a {
            line-height: 1.5;
            -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out; }
            .research-slider .bxslider li.slide .txt .title a:hover {
              color: #53b673; }
          @media screen and (max-width: 979px) {
            .research-slider .bxslider li.slide .txt .title {
              /* ---sp--- */
              font-size: 1rem; } }
        .research-slider .bxslider li.slide .txt .excerpt {
          overflow: hidden;
          padding-top: 0.75em;
          font-size: 0.667rem;
          line-height: 1.8;
          max-height: 3.5em; }
          @media screen and (max-width: 979px) {
            .research-slider .bxslider li.slide .txt .excerpt {
              /* ---sp--- */
              font-size: 0.85rem; } }
  .research-slider .bx-viewport {
    overflow: visible !important; }
  .research-slider .bx-wrapper {
    position: relative; }
  .research-slider .bx-controls {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #a2ce74;
    background: -webkit-linear-gradient(330deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
    background: linear-gradient(120deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%); }
    .research-slider .bx-controls .bx-controls-direction {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-align-content: flex-start;
          -ms-flex-line-pack: start;
              align-content: flex-start;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      width: 4rem; }
      .research-slider .bx-controls .bx-controls-direction a {
        position: relative;
        display: block;
        width: 1.875rem;
        height: 1.875rem;
        font-size: 0;
        text-indent: -9999;
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: center;
        background-size: 60% 60%; }
      .research-slider .bx-controls .bx-controls-direction a.bx-prev {
        background-image: url(../img/ceta-arrowl.svg); }
      .research-slider .bx-controls .bx-controls-direction a.bx-next {
        background-image: url(../img/ceta-arrow.svg); }
      .research-slider .bx-controls .bx-controls-direction a.bx-next::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 100%;
        width: 0.25rem;
        background-color: #EEF1F9; }

/* link-container */
.link-container {
  background-color: #fff; }

.link-container-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media screen and (min-width: 980px) {
    .link-container-body {
      padding: 0.75rem 0.4rem 0; } }
  @media screen and (max-width: 979px) {
    .link-container-body {
      /* ---sp--- */
      padding: 1rem 1rem 0; } }
  .link-container-body a.link {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    display: block;
    color: #242424;
    width: 13.6rem;
    height: 3rem;
    margin: 0.375rem 0.6rem;
    outline: 1px #e5e5e5 solid;
    outline-offset: -1px;
    font-size: 0.6rem;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    overflow: hidden; }
    @media screen and (min-width: 980px) and (max-width: 1219px) {
      .link-container-body a.link {
        /* pc Medium */
        font-size: 0.7rem; } }
    @media screen and (max-width: 979px) {
      .link-container-body a.link {
        /* ---sp--- */
        font-size: 11px;
        line-height: 18px;
        width: calc(50% - 2rem);
        height: 4.2rem;
        margin: 0.5rem 1rem; } }
    .link-container-body a.link > span {
      display: block;
      position: absolute;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 1rem;
      right: 3.5rem;
      line-height: 1.25; }
    .link-container-body a.link::before {
      content: '';
      display: block;
      position: absolute;
      top: 0.875rem;
      bottom: 0.875rem;
      right: 0.75rem;
      height: 1.25rem;
      width: 1.25rem;
      border-radius: 50%;
      background-color: #53b673;
      background-image: -webkit-linear-gradient(330deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
      background-image: linear-gradient(120deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
      background-size: 180%;
      background-position: center center;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      @media screen and (max-width: 979px) {
        .link-container-body a.link::before {
          /* ---sp--- */
          top: 1.225rem;
          bottom: 1.225rem;
          right: 1.05rem;
          height: 1.75rem;
          width: 1.75rem; } }
    .link-container-body a.link::after {
      content: '';
      display: block;
      position: absolute;
      top: 0.875rem;
      bottom: 0.875rem;
      right: 0.75rem;
      height: 1.25rem;
      width: 1.25rem;
      background-image: url(../img/ceta-arrow.svg);
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: center;
      background-size: contain; }
      @media screen and (max-width: 979px) {
        .link-container-body a.link::after {
          /* ---sp--- */
          top: 1.225rem;
          bottom: 1.225rem;
          right: 1.05rem;
          height: 1.75rem;
          width: 1.75rem; } }
    .link-container-body a.link:hover {
      color: #fff; }
      .link-container-body a.link:hover::before {
        -webkit-transform: scale(15) translateX(-30%);
            -ms-transform: scale(15) translateX(-30%);
                transform: scale(15) translateX(-30%); }
        @media screen and (max-width: 979px) {
          .link-container-body a.link:hover::before {
            /* ---sp--- */ } }

/* banner-container - BANNER LAYOUT */
.banner-container {
  position: relative;
  overflow-y: hidden;
  /* for toppage slider */
  /* for post */ }
  @media screen and (max-width: 979px) {
    .banner-container {
      /* ---sp--- */ } }
  .banner-container .banner-container-bg {
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    background: #208f97;
    background: -webkit-linear-gradient(90deg, #208f97 0%, #599014 100%);
    background: -webkit-gradient(linear, left top, right top, from(#208f97), to(#599014));
    background: -webkit-linear-gradient(left, #208f97 0%, #599014 100%);
    background: linear-gradient(90deg, #208f97 0%, #599014 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#208f97",endColorstr="#599014",GradientType=1); }
    @media screen and (min-width: 980px) {
      .banner-container .banner-container-bg {
        height: 12rem; } }
    @media screen and (max-width: 979px) {
      .banner-container .banner-container-bg {
        /* ---sp--- */
        height: 11rem; } }
    @media screen and (min-width: 980px) {
      .banner-container .banner-container-bg.for-category {
        height: 8rem; } }
    @media screen and (max-width: 979px) {
      .banner-container .banner-container-bg.for-category {
        /* ---sp--- */
        height: 8rem; } }
  .banner-container .wrap {
    position: relative; }
  .banner-container .top-banner-slider {
    position: relative;
    background-color: #FFFFFF;
    padding: 1rem 1rem 0; }
    @media screen and (max-width: 979px) {
      .banner-container .top-banner-slider {
        /* ---sp--- */
        margin: 2.5rem 1rem 0; } }
    .banner-container .top-banner-slider .bxslider {
      width: 100%; }
      .banner-container .top-banner-slider .bxslider li.slide {
        display: block;
        position: relative; }
        @media screen and (min-width: 980px) {
          .banner-container .top-banner-slider .bxslider li.slide {
            font-size: .7rem;
            line-height: 1.1rem;
            width: 100%;
            height: 32.5rem; } }
        @media screen and (max-width: 979px) {
          .banner-container .top-banner-slider .bxslider li.slide {
            /* ---sp--- */
            font-size: 1rem;
            line-height: 1.5rem;
            width: 100%;
            height: 21.8rem; } }
        .banner-container .top-banner-slider .bxslider li.slide a.img {
          display: block;
          position: absolute;
          z-index: 1;
          background-repeat: no-repeat;
          background-position-x: center;
          background-position-y: center;
          background-size: cover;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          width: 100%;
          height: 100%; }
          @media screen and (max-width: 979px) {
            .banner-container .top-banner-slider .bxslider li.slide a.img {
              /* ---sp--- */ } }
        .banner-container .top-banner-slider .bxslider li.slide .txt {
          display: block;
          position: absolute;
          background-color: rgba(255, 255, 255, 0.7);
          z-index: 2;
          color: #212121;
          bottom: 0;
          right: 0; }
          @media screen and (min-width: 980px) {
            .banner-container .top-banner-slider .bxslider li.slide .txt {
              width: 38rem;
              padding: 1.0rem 1.2rem 1.0rem; } }
          @media screen and (max-width: 979px) {
            .banner-container .top-banner-slider .bxslider li.slide .txt {
              /* ---sp--- */
              left: 0%;
              padding: 0.9rem 2rem 0.6rem; } }
          .banner-container .top-banner-slider .bxslider li.slide .txt .head {
            display: block;
            overflow: hidden; }
            @media screen and (min-width: 980px) {
              .banner-container .top-banner-slider .bxslider li.slide .txt .head {
                font-size: 1.2rem;
                line-height: 1.4rem;
                max-height: 6rem;
                margin-bottom: .4rem; } }
            @media screen and (max-width: 979px) {
              .banner-container .top-banner-slider .bxslider li.slide .txt .head {
                /* ---sp--- */
                font-size: 1.5rem;
                line-height: 1.8rem;
                max-height: 5.4rem;
                margin-bottom: 0.2rem; } }
            .banner-container .top-banner-slider .bxslider li.slide .txt .head a.title {
              display: inline-block;
              color: #1B5E20;
              -webkit-transition: color 0.2s ease-in-out;
              transition: color 0.2s ease-in-out; }
              .banner-container .top-banner-slider .bxslider li.slide .txt .head a.title:hover {
                color: #003300; }
          .banner-container .top-banner-slider .bxslider li.slide .txt .meta {
            white-space: nowrap;
            overflow: hidden;
            color: #666; }
            .banner-container .top-banner-slider .bxslider li.slide .txt .meta span {
              margin-right: 1rem; }
          @media screen and (min-width: 980px) {
            .banner-container .top-banner-slider .bxslider li.slide .txt .excerpt {
              max-height: 7rem;
              overflow: hidden;
              margin: 0.8rem 0; } }
          @media screen and (max-width: 979px) {
            .banner-container .top-banner-slider .bxslider li.slide .txt .excerpt {
              /* ---sp--- */
              max-height: 4.5rem;
              overflow-x: hidden;
              overflow-y: auto;
              margin: 0.25rem 0; } }
          .banner-container .top-banner-slider .bxslider li.slide .txt a.more {
            display: inline-block;
            color: #1B5E20; }
            .banner-container .top-banner-slider .bxslider li.slide .txt a.more:hover {
              color: #003300; }
    .banner-container .top-banner-slider .bx-controls .bx-pager {
      text-align: right;
      font-size: 0;
      z-index: 99; }
      @media screen and (min-width: 980px) {
        .banner-container .top-banner-slider .bx-controls .bx-pager {
          position: absolute;
          right: 1.5rem;
          bottom: 1.0rem;
          white-space: nowrap; } }
      @media screen and (max-width: 979px) {
        .banner-container .top-banner-slider .bx-controls .bx-pager {
          /* ---sp--- */
          position: absolute;
          right: 3rem;
          bottom: 1rem;
          white-space: nowrap; } }
      .banner-container .top-banner-slider .bx-controls .bx-pager .bx-pager-item {
        display: inline-block;
        vertical-align: top; }
        @media screen and (min-width: 980px) {
          .banner-container .top-banner-slider .bx-controls .bx-pager .bx-pager-item {
            margin: 0 8px; } }
        @media screen and (max-width: 979px) {
          .banner-container .top-banner-slider .bx-controls .bx-pager .bx-pager-item {
            /* ---sp--- */
            margin: 0 4px; } }
      .banner-container .top-banner-slider .bx-controls .bx-pager a.bx-pager-link {
        display: block;
        background-color: #fff;
        border-radius: 50%; }
        @media screen and (min-width: 980px) {
          .banner-container .top-banner-slider .bx-controls .bx-pager a.bx-pager-link {
            width: 10px;
            height: 10px;
            border: 2px solid #8AC148; } }
        @media screen and (max-width: 979px) {
          .banner-container .top-banner-slider .bx-controls .bx-pager a.bx-pager-link {
            /* ---sp--- */
            width: 7px;
            height: 7px;
            border: 2px solid #8AC148; } }
        .banner-container .top-banner-slider .bx-controls .bx-pager a.bx-pager-link.active {
          background-color: #8AC148; }
    .banner-container .top-banner-slider .bx-controls a {
      font-size: 0;
      text-indent: -9999px;
      -webkit-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out; }
      .banner-container .top-banner-slider .bx-controls a:hover {
        opacity: 1; }
  .banner-container .banner-box {
    position: relative;
    padding: 1rem 1rem;
    background-color: #FFFFFF; }
    @media screen and (max-width: 979px) {
      .banner-container .banner-box {
        /* ---sp--- */
        margin: 0.5rem 1rem; } }
    .banner-container .banner-box .banner {
      display: block;
      position: relative; }
      @media screen and (min-width: 980px) {
        .banner-container .banner-box .banner {
          width: 100%; } }
      @media screen and (max-width: 979px) {
        .banner-container .banner-box .banner {
          /* ---sp--- */
          width: 100%; } }
      @media screen and (max-width: 979px) {
        .banner-container .banner-box .banner.for-category {
          /* ---sp--- */ } }
    .banner-container .banner-box .img {
      display: block;
      position: absolute;
      z-index: 1;
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: 30%;
      background-size: cover;
      /* @include bgi(center); */
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%; }
      @media screen and (max-width: 979px) {
        .banner-container .banner-box .img {
          /* ---sp--- */ } }
    .banner-container .banner-box .txt {
      display: block;
      position: relative;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background-color: rgba(255, 255, 255, 0.75);
      z-index: 2;
      color: #212121;
      bottom: 0;
      left: 0;
      line-height: 1.2; }
      @media screen and (min-width: 980px) {
        .banner-container .banner-box .txt {
          padding: 1.0rem 0 1.0rem;
          font-size: 1.2rem; } }
      @media screen and (max-width: 979px) {
        .banner-container .banner-box .txt {
          /* ---sp--- */
          right: 30%;
          padding: 0.6rem 0 0.6rem;
          font-size: 1rem; } }
      .banner-container .banner-box .txt .title {
        display: block;
        font-weight: 700;
        line-height: 1.2; }
        @media screen and (min-width: 980px) {
          .banner-container .banner-box .txt .title {
            font-size: 1.6rem; } }
        @media screen and (max-width: 979px) {
          .banner-container .banner-box .txt .title {
            /* ---sp--- */
            font-size: 1.6rem; } }
      .banner-container .banner-box .txt .meta {
        position: relative;
        color: #666; }
        @media screen and (min-width: 980px) {
          .banner-container .banner-box .txt .meta {
            margin-bottom: 0.5rem;
            white-space: nowrap;
            overflow: hidden; } }
        @media screen and (max-width: 979px) {
          .banner-container .banner-box .txt .meta {
            /* ---sp--- */
            margin-bottom: 0.5rem; } }
        .banner-container .banner-box .txt .meta .breadcrumb a {
          color: #1B5E20; }
          .banner-container .banner-box .txt .meta .breadcrumb a:hover {
            color: #599014; }
        .banner-container .banner-box .txt .meta .date {
          position: absolute;
          right: 0;
          bottom: 0; }
    .banner-container .banner-box.for-post {
      /* post page only */
      /* overwrite */ }
      .banner-container .banner-box.for-post .txt {
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        background-color: rgba(255, 255, 255, 0.75);
        z-index: 2;
        color: #212121;
        bottom: 0;
        left: 0;
        line-height: 1.2; }
        @media screen and (min-width: 980px) {
          .banner-container .banner-box.for-post .txt {
            width: 38rem;
            padding: 1.0rem 1.6rem 1.0rem;
            font-size: 1.2rem; } }
        @media screen and (max-width: 979px) {
          .banner-container .banner-box.for-post .txt {
            /* ---sp--- */
            right: 30%;
            padding: 0.6rem 2rem 0.6rem;
            font-size: 1rem; } }
        .banner-container .banner-box.for-post .txt .title {
          display: block;
          font-weight: 700;
          line-height: 1.2; }
          @media screen and (min-width: 980px) {
            .banner-container .banner-box.for-post .txt .title {
              font-size: 1.6rem; } }
          @media screen and (max-width: 979px) {
            .banner-container .banner-box.for-post .txt .title {
              /* ---sp--- */
              font-size: 1.6rem; } }
        .banner-container .banner-box.for-post .txt .meta {
          position: relative;
          color: #666; }
          @media screen and (min-width: 980px) {
            .banner-container .banner-box.for-post .txt .meta {
              margin-bottom: 0.5rem;
              white-space: nowrap;
              overflow: hidden; } }
          @media screen and (max-width: 979px) {
            .banner-container .banner-box.for-post .txt .meta {
              /* ---sp--- */
              margin-bottom: 0.5rem; } }
          .banner-container .banner-box.for-post .txt .meta .breadcrumb a {
            color: #1B5E20; }
            .banner-container .banner-box.for-post .txt .meta .breadcrumb a:hover {
              color: #599014; }
          .banner-container .banner-box.for-post .txt .meta .date {
            position: absolute;
            right: 0;
            bottom: 0; }
      .banner-container .banner-box.for-post .txt {
        right: 0;
        width: 100%; }
        @media screen and (min-width: 980px) {
          .banner-container .banner-box.for-post .txt {
            font-size: 0.9rem;
            padding: 0.8rem 0 1.2rem; } }
        @media screen and (max-width: 979px) {
          .banner-container .banner-box.for-post .txt {
            /* ---sp--- */
            font-size: 1rem;
            padding: 0.4rem 0 0.6rem; } }
        .banner-container .banner-box.for-post .txt .title {
          font-weight: 400; }
          @media screen and (min-width: 980px) {
            .banner-container .banner-box.for-post .txt .title {
              font-size: 1.8rem; } }
          @media screen and (max-width: 979px) {
            .banner-container .banner-box.for-post .txt .title {
              /* ---sp--- */
              font-size: 1.75rem; } }
        @media screen and (min-width: 980px) {
          .banner-container .banner-box.for-post .txt .meta {
            margin-top: 1.1rem; } }
        @media screen and (max-width: 979px) {
          .banner-container .banner-box.for-post .txt .meta {
            /* ---sp--- */
            margin-top: 0.6rem; } }
        .banner-container .banner-box.for-post .txt .meta .breadcrumb a {
          color: #1B5E20; }
          .banner-container .banner-box.for-post .txt .meta .breadcrumb a:hover {
            color: #599014; }
        .banner-container .banner-box.for-post .txt .meta .date {
          position: absolute;
          right: 0;
          bottom: 0; }
          @media screen and (max-width: 979px) {
            .banner-container .banner-box.for-post .txt .meta .date {
              /* ---sp--- */
              margin-top: 0.6rem;
              position: relative;
              display: block;
              text-align: right; } }
    .banner-container .banner-box.for-category .txt {
      text-align: center; }
      .banner-container .banner-box.for-category .txt .title {
        display: inline-block;
        background: #a2ce74;
        background: -webkit-linear-gradient(350deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
        background: linear-gradient(100deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent; }
        .banner-container .banner-box.for-category .txt .title::before, .banner-container .banner-box.for-category .txt .title::after {
          content: '';
          display: inline-block;
          vertical-align: middle;
          background: #a2ce74;
          background: -webkit-gradient(linear, left top, right top, color-stop(0.6%, #a2ce74), color-stop(11.3%, #86c68c), color-stop(24%, #53b673), color-stop(40.5%, #008bb4), color-stop(59.1%, #5078bb), color-stop(77.8%, #896cad), to(#b570aa));
          background: -webkit-linear-gradient(left, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
          background: linear-gradient(90deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
          width: 2em;
          height: 2px;
          margin: 0 0.5em; }

/* post-container - BASIC LAYOUT */
.post-container {
  background-color: #EEF1F9;
  padding: 1px 0; }
  @media screen and (max-width: 979px) {
    .post-container {
      /* ---sp--- */ } }
  .post-container .wrap {
    font-size: 0; }
    @media screen and (min-width: 980px) {
      .post-container .wrap .main-wrap,
      .post-container .wrap .side-wrap {
        display: inline-block;
        vertical-align: top; } }
    @media screen and (max-width: 979px) {
      .post-container .wrap .main-wrap,
      .post-container .wrap .side-wrap {
        /* ---sp--- */
        display: block; } }
    @media screen and (min-width: 980px) {
      .post-container .wrap .main-wrap {
        width: 40rem; } }
    @media screen and (max-width: 979px) {
      .post-container .wrap .main-wrap {
        /* ---sp--- */ } }
    @media screen and (min-width: 980px) {
      .post-container .wrap .side-wrap {
        width: 20rem; } }
    @media screen and (max-width: 979px) {
      .post-container .wrap .side-wrap {
        /* ---sp--- */ } }
    @media screen and (min-width: 980px) {
      .post-container .wrap .main-wrap.distance30 {
        width: 39.5rem; } }
    @media screen and (max-width: 979px) {
      .post-container .wrap .main-wrap.distance30 {
        /* ---sp--- */ } }
    @media screen and (min-width: 980px) {
      .post-container .wrap .side-wrap.right.distance30 {
        width: 21rem;
        margin-left: -.5rem; } }
    @media screen and (max-width: 979px) {
      .post-container .wrap .side-wrap.right.distance30 {
        /* ---sp--- */ } }

/* post-box - BOX LAYOUT */
.post-box {
  display: block;
  background-color: #fff;
  /* now this class resides only in side wrap */ }
  @media screen and (min-width: 980px) {
    .post-box {
      margin: 0 1rem 2.5rem;
      padding: 0; } }
  @media screen and (max-width: 979px) {
    .post-box {
      /* ---sp--- */
      margin: 0 2rem 2.5rem; } }
  .post-box.submenu-box {
    font-size: 1rem; }
    .post-box.submenu-box .box-title {
      border-top-color: #1B5E20;
      background-color: #1B5E20;
      font-size: 1.3em;
      padding: 1.0rem 2rem;
      text-align: center; }
      .post-box.submenu-box .box-title > a, .post-box.submenu-box .box-title > span {
        color: white; }
    .post-box.submenu-box .box-text-body {
      background-color: #f6f9f6;
      padding: 0.2rem 2rem 2.2rem 2rem;
      letter-spacing: 0.05rem; }
      .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item {
        font-size: 1.0rem;
        padding: 1.0rem;
        border-bottom: dashed 1px #ddd;
        position: relative; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item:last-child {
          border-bottom: none; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.current > a, .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.current > span {
          color: #1B5E20; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item > ul.submenu {
          padding: 1.2rem 0 0.2rem 0;
          display: none; }
          .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item > ul.submenu > li.nav-submenu-item {
            border: none;
            font-size: 0.8rem;
            padding: 0.5rem 1.0rem;
            border-bottom: dashed 1px #eee; }
            .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item > ul.submenu > li.nav-submenu-item.current > a, .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item > ul.submenu > li.nav-submenu-item.current > span {
              color: #1B5E20; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.on ul.submenu {
          display: block; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.on .actions {
          background-image: url(../img/arrow_down.svg); }
          .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.on .actions .on {
            display: inline; }
          .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.on .actions .off {
            display: none; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item.has-children {
          cursor: pointer; }
        .post-box.submenu-box .box-text-body ul.nav-submenu > li.nav-submenu-item .actions {
          display: inline-block;
          position: absolute;
          right: 0;
          top: 0.9rem;
          width: 1.4rem;
          height: 1.4rem;
          font-size: 0.5rem;
          padding-left: 5rem;
          cursor: pointer;
          background-image: url(../img/arrow_right.svg);
          background-repeat: no-repeat;
          background-position: right center;
          background-size: 1.4rem 1.4rem;
          /*
                            .on {
                                display: none;
                                display: block;
                                position: absolute;
                                top: 0;
                                left: 0;
                                right: 0;
                                bottom: 0;
                            }
                            .off {
                                display: none;
                                background-image: url(../img/arrow_right.svg);
                                display: block;
                                position: absolute;
                                top: 0;
                                left: 0;
                                right: 0;
                                bottom: 0;
                                background-repeat: no-repeat;
                                background-position: right center;
                            }
                            */ }
  .post-box.about-box .box-title {
    border-top-color: #B9D65F; }
    .post-box.about-box .box-title > a.category,
    .post-box.about-box .box-title > span.category {
      color: #333;
      background-color: #B9D65F; }
      .post-box.about-box .box-title > a.category:after,
      .post-box.about-box .box-title > span.category:after {
        border-color: #B9D65F transparent transparent transparent; }
    .post-box.about-box .box-title > a.category:hover {
      color: #1B5E20; }
  .post-box .box-title {
    border-top: 0.2rem solid #599014;
    margin: 0; }
    @media screen and (max-width: 979px) {
      .post-box .box-title {
        /* ---sp--- */ } }
    .post-box .box-title > a.category,
    .post-box .box-title > span.category {
      display: inline-block;
      position: relative;
      color: #fff;
      background-color: #599014;
      -webkit-transition: color 0.2s ease-in-out;
      transition: color 0.2s ease-in-out; }
      @media screen and (min-width: 980px) {
        .post-box .box-title > a.category,
        .post-box .box-title > span.category {
          height: 1.5rem;
          font-size: 1.2rem;
          line-height: 1.5rem;
          padding: .4rem 2rem 0.5rem;
          top: -.1rem; } }
      @media screen and (max-width: 979px) {
        .post-box .box-title > a.category,
        .post-box .box-title > span.category {
          /* ---sp--- */
          height: 1.5rem;
          font-size: 1.2rem;
          line-height: 1.5rem;
          padding: .4rem 2rem 0.5rem;
          top: -.1rem; } }
      .post-box .box-title > a.category:after,
      .post-box .box-title > span.category:after {
        content: '';
        display: block;
        position: absolute;
        left: 100%;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 2.4rem 1.1rem 0 0;
        border-color: #599014 transparent transparent transparent; }
    .post-box .box-title > a.category:hover {
      color: #B9D65F; }
  .post-box .box-body {
    font-size: 0; }
    @media screen and (min-width: 980px) {
      .post-box .box-body {
        padding: 0.6rem 1.25rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-body {
        /* ---sp--- */
        padding: 1px 0; } }
    @media screen and (min-width: 980px) {
      .post-box .box-body .post {
        display: inline-block;
        vertical-align: top;
        width: 17rem;
        margin: 0.4rem 0.75rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-body .post {
        /* ---sp--- */
        display: block;
        margin: 2rem; } }
    @media screen and (min-width: 980px) {
      .post-box .box-body .post.has-img .meta {
        height: 11.333333rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-body .post.has-img .meta {
        /* ---sp--- */
        height: auto; }
        .post-box .box-body .post.has-img .meta:before {
          content: '';
          display: block;
          width: 1px;
          padding-top: 66.66667%; } }
    .post-box .box-body .post.has-img .meta a.img {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: 30%;
      background-size: cover; }
    .post-box .box-body .post.has-img .meta .meta-bar {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      opacity: .9; }
      @media screen and (min-width: 980px) {
        .post-box .box-body .post.has-img .meta .meta-bar {
          -webkit-transition: transform 0.2s ease-in-out;
          -webkit-transition: -webkit-transform 0.2s ease-in-out;
          transition: -webkit-transform 0.2s ease-in-out;
          transition: transform 0.2s ease-in-out;
          transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
          -webkit-transform: translateY(37px);
          -ms-transform: translateY(37px);
          transform: translateY(37px); } }
    @media screen and (min-width: 980px) {
      .post-box .box-body .post.has-img .meta:hover .meta-bar {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); } }
    .post-box .box-body .post .meta {
      position: relative;
      overflow: hidden; }
      @media screen and (min-width: 980px) {
        .post-box .box-body .post .meta {
          height: 32px; } }
      @media screen and (max-width: 979px) {
        .post-box .box-body .post .meta {
          /* ---sp--- */
          height: 28px; } }
      .post-box .box-body .post .meta a.img {
        display: none; }
      .post-box .box-body .post .meta .meta-bar {
        position: relative;
        background-color: #599014; }
        @media screen and (min-width: 980px) {
          .post-box .box-body .post .meta .meta-bar {
            height: 32px; } }
        @media screen and (max-width: 979px) {
          .post-box .box-body .post .meta .meta-bar {
            /* ---sp--- */
            height: 28px; } }
        .post-box .box-body .post .meta .meta-bar .left {
          color: #fff; }
          @media screen and (min-width: 980px) {
            .post-box .box-body .post .meta .meta-bar .left {
              padding: 6px .75rem; } }
          @media screen and (max-width: 979px) {
            .post-box .box-body .post .meta .meta-bar .left {
              /* ---sp--- */
              padding: 6px 2%; } }
        .post-box .box-body .post .meta .meta-bar .right {
          color: #333;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          background-color: #B9D65F; }
          @media screen and (min-width: 980px) {
            .post-box .box-body .post .meta .meta-bar .right {
              padding: 6px .75rem;
              padding-left: 1.25rem; } }
          @media screen and (max-width: 979px) {
            .post-box .box-body .post .meta .meta-bar .right {
              /* ---sp--- */
              padding: 6px 2%;
              padding-left: 16px; } }
          .post-box .box-body .post .meta .meta-bar .right::before {
            content: '';
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0; }
            @media screen and (min-width: 980px) {
              .post-box .box-body .post .meta .meta-bar .right::before {
                width: 16px;
                border-left: 8px solid #599014;
                border-top: 16px solid transparent;
                border-bottom: 16px solid transparent; } }
            @media screen and (max-width: 979px) {
              .post-box .box-body .post .meta .meta-bar .right::before {
                /* ---sp--- */
                width: 14px;
                border-left: 7px solid #599014;
                border-top: 14px solid transparent;
                border-bottom: 14px solid transparent; } }
        @media screen and (min-width: 980px) {
          .post-box .box-body .post .meta .meta-bar .date,
          .post-box .box-body .post .meta .meta-bar .subcat {
            font-size: 14px;
            line-height: 20px; } }
        @media screen and (max-width: 979px) {
          .post-box .box-body .post .meta .meta-bar .date,
          .post-box .box-body .post .meta .meta-bar .subcat {
            /* ---sp--- */
            font-size: 12px;
            line-height: 16px; } }
        .post-box .box-body .post .meta .meta-bar .subcat {
          display: inline-block;
          overflow: hidden;
          white-space: nowrap;
          -ms-text-overflow: ellipsis;
          text-overflow: ellipsis; }
          @media screen and (min-width: 980px) {
            .post-box .box-body .post .meta .meta-bar .subcat {
              max-width: 10em; } }
          @media screen and (max-width: 979px) {
            .post-box .box-body .post .meta .meta-bar .subcat {
              /* ---sp--- */
              max-width: 12em; } }
    .post-box .box-body .post a.title {
      display: block;
      text-align: justify;
      overflow: hidden;
      color: #1B5E20;
      font-weight: bold;
      -webkit-transition: color 0.2s ease-in-out;
      transition: color 0.2s ease-in-out; }
      @media screen and (min-width: 980px) {
        .post-box .box-body .post a.title {
          font-size: .8rem;
          line-height: 1.1rem;
          max-height: 2.2rem;
          margin: 0.4rem 0; } }
      @media screen and (max-width: 979px) {
        .post-box .box-body .post a.title {
          /* ---sp--- */
          font-size: 1.25rem;
          line-height: 20px;
          max-height: 40px;
          margin: 6px 0; } }
      .post-box .box-body .post a.title:hover {
        color: #003300; }
    .post-box .box-body .post .excerpt {
      text-align: justify;
      overflow: hidden;
      color: #666; }
      @media screen and (min-width: 980px) {
        .post-box .box-body .post .excerpt {
          font-size: 0.7rem;
          line-height: 1rem;
          max-height: 9rem; } }
      @media screen and (max-width: 979px) {
        .post-box .box-body .post .excerpt {
          /* ---sp--- */
          font-size: 12px;
          line-height: 16px;
          max-height: 48px; } }
  @media screen and (min-width: 980px) {
    .post-box .box-list-body {
      font-size: 0.7rem;
      line-height: 1rem;
      padding: 1.2rem 2rem; } }
  @media screen and (max-width: 979px) {
    .post-box .box-list-body {
      /* ---sp--- */
      font-size: 1.1rem;
      line-height: 1.5rem;
      padding: 1.2rem 2rem; } }
  .post-box .box-list-body a.post-link,
  .post-box .box-list-body a.external-link {
    display: block;
    position: relative;
    color: #333; }
    @media screen and (min-width: 980px) {
      .post-box .box-list-body a.post-link,
      .post-box .box-list-body a.external-link {
        margin-bottom: .5rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-list-body a.post-link,
      .post-box .box-list-body a.external-link {
        /* ---sp--- */
        margin-bottom: 0.75rem; } }
    .post-box .box-list-body a.post-link:hover,
    .post-box .box-list-body a.external-link:hover {
      color: #599014; }
  .post-box .box-list-body a.post-link {
    white-space: nowrap;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis; }
    @media screen and (min-width: 980px) {
      .post-box .box-list-body a.post-link {
        padding-right: 5rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-list-body a.post-link {
        /* ---sp--- */
        padding-right: 6rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-list-body a.post-link .title {
        /* ---sp--- */ } }
    .post-box .box-list-body a.post-link .date {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0; }
      @media screen and (max-width: 979px) {
        .post-box .box-list-body a.post-link .date {
          /* ---sp--- */ } }
  .post-box .box-text-body {
    color: #212121; }
    @media screen and (min-width: 980px) {
      .post-box .box-text-body {
        font-size: 0.7rem;
        line-height: 1rem;
        padding: 1.2rem 2rem; } }
    @media screen and (max-width: 979px) {
      .post-box .box-text-body {
        /* ---sp--- */
        font-size: 1rem;
        line-height: 1.5rem;
        padding: 1.2rem 2rem; } }
    .post-box .box-text-body p {
      text-align: left; }
      @media screen and (min-width: 980px) {
        .post-box .box-text-body p {
          margin-bottom: .5rem; } }
      @media screen and (max-width: 979px) {
        .post-box .box-text-body p {
          /* ---sp--- */
          margin-bottom: .5rem; } }
    .post-box .box-text-body .bottom {
      text-align: right; }
      @media screen and (min-width: 980px) {
        .post-box .box-text-body .bottom {
          margin-top: 1rem; } }
      @media screen and (max-width: 979px) {
        .post-box .box-text-body .bottom {
          /* ---sp--- */ } }
      .post-box .box-text-body .bottom .sign {
        display: inline-block;
        text-align: center; }

/* post.html */
.article-box {
  display: block;
  background-color: #fff;
  padding: 0; }
  @media screen and (min-width: 980px) {
    .article-box {
      margin: 2rem 1rem 4rem; } }
  @media screen and (max-width: 979px) {
    .article-box {
      /* ---sp--- */
      margin: 2rem 2rem 4rem; } }
  .article-box .box-post-body {
    word-wrap: break-word;
    padding: 1.2rem 2rem; }
    @media screen and (max-width: 979px) {
      .article-box .box-post-body {
        /* ---sp--- */ } }
    .article-box .box-post-body .article {
      color: #4A4A4A;
      /* editor classes */
      /* richeditor classes */
      /* for videos, 20220412, and text-indent:0 in .fr-video above */ }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article {
          font-size: 1rem;
          line-height: 1rem;
          margin: 0 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article {
          /* ---sp--- */
          font-size: 1rem;
          line-height: 1rem;
          margin: 0 0; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article h1 {
          font-size: 1.3rem;
          line-height: 1.9rem;
          margin: 0.9rem 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article h1 {
          /* ---sp--- */
          font-size: 1.5rem;
          line-height: 2.2rem;
          margin: 1.2rem 0; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article h2 {
          font-size: 1.15rem;
          line-height: 1.7rem;
          margin: 0.8rem 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article h2 {
          /* ---sp--- */
          font-size: 1.4rem;
          line-height: 2rem;
          margin: 1.0rem 0; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article h3 {
          font-size: 1.1rem;
          line-height: 1.2rem;
          margin: 0.7rem 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article h3 {
          /* ---sp--- */
          font-size: 1.1rem;
          line-height: 1.5rem;
          margin: 0.9rem 0; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article h4 {
          font-size: 1.05rem;
          line-height: 1.1rem;
          margin: 0.7rem 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article h4 {
          /* ---sp--- */
          font-size: 1.05rem;
          line-height: 1.2rem;
          margin: 0.9rem 0; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article p {
          font-size: 0.85rem;
          line-height: 1.4rem;
          text-indent: 2em;
          margin: 0.7rem 0; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article p {
          /* ---sp--- */
          font-size: 1.15rem;
          line-height: 1.8rem;
          text-indent: 2em;
          margin: 0.9rem 0; } }
      .article-box .box-post-body .article a {
        text-decoration: none;
        color: #1B5E20; }
        .article-box .box-post-body .article a:hover {
          color: #599014; }
      .article-box .box-post-body .article img {
        display: block;
        max-width: 100%; }
        @media screen and (min-width: 980px) {
          .article-box .box-post-body .article img {
            margin: 0.7rem auto; } }
        @media screen and (max-width: 979px) {
          .article-box .box-post-body .article img {
            /* ---sp--- */
            margin: 0.9rem auto; } }
      @media screen and (min-width: 980px) {
        .article-box .box-post-body .article ol, .article-box .box-post-body .article ul, .article-box .box-post-body .article table, .article-box .box-post-body .article td, .article-box .box-post-body .article th {
          font-size: 0.85rem;
          line-height: 1.4rem;
          margin: 0.7rem 0;
          padding-left: 0.7rem; } }
      @media screen and (max-width: 979px) {
        .article-box .box-post-body .article ol, .article-box .box-post-body .article ul, .article-box .box-post-body .article table, .article-box .box-post-body .article td, .article-box .box-post-body .article th {
          /* ---sp--- */
          font-size: 1.15rem;
          line-height: 1.8rem;
          margin: 0.9rem 0;
          padding-left: 0.9rem; } }
      .article-box .box-post-body .article ol {
        list-style: auto;
        list-style-position: inside; }
      .article-box .box-post-body .article ul {
        list-style: circle;
        list-style-position: inside; }
      .article-box .box-post-body .article li > ol, .article-box .box-post-body .article li > ul {
        margin: 0; }
      .article-box .box-post-body .article table td, .article-box .box-post-body .article table th {
        border: solid 1px #4A4A4A; }
      .article-box .box-post-body .article .oc-text-gray {
        color: #AAA !important; }
      .article-box .box-post-body .article .oc-text-bordered {
        border-top: solid 1px #222;
        border-bottom: solid 1px #222;
        padding: 10px 0; }
      .article-box .box-post-body .article .oc-text-spaced {
        letter-spacing: 1px; }
      .article-box .box-post-body .article .oc-text-uppercase {
        text-transform: uppercase; }
      .article-box .box-post-body .article a.oc-link-strong {
        font-weight: 700; }
      .article-box .box-post-body .article a.oc-link-green {
        color: green; }
      .article-box .box-post-body .article table.oc-dashed-borders td,
      .article-box .box-post-body .article table.oc-dashed-borders th {
        border-style: dashed; }
      .article-box .box-post-body .article table.oc-alternate-rows tbody tr:nth-child(2n) {
        background: #f5f5f5; }
      .article-box .box-post-body .article table td.oc-cell-highlighted,
      .article-box .box-post-body .article table th.oc-cell-highlighted {
        border: 1px double red; }
      .article-box .box-post-body .article table td.oc-cell-thick-border,
      .article-box .box-post-body .article table th.oc-cell-thick-border {
        border-width: 2px; }
      .article-box .box-post-body .article img.oc-img-rounded {
        border-radius: 100%;
        background-clip: padding-box; }
      .article-box .box-post-body .article img.oc-img-bordered {
        border: solid 10px #CCC;
        -webkit-box-sizing: content-box;
                box-sizing: content-box; }
      .article-box .box-post-body .article strong {
        font-weight: 700; }
      .article-box .box-post-body .article table {
        border: none;
        border-collapse: collapse;
        empty-cells: show;
        max-width: 100%; }
      .article-box .box-post-body .article table td,
      .article-box .box-post-body .article table th {
        border: 1px solid #ddd; }
      .article-box .box-post-body .article table td:empty,
      .article-box .box-post-body .article table th:empty {
        height: 20px; }
      .article-box .box-post-body .article table th {
        background: #e6e6e6; }
      .article-box .box-post-body .article hr {
        clear: both;
        user-select: none;
        -o-user-select: none;
        -moz-user-select: none;
        -khtml-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
        page-break-after: always; }
      .article-box .box-post-body .article .fr-file {
        position: relative; }
      .article-box .box-post-body .article .fr-file::after {
        position: relative;
        content: "\1F4CE";
        font-weight: normal; }
      .article-box .box-post-body .article pre {
        white-space: pre-wrap;
        word-wrap: break-word; }
      .article-box .box-post-body .article blockquote {
        border-left: solid 2px #5e35b1;
        margin-left: 0;
        padding-left: 5px;
        color: #5e35b1; }
      .article-box .box-post-body .article blockquote blockquote {
        border-color: #00bcd4;
        color: #00bcd4; }
      .article-box .box-post-body .article blockquote blockquote blockquote {
        border-color: #43a047;
        color: #43a047; }
      .article-box .box-post-body .article span.fr-emoticon {
        font-weight: normal;
        font-family: "Apple Color Emoji","Segoe UI Emoji","NotoColorEmoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";
        display: inline;
        line-height: 0; }
      .article-box .box-post-body .article span.fr-emoticon.fr-emoticon-img {
        background-repeat: no-repeat !important;
        font-size: inherit;
        height: 1em;
        width: 1em;
        min-height: 20px;
        min-width: 20px;
        display: inline-block;
        margin: -0.1em 0.1em 0.1em;
        line-height: 1;
        vertical-align: middle; }
      .article-box .box-post-body .article img {
        position: relative;
        max-width: 100%; }
      .article-box .box-post-body .article img.fr-dib {
        margin: 5px auto;
        display: block;
        float: none;
        vertical-align: top; }
      .article-box .box-post-body .article img.fr-dib.fr-fil {
        margin-left: 0; }
      .article-box .box-post-body .article img.fr-dib.fr-fir {
        margin-right: 0; }
      .article-box .box-post-body .article img.fr-dii {
        display: inline-block;
        float: none;
        vertical-align: bottom;
        margin-left: 5px;
        margin-right: 5px;
        max-width: calc(90%); }
      .article-box .box-post-body .article img.fr-dii.fr-fil {
        float: left;
        margin: 5px 5px 5px 0;
        max-width: calc(95%); }
      .article-box .box-post-body .article img.fr-dii.fr-fir {
        float: right;
        margin: 5px 0 5px 5px;
        max-width: calc(95%); }
      .article-box .box-post-body .article .fr-video {
        text-align: center;
        position: relative;
        text-indent: 0; }
      .article-box .box-post-body .article .fr-video > * {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        max-width: 100%;
        border: none; }
      .article-box .box-post-body .article .fr-video.fr-dvb {
        display: block;
        clear: both; }
      .article-box .box-post-body .article .fr-video.fr-dvb.fr-fvl {
        text-align: left; }
      .article-box .box-post-body .article .fr-video.fr-dvb.fr-fvr {
        text-align: right; }
      .article-box .box-post-body .article .fr-video.fr-dvi {
        display: inline-block; }
      .article-box .box-post-body .article .fr-video.fr-dvi.fr-fvl {
        float: left; }
      .article-box .box-post-body .article .fr-video.fr-dvi.fr-fvr {
        float: right; }
      .article-box .box-post-body .article video {
        max-width: 100%;
        display: block;
        margin: 0 auto; }
      .article-box .box-post-body .article iframe {
        max-width: 100%; }
      .article-box .box-post-body .article .oc-text-gray {
        color: #AAA !important; }
      .article-box .box-post-body .article .oc-text-bordered {
        border-top: solid 1px #222;
        border-bottom: solid 1px #222;
        padding: 10px 0; }
      .article-box .box-post-body .article .oc-text-spaced {
        letter-spacing: 1px; }
      .article-box .box-post-body .article .oc-text-uppercase {
        text-transform: uppercase; }
      .article-box .box-post-body .article a.oc-link-strong {
        font-weight: 700; }
      .article-box .box-post-body .article a.oc-link-green {
        color: green; }
      .article-box .box-post-body .article table.oc-dashed-borders td,
      .article-box .box-post-body .article table.oc-dashed-borders th {
        border-style: dashed; }
      .article-box .box-post-body .article table.oc-alternate-rows tbody tr:nth-child(2n) {
        background: #f5f5f5; }
      .article-box .box-post-body .article table td.oc-cell-highlighted,
      .article-box .box-post-body .article table th.oc-cell-highlighted {
        border: 1px double red; }
      .article-box .box-post-body .article table td.oc-cell-thick-border,
      .article-box .box-post-body .article table th.oc-cell-thick-border {
        border-width: 2px; }
      .article-box .box-post-body .article img.oc-img-rounded {
        border-radius: 100%;
        background-clip: padding-box; }
      .article-box .box-post-body .article img.oc-img-bordered {
        border: solid 10px #CCC;
        -webkit-box-sizing: content-box;
                box-sizing: content-box; }
      .article-box .box-post-body .article .fr-class-inline-small {
        font-size: 0.75rem; }
      .article-box .box-post-body .article .fr-class-inline-medium {
        font-size: 1.0rem; }
      .article-box .box-post-body .article .fr-class-inline-large {
        font-size: 1.1rem; }
      .article-box .box-post-body .article .fr-class-inline-xlarge {
        font-size: 1.25rem; }

/* parent-category.html */
.card-container {
  font-size: 0; }
  @media screen and (max-width: 979px) {
    .card-container {
      /* ---sp--- */
      margin: 0 1rem; } }
  .card-container .card-box {
    position: relative;
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    background-color: #fff; }
    @media screen and (min-width: 980px) {
      .card-container .card-box {
        width: 18rem;
        margin: 0 1rem 2.5rem;
        padding-top: 12rem; } }
    @media screen and (max-width: 979px) {
      .card-container .card-box {
        /* ---sp--- */
        width: calc(50% - 2rem);
        margin: 0 1rem 2.5rem; }
        .card-container .card-box:before {
          content: '';
          display: block;
          width: 1px;
          padding-top: 66.7%; } }
    .card-container .card-box a.img {
      display: block;
      position: absolute;
      z-index: 1;
      background-repeat: no-repeat;
      background-position-x: center;
      background-position-y: center;
      background-size: cover;
      -webkit-transition: transform 0.4s ease-out;
      -webkit-transition: -webkit-transform 0.4s ease-out;
      transition: -webkit-transform 0.4s ease-out;
      transition: transform 0.4s ease-out;
      transition: transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
      top: 0;
      left: 0;
      right: 0;
      width: 100%; }
      @media screen and (min-width: 980px) {
        .card-container .card-box a.img {
          height: 12rem; } }
      @media screen and (max-width: 979px) {
        .card-container .card-box a.img {
          /* ---sp--- */ }
          .card-container .card-box a.img:before {
            content: '';
            display: block;
            width: 1px;
            padding-top: 66.7%; } }
      .card-container .card-box a.img:hover {
        -webkit-transform: scale(1.05, 1.05);
        -ms-transform: scale(1.05, 1.05);
        transform: scale(1.05, 1.05); }
    .card-container .card-box .txt {
      position: relative;
      z-index: 2;
      background-color: #fff; }
      @media screen and (min-width: 980px) {
        .card-container .card-box .txt {
          padding: 1.4rem 2rem 1.7rem; } }
      @media screen and (max-width: 979px) {
        .card-container .card-box .txt {
          /* ---sp--- */
          padding: 0.8rem 1.5rem 0.8rem 2rem; } }
      .card-container .card-box .txt a.title {
        -webkit-transition: color 0.2s ease-in-out;
        transition: color 0.2s ease-in-out; }
        @media screen and (min-width: 980px) {
          .card-container .card-box .txt a.title {
            font-size: 1.2rem;
            line-height: 1.4rem; } }
        @media screen and (max-width: 979px) {
          .card-container .card-box .txt a.title {
            /* ---sp--- */
            font-size: 1.2rem;
            line-height: 1.4rem; } }
        .card-container .card-box .txt a.title:hover {
          color: #599014; }

/* category.html */
.category-box {
  display: block;
  background-color: #fff; }
  @media screen and (min-width: 980px) {
    .category-box {
      margin: 2rem 1rem 3rem;
      padding: 0.5rem 2rem; } }
  @media screen and (max-width: 979px) {
    .category-box {
      /* ---sp--- */
      margin: 2rem 2rem 3rem;
      padding: 0.5rem 2rem; } }
  .category-box .entry-list .entry {
    border-bottom: solid 1px #EDE7F6; }
    @media screen and (min-width: 980px) {
      .category-box .entry-list .entry {
        padding: 1.05rem 0; } }
    @media screen and (max-width: 980px) {
      .category-box .entry-list .entry {
        padding: 1.05rem 0; } }
    .category-box .entry-list .entry:last-child {
      border-bottom: none; }
    .category-box .entry-list .entry a:hover {
      color: #1B5E20; }
  .category-box .entry-list .entry-body,
  .category-box .entry-list .entry-img {
    display: table-cell;
    vertical-align: top; }
  .category-box .entry-list .entry-body {
    width: 10000px; }
    @media screen and (min-width: 980px) {
      .category-box .entry-list .entry-body {
        font-size: 0.8rem; } }
    @media screen and (max-width: 980px) {
      .category-box .entry-list .entry-body {
        font-size: 0.75rem; } }
    @media screen and (min-width: 980px) {
      .category-box .entry-list .entry-body .meta {
        line-height: 1rem;
        font-size: 0.7rem;
        margin-bottom: 0.8rem; } }
    @media screen and (max-width: 980px) {
      .category-box .entry-list .entry-body .meta {
        line-height: 1rem;
        font-size: 0.8rem;
        margin-bottom: 0.4rem; } }
    .category-box .entry-list .entry-body .title {
      font-weight: normal; }
      @media screen and (min-width: 980px) {
        .category-box .entry-list .entry-body .title {
          line-height: 1.6rem;
          font-size: 1.2rem; } }
      @media screen and (max-width: 980px) {
        .category-box .entry-list .entry-body .title {
          line-height: 1.3em;
          font-size: 1.2rem;
          margin-bottom: -.25rem; } }
  .category-box .entry-list .entry-img {
    padding-left: 1.2rem;
    position: relative; }
    @media screen and (max-width: 980px) {
      .category-box .entry-list .entry-img {
        padding-left: 0.5rem; } }
    .category-box .entry-list .entry-img .entry-img-wrapper {
      display: block;
      position: relative;
      width: 7.8rem;
      height: 5.2rem;
      overflow: hidden; }
      @media screen and (max-width: 980px) {
        .category-box .entry-list .entry-img .entry-img-wrapper {
          width: 7rem;
          height: 4.666667rem; } }
      .category-box .entry-list .entry-img .entry-img-wrapper a.entry-img-link {
        display: block;
        position: absolute;
        z-index: 1;
        background-repeat: no-repeat;
        background-position-x: center;
        background-position-y: 30%;
        background-size: cover;
        top: 0;
        left: 0;
        right: 0;
        width: 100%; }
        .category-box .entry-list .entry-img .entry-img-wrapper a.entry-img-link:before {
          content: '';
          display: block;
          width: 1px;
          padding-top: 66.66667%; }
  @media screen and (min-width: 980px) {
    .category-box .entry-list .entry-object {
      width: 7.8rem;
      height: 5.2rem; } }
  @media screen and (max-width: 980px) {
    .category-box .entry-list .entry-object {
      width: 7rem;
      height: 4.66666667rem; } }

.pagination-box {
  display: block; }
  @media screen and (min-width: 980px) {
    .pagination-box {
      margin: -1rem 0.75rem 2rem; } }
  @media screen and (max-width: 979px) {
    .pagination-box {
      /* ---sp--- */
      margin: -1rem 1.75rem 2rem; } }
  .pagination-box .pagination {
    padding-left: 0;
    margin: 1rem 0;
    text-align: center; }
    .pagination-box .pagination > li {
      display: inline-block;
      background: #fff;
      white-space: nowrap;
      text-align: center;
      -webkit-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      @media screen and (min-width: 980px) {
        .pagination-box .pagination > li {
          font-size: 0.7rem;
          line-height: 1.5rem;
          height: 1.5rem;
          min-width: 1.2rem;
          padding: 0 0.15rem;
          margin: 0.25rem; } }
      @media screen and (max-width: 979px) {
        .pagination-box .pagination > li {
          /* ---sp--- */
          font-size: 1rem;
          line-height: 2rem;
          height: 2rem;
          min-width: 1.7rem;
          padding: 0 0.15rem;
          margin: 0.4rem; } }
      @media screen and (min-width: 980px) {
        .pagination-box .pagination > li.prev, .pagination-box .pagination > li.next {
          width: auto;
          padding: 0 0.75rem; } }
      @media screen and (max-width: 979px) {
        .pagination-box .pagination > li.prev, .pagination-box .pagination > li.next {
          /* ---sp--- */
          width: auto;
          padding: 0 0.835rem; } }
      .pagination-box .pagination > li.active, .pagination-box .pagination > li:hover:not(.no-link) {
        color: #fff;
        background: #a2ce74;
        background: -webkit-linear-gradient(315deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
        background: linear-gradient(135deg, #a2ce74 0.6%, #86c68c 11.3%, #53b673 24%, #008bb4 40.5%, #5078bb 59.1%, #896cad 77.8%, #b570aa 100%);
        background-size: 200% 200%;
        background-position: center center; }
        .pagination-box .pagination > li.active a, .pagination-box .pagination > li:hover:not(.no-link) a {
          color: #fff; }

/* search.html (needs .pagination-box from category.html also */
.search-result-box {
  display: block;
  background-color: #fff; }
  @media screen and (min-width: 980px) {
    .search-result-box {
      margin: 0 1rem 2.5rem;
      padding-bottom: 0.1rem; } }
  @media screen and (max-width: 979px) {
    .search-result-box {
      /* ---sp--- */
      margin: 0 2rem 2.5rem;
      padding-bottom: 0.1rem; } }
  .search-result-box .box-title {
    border-top: 0.2rem solid #599014;
    margin: 0; }
    @media screen and (max-width: 979px) {
      .search-result-box .box-title {
        /* ---sp--- */ } }
    .search-result-box .box-title > a,
    .search-result-box .box-title > span {
      display: inline-block;
      position: relative;
      color: #fff;
      background-color: #599014;
      -webkit-transition: color 0.2s ease-in-out;
      transition: color 0.2s ease-in-out; }
      @media screen and (min-width: 980px) {
        .search-result-box .box-title > a,
        .search-result-box .box-title > span {
          height: 1.5rem;
          font-size: 1.2rem;
          line-height: 1.5rem;
          padding: .4rem 2rem 0.5rem;
          top: -.1rem; } }
      @media screen and (max-width: 979px) {
        .search-result-box .box-title > a,
        .search-result-box .box-title > span {
          /* ---sp--- */
          height: 1.5rem;
          font-size: 1.2rem;
          line-height: 1.5rem;
          padding: .4rem 2rem 0.5rem;
          top: -.1rem; } }
      .search-result-box .box-title > a:after,
      .search-result-box .box-title > span:after {
        content: '';
        display: block;
        position: absolute;
        left: 100%;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 2.4rem 1.1rem 0 0;
        border-color: #599014 transparent transparent transparent; }
  .search-result-box p {
    /* no result message */
    font-size: 1.3rem; }
    @media screen and (min-width: 980px) {
      .search-result-box p {
        padding: 0.5rem 2rem; } }
    @media screen and (max-width: 979px) {
      .search-result-box p {
        /* ---sp--- */
        padding: 0.5rem 2rem; } }
  @media screen and (min-width: 980px) {
    .search-result-box .entry-list-box {
      padding: 0.5rem 2rem; } }
  @media screen and (max-width: 979px) {
    .search-result-box .entry-list-box {
      /* ---sp--- */
      padding: 0.5rem 2rem; } }
  .search-result-box .entry-list .entry {
    border-bottom: solid 1px #EDE7F6; }
    @media screen and (min-width: 980px) {
      .search-result-box .entry-list .entry {
        padding: 1.05rem 0; } }
    @media screen and (max-width: 980px) {
      .search-result-box .entry-list .entry {
        padding: 1.05rem 0; } }
    .search-result-box .entry-list .entry:last-child {
      border-bottom: none; }
    .search-result-box .entry-list .entry a:hover {
      color: #1B5E20; }
  .search-result-box .entry-list .entry-body {
    display: table-cell;
    vertical-align: top; }
  .search-result-box .entry-list .entry-body {
    width: 10000px; }
    @media screen and (min-width: 980px) {
      .search-result-box .entry-list .entry-body {
        font-size: 0.8rem; } }
    @media screen and (max-width: 980px) {
      .search-result-box .entry-list .entry-body {
        font-size: 0.75rem; } }
    @media screen and (min-width: 980px) {
      .search-result-box .entry-list .entry-body .meta {
        line-height: 1rem;
        font-size: 0.7rem;
        margin-bottom: 0.8rem; } }
    @media screen and (max-width: 980px) {
      .search-result-box .entry-list .entry-body .meta {
        line-height: 1rem;
        font-size: 0.8rem;
        margin-bottom: 0.4rem; } }
    .search-result-box .entry-list .entry-body .title {
      font-weight: normal; }
      @media screen and (min-width: 980px) {
        .search-result-box .entry-list .entry-body .title {
          line-height: 1.6rem;
          font-size: 1.2rem; } }
      @media screen and (max-width: 980px) {
        .search-result-box .entry-list .entry-body .title {
          line-height: 1.3em;
          font-size: 1.2rem;
          margin-bottom: -.25rem; } }
      .search-result-box .entry-list .entry-body .title a.search-result--title span.highlight {
        color: #FF5722; }
      .search-result-box .entry-list .entry-body .title span.search-result--text {
        display: block;
        font-weight: 100;
        font-size: 0.8rem; }
        .search-result-box .entry-list .entry-body .title span.search-result--text span.highlight {
          color: #FF5722; }
  .search-result-box .pagination-box {
    margin-bottom: 0.25rem;
    text-align: center; }

/* ================================ default style ================================ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 1em; }

html {
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body,
table,
input, textarea, select, option {
  font-family: 'PingFang SC', 'Helvetica Neue', 'Helvetica', 'STHeitiSC-Light', 'Arial', 'Microsoft Yahei', 'Noto Sans CJK SC', 'Noto Sans S Chinese', sans-serif !important;
  line-height: 1.44;
  /* font-size: 10px; */ }

body {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

img {
  vertical-align: top; }

a, a:link {
  background-color: transparent;
  color: #000;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

a:hover {
  text-decoration: none; }

a:hover, a:active, a:visited {
  color: #000;
  outline: 0; }

/* ================================ normalize ================================ */
/* normalize Texts */
abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 50%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: 0em; }

/* normalize Contents */
img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

/* normalize Forms */
button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

a, button, select, li, span {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

button, select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='password'],
input[type='number'],
input[type='file'],
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: auto;
  resize: vertical; }

input[type='file'] {
  resize: none; }

textarea[readonly] {
  resize: none; }

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  vertical-align: middle; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

optgroup {
  font-weight: bold; }

.checkbox-text {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  padding-left: .25em;
  cursor: pointer; }

/* normalize table */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td, th {
  padding: 0; }

/* -------- clearfix -------- */
.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both; }

/* ================================ LAYOUT ================================ */
body {
  min-height: 100%; }

#header, #main {
  position: relative; }

#footer {
  position: absolute;
  width: 100%;
  right: 0;
  bottom: 0;
  left: 0; }

#header:after, #main:after, #footer:after, #header-bar:after {
  display: block;
  content: " ";
  height: 0;
  visibility: hidden;
  clear: both; }

/* colors */
/* SP layout extra small < 320 */
/* SP layout small < 600 */
/* SP layout < 960 */
/* PC layout >= 960 */
/* PC layout (large) >= 1220 */
/* PC layout (extra-large) >= 1460 */
/* for pc/sp */
@media screen and (max-width: 979px) {
  /* ---sp--- */ }

/* for pc large/pc medium */
@media screen and (min-width: 1220px) {
  /* pc Large */ }

@media screen and (min-width: 1460px) {
  /* pc ex-Large */ }

@media screen and (min-width: 980px) and (max-width: 1219px) {
  /* pc Medium */ }

@media screen and (min-width: 620px) and (max-width: 979px) {
  /* sp Medium */ }

@media screen and (max-width: 619px) {
  /* sp Small */ }

@media screen and (min-width: 320px) and (max-width: 619px) {
  /* sp Small moderate */ }

@media screen and (max-width: 319px) {
  /* sp XS */ }

/* for sp med/sp small/sp xs */
/* MIXINs */
/* vertical middle for ABS position element */
/* transition */
/* fixed ratio */
/* for img background div */
/* show/hide (use .active class to switch) */
/* mask lighten */
