@charset "UTF-8";
/* Scss Document */
/*------------------------------------------*/
body {
  font-size: 14px;
  font-weight: 200;
  font-family: "M PLUS 1p","Noto Sans Japanese";
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #333;
  min-width: 1024px; }
  @media screen and (max-width: 767px) {
    body {
      min-width: 100%; } }

img {
  max-width: 100%;
  height: auto; }

.inner {
  width: 1024px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .inner {
      width: 100%;
      box-sizing: border-box;
      padding: 0 16px; } }

a, input[type="button"], input[type="submit"], button, .more_btn {
  color: #333;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s; }
  a:hover, input[type="button"]:hover, input[type="submit"]:hover, button:hover, .more_btn:hover {
    text-decoration: none;
    opacity: 0.7; }

.pc_only {
  display: inherit !important; }
  @media screen and (max-width: 767px) {
    .pc_only {
      display: none !important; } }

.sp_only {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .sp_only {
      display: inherit !important; } }

/*------------------------------------------*/
header {
  border-top: solid 2px #90c31f;
  top: 0;
  background: #fff; }
  @media screen and (max-width: 767px) {
    header {
      position: fixed;
      width: 100%;
      height: 56px;
      z-index: 1; } }
  @media screen and (max-width: 767px) {
    header .inner {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: center;
      height: 56px; } }
  header .inner .logo {
    margin-top: 80px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      header .inner .logo {
        margin-top: 0; }
        header .inner .logo img {
          width: 130px; } }
  header .inner button {
    display: none; }
    @media screen and (max-width: 767px) {
      header .inner button {
        display: block;
        background-color: #000;
        top: 2px;
        padding: 15px .7rem 27px; }
        header .inner button:hover {
          background-color: #000; }
        header .inner button .drawer-hamburger-icon {
          background-color: #fff; }
          header .inner button .drawer-hamburger-icon::after, header .inner button .drawer-hamburger-icon::before {
            background-color: #fff; } }

.drawer-toggle:focus {
  outline: none; }

.drawer-nav {
  top: 2px !important; }
  .drawer-nav ul.drawer-menu li a {
    height: 56px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    padding-left: 1rem;
    font-size: 13px;
    color: #000;
    letter-spacing: 0.2em;
    font-weight: 600; }
    .drawer-nav ul.drawer-menu li a:hover {
      color: #90c31f !important; }
  .drawer-nav ul.drawer-menu li.current-menu-item a, .drawer-nav ul.drawer-menu li.current-post-parent a {
    color: #90c31f !important; }

.drawer-open .drawer-hamburger-icon {
  background-color: transparent !important; }

nav .inner ul {
  display: flex;
  justify-content: center;
  margin-top: 64px;
  padding: 0; }
  nav .inner ul li {
    list-style: none;
    margin: 0 24px; }
    nav .inner ul li a {
      font-size: 13px;
      color: #000;
      letter-spacing: 0.2em;
      font-weight: 600; }
      nav .inner ul li a:hover {
        color: #90c31f !important; }
    nav .inner ul li.current-menu-item a, nav .inner ul li.current-post-parent a {
      color: #90c31f !important; }

/*------------------------------------------*/
section#item_block {
  background: #eee;
  margin-top: 64px;
  padding: 64px 0; }
  @media screen and (max-width: 767px) {
    section#item_block {
      margin-top: 56px;
      padding: 32px 0; } }
  section#item_block h2 {
    text-align: center;
    width: 1024px;
    margin: 0 auto 56px;
    font-size: 16px;
    font-weight: 400; }
    @media screen and (max-width: 767px) {
      section#item_block h2 {
        width: 100%;
        padding: 0 16px;
        margin: 0 auto 24px;
        font-size: 12px; } }
    section#item_block h2 span {
      display: block;
      font-size: 24px;
      font-weight: 600;
      margin-top: 4px; }
      @media screen and (max-width: 767px) {
        section#item_block h2 span {
          margin-top: 2px;
          font-size: 20px; } }
  section#item_block .item_list {
    width: 1024px; }
    @media screen and (max-width: 767px) {
      section#item_block .item_list {
        width: 100%; } }
    section#item_block .item_list ul {
      display: flex;
      flex-wrap: wrap;
      margin-right: -32px;
      margin-bottom: -32px;
      padding: 0; }
      @media screen and (max-width: 767px) {
        section#item_block .item_list ul {
          flex-direction: column;
          margin-right: 0;
          margin-bottom: -16px; } }
      section#item_block .item_list ul > li {
        margin-right: 32px;
        margin-bottom: 32px;
        width: 320px;
        background: #fff;
        list-style: none;
        position: relative;
        height: auto;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        -ms-transition: 0.3s;
        transition: 0.3s;
        z-index: 0; }
        @media screen and (max-width: 767px) {
          section#item_block .item_list ul > li {
            width: 100%;
            height: 100%;
            margin-right: 0;
            margin-bottom: 16px; } }
        section#item_block .item_list ul > li h3 {
          text-align: center;
          margin: 0;
          font-size: 14px;
          background: #333;
          padding: 8px 0;
          font-weight: 500;
          letter-spacing: 0.2em;
          color: #fff; }
          @media screen and (max-width: 767px) {
            section#item_block .item_list ul > li h3 {
              font-size: 12px; } }
        section#item_block .item_list ul > li .img_area {
          border: 8px solid #fff; }
          section#item_block .item_list ul > li .img_area img {
            width: 100%;
            height: auto; }
        section#item_block .item_list ul > li .title_area {
          font-size: 15px;
          font-weight: 600;
          padding: 16px 24px 8px; }
        section#item_block .item_list ul > li .tag_area ul.tag_list {
          display: flex;
          flex-wrap: wrap;
          flex-direction: row;
          padding: 0 24px 24px;
          margin-bottom: -4px;
          margin-right: 0; }
          section#item_block .item_list ul > li .tag_area ul.tag_list li {
            list-style: none;
            font-size: 10px;
            margin-bottom: 4px;
            margin-right: 4px;
            width: auto; }
            section#item_block .item_list ul > li .tag_area ul.tag_list li.category {
              padding: 4px;
              border: 1px solid #90c31f;
              background: #90c31f;
              color: #fff;
              display: block; }
            section#item_block .item_list ul > li .tag_area ul.tag_list li.post_tag {
              padding: 4px;
              border: 1px solid #aaa;
              background: #aaa;
              color: #fff;
              display: block; }
        section#item_block .item_list ul > li a {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          text-indent: -999px; }
        section#item_block .item_list ul > li:hover {
          opacity: 0.7; }
        section#item_block .item_list ul > li.none {
          width: 100%;
          text-align: center;
          background: #eee; }
          section#item_block .item_list ul > li.none:hover {
            opacity: 1; }
  section#item_block .item_detail {
    width: 673px; }
    @media screen and (max-width: 767px) {
      section#item_block .item_detail {
        width: 100%;
        margin-top: 24px; } }
    section#item_block .item_detail ul {
      padding: 0;
      margin: 0; }
      section#item_block .item_detail ul li {
        list-style: none;
        padding: 0; }
      section#item_block .item_detail ul .caption {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 8px; }
      section#item_block .item_detail ul .text {
        margin-top: 16px;
        font-size: 14px; }

/*------------------------------------------*/
aside {
  width: 320px;
  background: #fff;
  position: sticky;
  position: -webkit-sticky;
  /* Safari */
  top: 64px; }
  @media screen and (max-width: 767px) {
    aside {
      width: 100%;
      position: inherit !important; } }
  aside .inner {
    padding: 40px 24px;
    width: 100%; }
    aside .inner .title {
      font-size: 20px;
      font-weight: 600; }
    aside .inner .url {
      margin-top: 0; }
      aside .inner .url a {
        color: #90c31f !important;
        text-decoration: underline; }
    aside .inner .text {
      margin-top: 16px;
      font-size: 14px; }
    aside .inner .tag_area {
      margin-top: 16px; }

/*------------------------------------------*/
.grad-item ul li {
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    .grad-item ul li {
      margin-top: 24px; } }

.more_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  border: 2px solid #333;
  font-size: 15px;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: #333 !important;
  margin-bottom: 0;
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    .more_btn {
      height: 64px;
      margin-top: 24px; } }
  .more_btn:hover {
    background: #333;
    color: #fff !important; }

/*------------------------------------------*/
.tag_area ul.tag_list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: -4px; }
  .tag_area ul.tag_list li {
    list-style: none;
    font-size: 10px;
    margin-bottom: 4px;
    margin-right: 4px; }
    .tag_area ul.tag_list li.category a {
      padding: 4px;
      border: 1px solid #90c31f;
      background: #90c31f;
      color: #fff !important;
      display: block; }
      .tag_area ul.tag_list li.category a:hover {
        color: #fff !important; }
    .tag_area ul.tag_list li.post_tag a {
      padding: 4px;
      border: 1px solid #aaa;
      background: #aaa;
      color: #fff !important;
      display: block; }
      .tag_area ul.tag_list li.post_tag a:hover {
        color: #fff !important; }

/*------------------------------------------*/
section#search_block .inner {
  margin-top: 64px; }
  @media screen and (max-width: 767px) {
    section#search_block .inner {
      margin-top: 32px; } }
  section#search_block .inner .search_form {
    margin-top: 48px;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      section#search_block .inner .search_form {
        margin-top: 24px;
        padding: 0 24px; } }
    section#search_block .inner .search_form .search_container {
      box-sizing: border-box;
      position: relative;
      border: 1px solid #ccc;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-left: 16px;
      height: 48px;
      width: 320px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        section#search_block .inner .search_form .search_container {
          width: 100%; } }
    section#search_block .inner .search_form .search_container input[type="text"] {
      border: none;
      height: 48px;
      width: 100%; }
    section#search_block .inner .search_form .search_container input[type="text"]:focus {
      outline: 0; }
    section#search_block .inner .search_form ::-webkit-input-placeholder {
      color: #ccc; }
    section#search_block .inner .search_form ::-moz-placeholder {
      color: #ccc;
      opacity: 1; }
    section#search_block .inner .search_form :-ms-input-placeholder {
      color: #ccc; }
    section#search_block .inner .search_form .search_container input[type="submit"] {
      cursor: pointer;
      font-family: FontAwesome;
      font-size: 1.3em;
      border: none;
      background: none;
      color: #ccc;
      width: 48px;
      height: 48px;
      outline: none; }

/*------------------------------------------*/
footer {
  margin-top: 80px;
  padding-bottom: 80px; }
  @media screen and (max-width: 767px) {
    footer {
      margin-top: 64px;
      padding-bottom: 64px; } }
  footer .inner {
    text-align: center;
    font-size: 12px; }

/*------------------------------------------*/
.arrow_area .back {
  position: fixed;
  height: 100%;
  right: auto;
  width: 64px;
  top: 0;
  left: 0; }
  @media screen and (max-width: 767px) {
    .arrow_area .back {
      position: inherit;
      right: inherit;
      width: 100%;
      top: inherit;
      left: inherit; } }
  .arrow_area .back a {
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    text-align: center;
    color: #000;
    font-size: 14px;
    -webkit-transform: rotate(-90deg) translateX(-50%);
    -moz-transform: rotate(-90deg) translateX(-50%);
    -ms-transform: rotate(-90deg) translateX(-50%);
    -o-transform: rotate(-90deg) translateX(-50%);
    transform: rotate(-90deg) translateX(-50%);
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
    white-space: nowrap;
    width: auto;
    display: inline-block;
    height: 64px;
    line-height: 64px;
    font-style: oblique; }
    @media screen and (max-width: 767px) {
      .arrow_area .back a {
        position: inherit;
        top: inherit;
        left: inherit;
        right: inherit;
        text-align: left;
        font-size: 12px;
        -webkit-transform: rotate(0deg) translateX(0);
        -moz-transform: rotate(0deg) translateX(0);
        -ms-transform: rotate(0deg) translateX(0);
        -o-transform: rotate(0deg) translateX(0);
        transform: rotate(0deg) translateX(0);
        width: 100%;
        height: 40px;
        line-height: 40px;
        padding-left: 16px; }
        .arrow_area .back a::before {
          content: "← "; } }
.arrow_area .next {
  position: fixed;
  height: 100%;
  left: auto;
  width: 64px;
  top: 0;
  right: 0; }
  @media screen and (max-width: 767px) {
    .arrow_area .next {
      position: inherit;
      right: inherit;
      width: 100%;
      top: inherit;
      left: inherit; } }
  .arrow_area .next a {
    position: absolute;
    top: 50%;
    right: auto;
    left: 0;
    text-align: center;
    color: #000;
    font-size: 14px;
    -webkit-transform: rotate(-90deg) translateX(-50%);
    -moz-transform: rotate(-90deg) translateX(-50%);
    -ms-transform: rotate(-90deg) translateX(-50%);
    -o-transform: rotate(-90deg) translateX(-50%);
    transform: rotate(-90deg) translateX(-50%);
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    -ms-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
    white-space: nowrap;
    width: auto;
    display: inline-block;
    height: 64px;
    line-height: 64px;
    font-style: oblique; }
    @media screen and (max-width: 767px) {
      .arrow_area .next a {
        position: inherit;
        top: inherit;
        left: inherit;
        right: inherit;
        text-align: right;
        font-size: 12px;
        -webkit-transform: rotate(0deg) translateX(0);
        -moz-transform: rotate(0deg) translateX(0);
        -ms-transform: rotate(0deg) translateX(0);
        -o-transform: rotate(0deg) translateX(0);
        transform: rotate(0deg) translateX(0);
        width: 100%;
        height: 40px;
        line-height: 40px;
        padding-right: 16px; }
        .arrow_area .next a::after {
          content: " →"; } }

/*------------------------------------------*/
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

/*------------------------------------------*/
.infinite-scroll-request {
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    .infinite-scroll-request {
      margin-top: 24px; } }

.infinite-scroll-last,
.infinite-scroll-error {
  margin: 0; }

/*------------------------------------------*/
#single section#item_block > .inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start; }
  @media screen and (max-width: 767px) {
    #single section#item_block > .inner {
      flex-direction: column-reverse; } }

/*------------------------------------------*/
#loader {
  height: 44px;
  /* 表示領域の高さを設定 */
  width: 62px;
  /* 表示領域の幅を設定 */
  display: none;
  position: fixed;
  /* スクロールしても表示位置が固定されます */
  _position: absolute;
  /* IE6対策 */
  top: 50%;
  /* ブラウザの表示の高さの半分にloader.gifを配置します */
  left: 50%;
  /* ブラウザの表示の幅の半分にloaer.gifを配置します */
  margin-top: -22px;
  /* heightの半分のマイナス値 */
  margin-left: -31px;
  /* widthの半分のマイナス値 */
  z-index: 10;
  /* #fadeより多い値を入れて下さい */ }

.loader_inner {
  margin: 5px auto;
  width: 62px; }

#fade {
  width: 100%;
  /* ブラウザの表示の幅の大きさに指定します */
  height: 100%;
  /* ブラウザの表示の高さの大きさに指定します */
  display: none;
  background-color: #fff;
  /* 表示するフェイドの色を指定します */
  position: fixed;
  /* スクロールしても表示の位置が固定されます */
  top: 0px;
  /* 上からの配置位置を指定します */
  left: 0px;
  /* 左からの配置位置を指定します */
  z-index: 5;
  /* #loaderより少ない値を入れて下さい */
  filter: alpha(opacity=20);
  opacity: 0.5; }

.line-scale > div {
  background-color: #8FC31F;
  width: 4px;
  height: 35px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1); } }
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1); } }
.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

/*------------------------------------------*/
.onecolumn .inner .item_detail {
  width: 673px;
  margin: 0 auto;
  background: #fff;
  padding: 40px 24px;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .onecolumn .inner .item_detail {
      width: 100%; } }

.wpcf7-form-control-wrap {
  margin-top: 8px;
  display: block; }

input, button, select, optgroup, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  padding: 8px; }
  @media screen and (max-width: 767px) {
    input, button, select, optgroup, textarea {
      width: 100%; } }

.wpcf7-form p:last-child {
  margin-bottom: 0; }

.wpcf7-submit {
  width: 100px; }

.bana {
  display: flex;
  justify-content: center;
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    .bana {
      margin-top: 24px; } }
  .bana a {
    border: 1px solid #eee;
    box-sizing: border-box; }
