@charset "UTF-8";
/*
Theme Name: スプーン1
Theme URL: src-spoon.jp
Description: スプーン用テンプレート
Author: 株式会社 spoon(スプーン)
Version: 1.0
*/
/* 
scss 基本設定ファイル
*/
/* ====================================================
フォントファミリー
==================================================== */
/* ゴシック体
------------------------------------------*/
/* 明朝体
------------------------------------------*/
/* ====================================================
メディアクエリ
==================================================== */
/* ====================================================
カラーコード
==================================================== */
/* ====================================================
ノーマライズcss
==================================================== */
html {
  font-size: 100%;
  line-height: 1.55;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article, aside, footer, header, nav, section {
  display: block;
}

figcaption, figure, main {
  display: block;
}

figure {
  margin: 0;
}

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

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: inherit;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
}

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

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

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

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details, menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

p, h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd {
  padding: 0;
  margin: 0;
  font-size: 1em;
}

ul, ol {
  list-style-type: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

blockquote {
  position: relative;
  padding: 2em 1em 0.5em 1em;
  margin: 1em auto;
  width: 85%;
  max-width: 700px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-style: italic;
  background-color: #fff2f2;
  color: #555;
  font-size: 0.9em;
}
blockquote:before {
  display: inline-block;
  position: absolute;
  top: 0.4em;
  left: 0.7em;
  vertical-align: middle;
  content: "\f10d";
  font-family: FontAwesome;
  color: #cfcfcf;
  font-size: 1.8em;
  line-height: 1;
}
blockquote p {
  text-align: left !important;
  padding: 0.4em 0 !important;
}
blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}

a:hover {
  opacity: 0.4;
}

/* ====================================================
汎用スタイル
==================================================== */
/* PC、モバイル表示
------------------------------------------*/
.pc-only {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .mobile-only {
    display: none !important;
  }
  .pc-only {
    display: block !important;
  }
}
/* フォント・位置など
------------------------------------------*/
.font-gothic {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.font-mincyo {
  font-family: "Noto Serif JP", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.font-big1 {
  font-size: 1.1em;
}

.font-big2 {
  font-size: 1.2em;
}

.font-big3 {
  font-size: 1.3em;
}

.font-small1 {
  font-size: 0.9em;
}

.font-small2 {
  font-size: 0.8em;
}

.font-small3 {
  font-size: 0.7em;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.font-red1 {
  color: #cc0000;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-underline {
  text-decoration: underline;
}

.text-through {
  text-decoration: line-through;
}

.inline-block {
  display: inline-block;
}

/* 余白
------------------------------------------*/
.pad-t0 {
  padding-top: 0 !important;
}

.pad-t1 {
  padding-top: 0.8em !important;
}

.pad-t2 {
  padding-top: 1.6em !important;
}

.pad-t3 {
  padding-top: 2.4em !important;
}

.pad-t4 {
  padding-top: 3.2em !important;
}

.pad-b0 {
  padding-bottom: 0 !important;
}

.pad-b1 {
  padding-bottom: 0.8em !important;
}

.pad-b2 {
  padding-bottom: 1.6em !important;
}

.pad-b3 {
  padding-bottom: 2.4em !important;
}

.pad-b4 {
  padding-bottom: 3.2em !important;
}

.mar-t0 {
  margin-top: 0 !important;
}

.mar-t1 {
  margin-top: 0.8em !important;
}

.mar-t2 {
  margin-top: 1.6em !important;
}

.mar-t3 {
  margin-top: 2.4em !important;
}

.mar-t4 {
  margin-top: 3.2em !important;
}

.mar-b0 {
  margin-bottom: 0 !important;
}

.mar-b1 {
  margin-bottom: 0.8em !important;
}

.mar-b2 {
  margin-bottom: 1.6em !important;
}

.mar-b3 {
  margin-bottom: 2.4em !important;
}

.mar-b4 {
  margin-bottom: 3.2em !important;
}

/* リスト
------------------------------------------*/
/* 黒丸(デフォルト) */
.list-disc1 {
  list-style-type: disc;
  margin-left: 1.2em;
}

/* 黒丸(点)*/
.list-disc2 {
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-disc2 li:before {
  padding-right: 0.2em;
  display: inline;
  content: "・";
}

/* アスタリスク */
.list-disc3 {
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-disc3 li:before {
  padding-right: 0.2em;
  display: inline;
  content: "※";
}

/* 黒四角 */
.list-disc4 {
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-disc4 li:before {
  padding-right: 0.2em;
  display: inline;
  content: "■";
}

/* 番号(デフォルト) */
.list-decimal1 {
  list-style-type: decimal;
  margin-left: 1.2em;
}

/* 番号(括弧付)*/
.list-decimal2 {
  counter-reset: number;
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-decimal2 li:before {
  padding-right: 0.4em;
  counter-increment: number;
  content: "(" counter(number) ")";
}

/* 番号(アスタリスク付) */
.list-decimal3 {
  counter-reset: number;
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-decimal3 li:before {
  counter-increment: number;
  content: "※" counter(number) ".";
}

/* 番号(：付) */
.list-decimal4 {
  counter-reset: number;
  list-style-type: none;
  text-indent: -1em;
  margin-left: 1em;
}
.list-decimal4 li:before {
  counter-increment: number;
  content: counter(number) "：";
}

/* ====================================================
基本設定
==================================================== */
.wrapper {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #040000;
  font-size: 1em;
}
@media screen and (min-width: 481px) {
  .wrapper {
    font-size: 1.0625em;
  }
}
@media screen and (min-width: 768px) {
  .wrapper {
    font-size: 1em;
  }
}
@media screen and (min-width: 1024px) {
  .wrapper {
    font-size: 1.0625em;
  }
}
@media screen and (min-width: 1500px) {
  .wrapper {
    font-size: 1.125em;
  }
}

.wrap {
  width: 92%;
  margin: 0 auto;
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  .wrap {
    width: 80%;
  }
}

.wrap-l {
  width: 100%;
  margin: 0 auto;
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  .wrap-l {
    width: 80%;
  }
}

.wrap-max {
  width: 100%;
  margin: 0 auto;
  max-width: 1500px;
}

/* ====================================================
サイト全体で使用
==================================================== */
/* 文字色
------------------------------------------*/
.c-information-production,
.c-digital-archive,
.c-ending-suport {
  color: #74A261 !important;
}

.c-original {
  color: #D38126 !important;
}

.c-news,
.c-other {
  color: #040000 !important;
}

/* 下線色
------------------------------------------*/
.bc-information-production,
.bc-digital-archive,
.bc-ending-suport {
  border-bottom-color: #74A261 !important;
}

.bc-original {
  border-bottom-color: #D38126 !important;
}

.bc-news,
.bc-other {
  border-bottom-color: #040000 !important;
}

/* 背景色
------------------------------------------*/
.bkc-information-production,
.bkc-digital-archive,
.bkc-ending-suport {
  background-color: #74A261 !important;
}

.bkc-original {
  background-color: #D38126 !important;
}

.bkc-news,
.bkc-other {
  background-color: #040000 !important;
}

/* ====================================================
ヘッダー
==================================================== */
#global-head {
  height: 3.5em;
}
@media screen and (min-width: 768px) {
  #global-head {
    height: auto;
  }
}

/* モバイル
------------------------------------------*/
#ghead-mb {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: solid 1px #74A261;
}
#ghead-mb .bar {
  background-color: #fff;
}
#ghead-mb .bar-items {
  height: 3.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#ghead-mb .site-title {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.3em;
}
#ghead-mb .site-title img {
  height: 2em;
  width: auto;
}
#ghead-mb #gbtn-menu {
  position: relative;
  cursor: pointer;
  height: 24px;
  width: 30px;
}
#ghead-mb #gbtn-menu .line {
  position: absolute;
  top: 0;
  -webkit-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
  height: 2px;
  width: 100%;
  background-color: #74A261;
}
#ghead-mb #gbtn-menu .line2 {
  top: 11px;
}
#ghead-mb #gbtn-menu .line3 {
  top: 22px;
}
#ghead-mb #gbtn-menu .collapse {
  top: 11px;
  -webkit-transition: all 70ms ease-out;
  transition: all 70ms ease-out;
}
#ghead-mb #gbtn-menu .rotate30 {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  -webkit-transition: all 50ms ease-out;
  transition: all 50ms ease-out;
}
#ghead-mb #gbtn-menu .rotate150 {
  -webkit-transform: rotate(150deg);
  transform: rotate(150deg);
  -webkit-transition: all 50ms ease-out;
  transition: all 50ms ease-out;
}
#ghead-mb #gbtn-menu .rotate45 {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 100ms ease-out;
  transition: all 100ms ease-out;
}
#ghead-mb #gbtn-menu .rotate135 {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 100ms ease-out;
  transition: all 100ms ease-out;
}
#ghead-mb #gnav-mb {
  display: none;
  background-color: #fff;
}
#ghead-mb #gnav-mb #mb-menu > li {
  display: block;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 1px #74A261;
  padding: 0.8em 0;
}
#ghead-mb .sns-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 4.5em;
  margin: 0 auto;
  padding: 1.4em 0;
}
#ghead-mb .sns-box li {
  height: 1.6em;
}
#ghead-mb .sns-box li img {
  height: 100%;
  width: auto;
}
#ghead-mb #mb-menu-sub {
  padding: 0.2em 0;
}
#ghead-mb #mb-menu-sub > li {
  font-size: 0.8em;
  padding: 1em 0;
  margin: 0 4em;
  border-bottom: dotted 1px #74A261;
}
#ghead-mb #mb-menu-sub > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

/* PC
------------------------------------------*/
#ghead-pc {
  padding: 1.5em 0;
}
#ghead-pc .ghead-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#ghead-pc .site-title {
  width: 8em;
  padding-right: 1em;
}
#ghead-pc .site-title a {
  display: block;
}
#ghead-pc #gnav-pc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
#ghead-pc #gnav-pc > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#ghead-pc #gnav-pc > ul > li {
  padding-right: 1em;
}
#ghead-pc #gnav-pc > ul > li:last-child {
  padding-right: 0;
}
#ghead-pc #gnav-pc > ul > li > a {
  position: relative;
  font-weight: bold;
  padding: 0 0.4em 0.2em;
}
#ghead-pc #gnav-pc > ul > li > a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.2em;
  border-radius: 0.1em;
  background: #040000;
  background-position: center;
  background-size: cover;
}
#ghead-pc #gnav-pc > ul > li > a:after {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background: #74A261;
}
#ghead-pc #gnav-pc > ul > li > a:hover {
  opacity: 1;
}
#ghead-pc #gnav-pc > ul > li > a:hover:after {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#ghead-pc #gnav-pc > ul > li .current:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
#ghead-pc #pc-menu-has-sub {
  position: relative;
}
#ghead-pc #pc-menu-sub {
  display: none;
  position: absolute;
  z-index: 100;
  padding: 1em 0.4em 1em;
  margin-bottom: -0.4em;
  bottom: auto;
  left: 0;
  width: 12em;
  background-color: rgba(255, 255, 255, 0.95);
}
#ghead-pc #pc-menu-sub > li {
  padding-bottom: 0.4em;
}
#ghead-pc #pc-menu-sub > li > a {
  font-size: 0.9em;
}
#ghead-pc .sns-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 3em;
}
#ghead-pc .sns-box li {
  height: 1.5em;
  padding-right: 1.2em;
}
#ghead-pc .sns-box li:last-child {
  padding-right: 0;
}
#ghead-pc .sns-box li img {
  height: 100%;
  width: auto;
}

/* ====================================================
フッター
==================================================== */
#global-foot {
  margin-top: 2em;
  padding: 0.4em;
  background: #74A261;
  text-align: center;
  color: #fff;
}

/* ====================================================
ページスタイル
==================================================== */
/* ページスタイル1
------------------------------------------*/
/* ====================================================
#breadbox：パンくず
==================================================== */
#breadbox {
  font-size: 0.8em;
  padding-top: 1em;
}
#breadbox ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#breadbox li:after {
  content: "＞";
  padding: 0 0.5em;
}
#breadbox li:last-child:after {
  content: none;
}

/* ====================================================
ヘッダースタイル
==================================================== */
/* ヘッダースタイル1
------------------------------------------*/
.header-style1 {
  padding: 2.4em 0 3.4em;
}
.header-style1 .title-style1 {
  padding-bottom: 0;
}
.header-style1 .top-message {
  padding-top: 2em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .header-style1 .top-message {
    padding-top: 3em;
  }
}

/* ヘッダースタイル2
------------------------------------------*/
.header-style2 {
  padding: 2.6em 0 1.6em;
}
.header-style2 .title {
  position: relative;
  font-weight: bold;
  font-size: 1.4em;
  color: #74A261;
  padding-bottom: 1em;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .header-style2 .title {
    font-size: 1.8em;
  }
}
.header-style2 .title:before {
  content: "";
  position: absolute;
  top: -0.3em;
  left: 0;
  width: 1.8em;
  height: 1.8em;
  background-image: url("img/com/icon-spoon1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

/* ヘッダースタイル3
------------------------------------------*/
.header-style3 {
  padding-bottom: 3.4em;
}
@media screen and (min-width: 768px) {
  .header-style3 {
    padding-bottom: 4.4em;
  }
}
.header-style3 img {
  width: 100%;
}
.header-style3 .figbox .fig-main {
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .header-style3 .figbox .fig-main {
    padding-bottom: 1.4em;
  }
}
.header-style3 .figbox .fig-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -1em;
}
@media screen and (min-width: 768px) {
  .header-style3 .figbox .fig-sub {
    margin-bottom: -1.4em;
  }
}
.header-style3 .figbox .fig-sub li {
  width: 48%;
  padding-right: 4%;
  padding-bottom: 1em;
}
.header-style3 .figbox .fig-sub li:nth-child(2n) {
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .header-style3 .figbox .fig-sub li {
    width: 48.5%;
    padding-right: 3%;
    padding-bottom: 1.4em;
  }
}

/* ヘッダースタイル4
------------------------------------------*/
.header-style4 {
  padding: 3.4em 0 2.8em;
}
.header-style4 .title {
  font-size: 1.2em;
  padding: 0.4em 1em;
  background: #C52B24;
  color: #fff;
  font-weight: normal;
}

/* ====================================================
チャプタースタイル
==================================================== */
/* チャプタースタイル1
------------------------------------------*/
.chapter-style1 {
  padding: 3em 0;
}
@media screen and (min-width: 768px) {
  .chapter-style1 {
    padding: 5em 0;
  }
}

/* チャプタースタイル2
------------------------------------------*/
.chapter-style2 {
  padding-bottom: 3em;
}
@media screen and (min-width: 768px) {
  .chapter-style2 {
    padding: 5em 0;
  }
}

/* チャプタースタイル3
------------------------------------------*/
.chapter-style3 {
  padding-top: 3em;
}
@media screen and (min-width: 768px) {
  .chapter-style3 {
    padding: 5em 0;
  }
}

/* ====================================================
タイトルスタイル
==================================================== */
/* タイトルスタイル1
------------------------------------------*/
.title-style1 {
  position: relative;
  text-align: center;
  color: #74A261;
  font-weight: bold;
  font-size: 1.7em;
  padding: 1.3em 0 2em;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .title-style1 {
    font-size: 2.6em;
    padding: 0.9em 0 2.6em;
  }
}
.title-style1:before {
  position: absolute;
  content: "";
  height: 1em;
  top: 0;
  left: 0;
  right: 0;
  width: 1.7em;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .title-style1:before {
    height: 0.75em;
    width: 1.1em;
  }
}
.title-style1 span {
  display: block;
  font-size: 0.5em;
}
@media screen and (min-width: 768px) {
  .title-style1 span {
    font-size: 0.4em;
  }
}
.title-style1.pen1:before {
  background-image: url("img/com/icon-pen1.png");
}
.title-style1.bird1:before {
  background-image: url("img/com/icon-bird1.png");
}
.title-style1.leaf1:before {
  background-image: url("img/com/icon-leaf1.png");
}
.title-style1.leaf2:before {
  background-image: url("img/com/icon-leaf2.png");
}
.title-style1.service1 {
  padding-top: 1.5em;
}
@media screen and (min-width: 768px) {
  .title-style1.service1 {
    padding-top: 1.2em;
  }
}
.title-style1.service1:before {
  background-image: url("img/com/icon-tree1.png");
  height: 1.2em;
}
@media screen and (min-width: 768px) {
  .title-style1.service1:before {
    height: 1em;
  }
}
.title-style1.note1:before {
  background-image: url("img/com/icon-note1.png");
}

/* タイトルスタイル2
------------------------------------------*/
.title-style2 {
  font-weight: bold;
  color: #74A261;
  padding: 3em 0 0.8em;
}

/* ====================================================
リンクスタイル
==================================================== */
/* リンクスタイル1
------------------------------------------*/
.link-style1 {
  text-align: center;
  margin-top: 3.6em;
}
@media screen and (min-width: 768px) {
  .link-style1 {
    margin-top: 4.8em;
    font-size: 1.1em;
  }
}
.link-style1 a {
  padding: 0.5em 2.5em;
  font-weight: bold;
  border-radius: 5em;
  border: solid 1px #74A261;
  color: #74A261;
}
@media screen and (min-width: 768px) {
  .link-style1 a {
    border-width: 2px;
  }
}

/* ====================================================
テーブルスタイル
==================================================== */
/* テーブルスタイル1
------------------------------------------*/
.table-style1 {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.table-style1 tr:first-child {
  border-top: dashed 1px #040000;
}
.table-style1 th, .table-style1 td {
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .table-style1 th, .table-style1 td {
    display: table-cell;
    vertical-align: middle;
    border-bottom: dashed 1px #040000;
  }
}
.table-style1 th {
  font-weight: bold;
  padding: 1em 0 0.3em;
}
@media screen and (min-width: 768px) {
  .table-style1 th {
    width: 25%;
    padding: 0.9em 0.9em;
  }
}
.table-style1 td {
  border-bottom: dashed 1px #040000;
  padding-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .table-style1 td {
    width: 75%;
    padding: 0.9em 0.9em 0.9em 0;
  }
}

/* ====================================================
フォームスタイル
==================================================== */
/* フォームスタイル1
------------------------------------------*/
.form-style1 {
  background: #F1F6EF;
  padding: 3.4em 0 2.6em;
}
.form-style1 .require {
  color: #DE2726;
  padding-left: 0.2em;
  vertical-align: middle;
}
.form-style1 table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.form-style1 th, .form-style1 td {
  display: block;
}
@media screen and (min-width: 768px) {
  .form-style1 th, .form-style1 td {
    display: table-cell;
    vertical-align: top;
    text-align: left;
  }
}
.form-style1 th {
  font-weight: bold;
  padding-bottom: 1.2em;
}
@media screen and (min-width: 768px) {
  .form-style1 th {
    width: 30%;
    padding-right: 5%;
  }
}
.form-style1 td {
  padding-bottom: 2.6em;
}
@media screen and (min-width: 768px) {
  .form-style1 td {
    width: 65%;
  }
}
.form-style1 input[type=text], .form-style1 input[type=tel], .form-style1 input[type=url], .form-style1 input[type=email], .form-style1 input[type=password], .form-style1 input[type=number], .form-style1 select, .form-style1 textarea {
  border: solid 1px #ccc;
  width: 100%;
  margin: 0 auto;
}
.form-style1 input[type=text], .form-style1 input[type=tel], .form-style1 input[type=url], .form-style1 input[type=email], .form-style1 input[type=password], .form-style1 input[type=number], .form-style1 select {
  height: 2em;
}
.form-style1 .checkbox td {
  text-align: left;
}
.form-style1 .checkbox td .wpcf7-list-item {
  display: block;
  margin-left: 0;
  margin-bottom: 0.2em;
}
.form-style1 .checkbox td .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
.form-style1 .checkbox td label {
  display: block;
}
.form-style1 .checkbox td label input {
  text-align: left;
  margin-right: 0.2em;
}
.form-style1 .radio td label {
  padding-right: 1em;
  display: inline-block;
}
.form-style1 .radio td label input {
  margin-right: 0.2em;
}
.form-style1 textarea {
  height: 10em;
}
.form-style1 .accept {
  padding: 1em 0 3em;
}
.form-style1 .accept .wpcf7-list-item {
  margin: 0 0.2em 0 0;
}
.form-style1 .btn_submit {
  text-align: center;
}
.form-style1 .btn_submit input[type=submit] {
  display: block;
  cursor: pointer;
  background-color: #040000;
  border: none;
  padding: 0.8em 2em;
  color: #fff;
  margin: 0 auto 0.4em;
}
.form-style1 .btn_submit input[type=submit]:hover {
  opacity: 0.4;
}
.form-style1 .adress > td > p {
  margin-bottom: 0.6em;
}
.form-style1 .adress > td > p:last-child {
  margin-bottom: 0em;
}
@media screen and (min-width: 768px) {
  .form-style1 .adress > td > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .form-style1 .adress > td > p > span:first-child {
    width: 5em;
  }
}
@media screen and (min-width: 768px) {
  .form-style1 .adress > td > p > span:last-child {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.form-style1 .privacy .title {
  font-weight: bold;
  padding-bottom: 0.4em;
}
.form-style1 .privacy a {
  color: #74A261;
}

/* ====================================================
リスト
==================================================== */
/* リスト　ボックス1
------------------------------------------*/
.list-box1 {
  margin-bottom: -2.4em;
}
@media screen and (min-width: 768px) {
  .list-box1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.list-box1 li {
  padding-bottom: 2.4em;
}
.list-box1 li:nth-child(n+4) {
  display: none;
}
@media screen and (min-width: 768px) {
  .list-box1 li {
    width: 46%;
    padding-right: 8%;
  }
  .list-box1 li:nth-child(n+4) {
    display: block;
  }
  .list-box1 li:nth-child(2n) {
    padding-right: 0;
  }
}
.list-box1 .cat-info-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  font-weight: bold;
}
.list-box1 .cat-info {
  color: #fff;
  background: #040000;
  padding: 0.2em 0.4em 0.4em;
  margin-right: 0.8em;
  font-size: 0.9em;
  margin-bottom: 0.6em;
}
.list-box1 .date {
  color: #74A261;
  font-size: 0.95em;
  margin-bottom: 0.6em;
}
.list-box1 .title {
  font-weight: normal;
}

/* リスト　ボックス2
------------------------------------------*/
.list-box2 {
  margin-bottom: -2.8em;
}
@media screen and (min-width: 768px) {
  .list-box2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.list-box2 li {
  padding-bottom: 2.8em;
}
.list-box2 li:nth-child(n+4) {
  display: none;
}
@media screen and (min-width: 768px) {
  .list-box2 li {
    width: 31%;
    padding-right: 3.5%;
  }
  .list-box2 li:nth-child(n+4) {
    display: block;
  }
  .list-box2 li:nth-child(3n) {
    padding-right: 0;
  }
}
.list-box2 a {
  display: block;
}
.list-box2 figure {
  padding-bottom: 0.8em;
}
.list-box2 figure img {
  width: 100%;
}
.list-box2 .cat-work {
  display: inline-block;
  text-align: left;
  color: #fff;
  font-weight: bold;
  background: #D38126;
  font-size: 0.9em;
  line-height: 1;
  padding: 0.4em;
}

/* リスト　ボックス3
------------------------------------------*/
.list-box3 {
  margin-bottom: -3.4em;
}
@media screen and (min-width: 768px) {
  .list-box3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.list-box3 li {
  padding-bottom: 3.4em;
}
@media screen and (min-width: 768px) {
  .list-box3 li {
    width: 31%;
    padding-right: 3.5%;
  }
  .list-box3 li:nth-child(3n) {
    padding-right: 0;
  }
}
.list-box3 figure {
  padding-bottom: 0.8em;
}
.list-box3 figure img {
  width: 100%;
}
.list-box3 .cat-info-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  font-weight: bold;
}
.list-box3 .cat-info {
  font-size: 0.9em;
  color: #fff;
  background: #040000;
  padding: 0.2em 0.4em 0.4em;
  margin-right: 0.8em;
  margin-bottom: 0.6em;
}
.list-box3 .date {
  color: #74A261;
  font-size: 0.95em;
  margin-bottom: 0.6em;
}
.list-box3 .title {
  font-weight: normal;
}

/* リスト　ボックス4
------------------------------------------*/
.list-box4 {
  margin-bottom: -2.8em;
}
@media screen and (min-width: 768px) {
  .list-box4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.list-box4 li {
  padding-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  .list-box4 li {
    width: 31%;
    padding-right: 3.5%;
  }
  .list-box4 li:nth-child(3n) {
    padding-right: 0;
  }
}
.list-box4 figure {
  padding-bottom: 0.8em;
}
.list-box4 figure img {
  width: 100%;
}
.list-box4 .title {
  font-weight: normal;
}

/* リスト　ボックス5
------------------------------------------*/
.list-box5 {
  margin-bottom: -3.4em;
}
@media screen and (min-width: 768px) {
  .list-box5 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.list-box5 li {
  padding-bottom: 3.4em;
}
@media screen and (min-width: 768px) {
  .list-box5 li {
    width: 31%;
    padding-right: 3.5%;
  }
  .list-box5 li:nth-child(3n) {
    padding-right: 0;
  }
}
.list-box5 figure {
  padding-bottom: 0.5em;
}
.list-box5 figure img {
  width: 100%;
}
.list-box5 .title {
  font-weight: bold;
  font-size: 1.1em;
  padding-bottom: 0.8em;
}
.list-box5 .desc {
  padding-bottom: 0.6em;
}
.list-box5 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.list-box5 dl dt {
  font-size: 1.05em;
  padding-right: 1em;
}
.list-box5 dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* リスト　カテゴリー1
------------------------------------------*/
.list-cat1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-weight: bold;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -0.8em;
  padding-bottom: 2.8em;
}
@media screen and (min-width: 768px) {
  .list-cat1 {
    padding: 2em 0 4.2em;
  }
}
.list-cat1 li {
  padding-right: 1em;
  padding-bottom: 0.8em;
}
.list-cat1 li a, .list-cat1 li span {
  position: relative;
  font-size: 0.9em;
  padding: 0 0.3em;
  display: inline-block;
  border-bottom: solid 1px #040000;
}
@media screen and (min-width: 768px) {
  .list-cat1 li a, .list-cat1 li span {
    font-size: 1em;
  }
}
.list-cat1 li span {
  color: #fff;
  background: #040000;
}
.list-cat1 li a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.list-cat1 li a:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #040000;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.list-cat1 li a:hover {
  opacity: 1;
  color: #fff;
}
.list-cat1 li a:hover:before {
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.list-cat1 .bc-information-production:hover,
.list-cat1 .bc-digital-archive:hover,
.list-cat1 .bc-ending-suport:hover {
  background: #74A261;
}
.list-cat1 .bc-original:hover {
  background: #D38126;
}

/* リスト　SNS1
------------------------------------------*/
.list-sns1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 9em;
}
.list-sns1 li {
  padding-right: 0.5em;
}
.list-sns1 li:last-child {
  padding-right: 0;
}

/* SNSボックス1　SNS2
------------------------------------------*/
#sns-box1 {
  padding: 3em 0 2em;
}
@media screen and (min-width: 768px) {
  #sns-box1 {
    padding: 0 0 3em;
    margin-top: -1em;
  }
}
#sns-box1 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8em;
  margin: 0 0 0 auto;
  padding-bottom: 0.4em;
}
#sns-box1 ul li {
  padding-right: 0.5em;
}
#sns-box1 ul li:last-child {
  padding-right: 0;
}

/* リスト　サイトマップ
------------------------------------------*/
.list-sitemap1 .post-type {
  font-weight: bold;
  color: #74A261;
  font-size: 1.2em;
  padding: 3em 0 0.8em;
}
.list-sitemap1 .list-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.list-sitemap1 .list-title li {
  padding: 0.3em 0;
  padding-right: 5%;
}

/* ====================================================
エディター
==================================================== */
/* エディター1
------------------------------------------*/
/* ====================================================
フォントセット
=========================================lis=========== */
/* フォントセット1
------------------------------------------*/
.font-set1 h1, .font-set1 h2, .font-set1 h3, .font-set1 h4 {
  font-weight: bold;
}
.font-set1 h1 {
  position: relative;
  font-weight: bold;
  font-size: 1.4em;
  color: #74A261;
  margin: 1.8em 0em 0.6em;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .font-set1 h1 {
    font-size: 1.8em;
  }
}
.font-set1 h1:before {
  content: "";
  position: absolute;
  top: -0.3em;
  left: 0;
  width: 1.8em;
  height: 1.8em;
  background-image: url("img/com/icon-spoon1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}
.font-set1 h2 {
  position: relative;
  font-weight: bold;
  font-size: 1.2em;
  color: #D38126;
  margin-top: 1.6em;
  padding-bottom: 0.4em;
  padding-left: 2em;
}
@media screen and (min-width: 768px) {
  .font-set1 h2 {
    font-size: 1.4em;
  }
}
.font-set1 h2:before {
  content: "";
  position: absolute;
  top: -0.1em;
  left: 0;
  width: 1.6em;
  height: 1.6em;
  background-image: url("img/com/icon-star1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}
@media screen and (min-width: 768px) {
  .font-set1 h2:before {
    top: 0;
  }
}
.font-set1 h3 {
  font-size: 1.1em;
  margin-top: 0.8em;
  color: #D38126;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .font-set1 h3 {
    font-size: 1.2em;
  }
}
.font-set1 h4 {
  font-size: 1em;
  margin-top: 0.8em;
}
.font-set1 p, .font-set1 ul, .font-set1 ol, .font-set1 dl, .font-set1 table, .font-set1 figure {
  padding: 0.8em 0;
}
.font-set1 ul, .font-set1 ol {
  margin: 0 0.8em 0 1.8em;
}
.font-set1 ul {
  list-style-type: disc;
}
.font-set1 ol {
  list-style-type: decimal;
}
.font-set1 li {
  padding-bottom: 0.4em;
}
.font-set1 li:last-child {
  padding-bottom: 0;
}
.font-set1 dl dt {
  font-weight: bold;
  padding-bottom: 0.2em;
}
.font-set1 dl dd {
  padding-bottom: 0.4em;
}
.font-set1 dl dd:last-child {
  padding-bottom: 0;
}
.font-set1 a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .font-set1 .alignleft {
    float: left;
    padding-right: 0.8em;
  }
  .font-set1 .alignright {
    float: right;
    padding-left: 0.8em;
  }
  .font-set1 .aligncenter {
    margin: 0 auto;
  }
}

/* ====================================================
#sidebar:サイドバー
==================================================== */
@media screen and (min-width: 768px) {
  #main-sidebar .two-col1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #main-sidebar main {
    width: 65%;
    padding-right: 5%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #main-sidebar #sidebar {
    width: 30%;
    max-width: 17em;
  }
}

/* ====================================================
次の記事、前の記事
==================================================== */
.next-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 2.8em;
}
@media screen and (min-width: 768px) {
  .next-prev {
    padding-top: 4.2em;
  }
}
.next-prev li {
  line-height: 1;
  padding: 0.3em;
  background: #040000;
  color: #fff;
  font-family: "Noto Serif JP", Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.next-prev .archive {
  margin: 0 0.2em;
}

/* ====================================================
ページャー
==================================================== */
.pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: -0.3em;
  padding-top: 2.8em;
}
@media screen and (min-width: 768px) {
  .pagination ul {
    padding-top: 4.2em;
  }
}
.pagination li {
  padding: 0.3em;
}
.pagination a, .pagination span {
  display: block;
  padding: 0.3em 0.65em;
  font-weight: bold;
  color: #fff;
  background-color: #040000;
  border: solid 1px #040000;
}
@media screen and (min-width: 1024px) {
  .pagination a, .pagination span {
    font-size: 1.3em;
  }
}
.pagination span {
  color: #040000;
  background-color: #fff;
}

/* ====================================================
その他
==================================================== */
/* グーグルマップ
------------------------------------------*/
.gmap1 {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.gmap1 iframe, .gmap1 object, .gmap1 embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ユーチューブ
------------------------------------------*/
.youtube1 {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube1 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ビデオ
------------------------------------------*/
.video1 {
  width: 100%;
}