@charset "UTF-8";
/*===========================================================
このファイルはsassで編集されています。
cssを編集しないでください。
=============================================================*/
/*=====================================================================
リセットcssの設定
=======================================================================*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/*===========================================================
全体の設定
=============================================================*/
.k-w3 {
  font-family: "FP-こぶりなゴシック StdN W3"; }

html {
  color: #3e3a39;
  background: #fffef7; }
  @media screen and (max-width: 768px) {
    html {
      min-width: 100%; } }

@media screen and (max-width: 992px) {
  html, body {
    font-size: 60%; } }
@media screen and (max-width: 768px) {
  html, body {
    width: 100%;
    font-size: 57%; } }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto;
  font-size: 1.6rem;
  color: #3e3a39;
  letter-spacing: 0.2rem;
  font-family: "FP-こぶりなゴシック StdN W6"; }

h1, h2, h3, h4, h5, h6, p, li, ol, dl, dt, dd, a, td, th {
  color: #3e3a39;
  line-height: 1.5;
  font-weight: 500; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  letter-spacing: .4rem; }

p, ul, li, dl, dt, dd, ol, a {
  text-align: justify;
  line-height: 2.4; }
  @media screen and (max-width: 576px) {
    p, ul, li, dl, dt, dd, ol, a {
      font-size: 1.4rem; } }

a {
  color: inherit;
  text-decoration: none;
  display: block; }
  a:active {
    text-decoration: none; }
  a:hover {
    text-decoration: none; }

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

.is-menuOpen body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; }

.relative {
  position: relative; }

.xl-block {
  display: none !important; }
  @media screen and (max-width: 1200px) {
    .xl-block {
      display: block !important; } }

@media screen and (max-width: 1200px) {
  .xl-none {
    display: none !important; } }

.lg-block {
  display: none !important; }
  @media screen and (max-width: 992px) {
    .lg-block {
      display: block !important; } }

@media screen and (max-width: 992px) {
  .lg-none {
    display: none !important; } }

.md-block {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .md-block {
      display: block !important; } }

@media screen and (max-width: 768px) {
  .md-none {
    display: none !important; } }

.sm-block {
  display: none !important; }
  @media screen and (max-width: 576px) {
    .sm-block {
      display: block !important; } }

@media screen and (max-width: 576px) {
  .sm-none {
    display: none !important; } }

.container {
  margin: 0 auto;
  width: 1200px;
  padding: 0 35px;
  max-width: 100%; }
  .container.m940 {
    max-width: 1010px; }
    @media screen and (max-width: 768px) {
      .container.m940 {
        padding-left: 0 !important;
        padding-right: 0 !important; } }
  @media screen and (max-width: 992px) {
    .container {
      width: 100%; } }
  @media screen and (max-width: 768px) {
    .container {
      padding-left: 6%;
      padding-right: 6%;
      word-wrap: break-word;
      overflow-wrap: break-word; } }
  @media screen and (max-width: 576px) {
    .container {
      overflow-y: hidden; } }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*=====================================================================
共通パーツ
=======================================================================*/
/*=====================================================================
headerの設定
=======================================================================*/
.header__pc {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0; }
  .header__pc .wrap {
    padding: 60px 45px;
    padding: 40px 45px;
    transition: .4s; }
    @media screen and (max-width: 992px) {
      .header__pc .wrap {
        padding: 40px 20px; } }
  @media screen and (max-width: 992px) {
    .header__pc {
      display: none !important; } }
  .header__pc .logo {
    width: 200px;
    padding-top: 4px; }
    .header__pc .logo.top__logo {
      width: 250px; }
    .header__pc .logo .cls-1 {
      fill: #4c371e;
      stroke-width: 0px;
      transition: .4s; }
    .header__pc .logo:hover .cls-1 {
      fill: #f08307; }
    @media screen and (max-width: 1250px) {
      .header__pc .logo {
        width: 190px !important; } }
    @media screen and (max-width: 992px) {
      .header__pc .logo {
        width: 120px !important;
        padding-top: 0; } }
    @media screen and (max-width: 768px) {
      .header__pc .logo {
        width: 120px; } }
    .header__pc .logo.logo__front {
      transition: 1s;
      filter: none; }
      .header__pc .logo.logo__front.scroll {
        opacity: 1;
        transition: 1s; }
  .header__pc a {
    transition: .4s; }
  .header__pc .nav__menu {
    width: calc(100% - 250px);
    align-items: flex-start;
    align-items: center; }
    @media screen and (max-width: 1250px) {
      .header__pc .nav__menu {
        width: calc(100% - 190px); } }
    @media screen and (max-width: 992px) {
      .header__pc .nav__menu {
        width: calc(100% - 120px); } }
    @media screen and (max-width: 768px) {
      .header__pc .nav__menu {
        width: calc(100% - 120px); } }
    .header__pc .nav__menu.logo__front a {
      color: #3e3a39 !important; }
    .header__pc .nav__menu.logo__front .icon img {
      filter: unset; }
    .header__pc .nav__menu .icon {
      display: inline-block;
      margin-left: 45px;
      display: flex;
      align-items: center; }
      .header__pc .nav__menu .icon img, .header__pc .nav__menu .icon svg {
        height: 20px;
        width: auto; }
        @media screen and (max-width: 1250px) {
          .header__pc .nav__menu .icon img, .header__pc .nav__menu .icon svg {
            height: 20px; } }
      .header__pc .nav__menu .icon:hover .cls-1 {
        fill: #f08307; }
      .header__pc .nav__menu .icon .cls-1 {
        transition: .4s;
        fill: #231815; }
    .header__pc .nav__menu .ul__nav {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex; }
      .header__pc .nav__menu .ul__nav li a {
        margin-left: 25px;
        text-align: center;
        position: relative;
        z-index: 900;
        color: #3e3a39;
        transition: .4s;
        font-size: 1.4rem; }
        .header__pc .nav__menu .ul__nav li a:after {
          content: '';
          position: absolute;
          bottom: -5px;
          left: 0;
          width: 0;
          height: 1px;
          background: #f08307;
          transition: all .4s;
          opacity: 0; }
        .header__pc .nav__menu .ul__nav li a:hover {
          color: #00a73c; }
          .header__pc .nav__menu .ul__nav li a:hover:after {
            width: 100%;
            /*横幅を伸ばす*/
            opacity: 1;
            /*不透明に*/ }
        .header__pc .nav__menu .ul__nav li a.on {
          color: #00a73c; }
          .header__pc .nav__menu .ul__nav li a.on:after {
            width: 100%;
            /*横幅を伸ばす*/
            opacity: 1;
            /*不透明に*/ }
  .header__pc .btn {
    border-radius: 100px;
    display: inline-block;
    background: #f08307;
    padding: 2px 20px;
    margin-left: 25px;
    color: #fff;
    display: flex;
    align-items: baseline;
    transition: .2s;
    font-size: 1.4rem; }
    .header__pc .btn:hover {
      background: #00a73c; }
    .header__pc .btn img {
      width: 14px;
      margin-right: 6px; }
  .header__pc.scroll {
    background: #fffef7; }
    .header__pc.scroll .nav__menu {
      align-items: center; }
    .header__pc.scroll .ul__nav a {
      color: #3e3a39; }
    .header__pc.scroll .wrap {
      padding: 25px 45px; }
    .header__pc.scroll * {
      filter: unset;
      transition: .4s; }
    .header__pc.scroll.works__page {
      background: #e4d6cd; }
    .header__pc.scroll.about__page {
      background: #e8e9e5; }

.header__sp {
  display: none; }
  @media screen and (max-width: 992px) {
    .header__sp {
      display: block; } }
  .header__sp .logo {
    width: 40vw;
    position: absolute;
    top: 15px;
    left: 5%;
    z-index: 998; }
    .header__sp .logo img {
      width: 100%; }
  .header__sp .sp__logo {
    width: 150px;
    width: 45vw;
    position: absolute;
    top: 25px;
    left: 5%;
    z-index: 998;
    filter: brightness(10); }
    .header__sp .sp__logo img {
      width: 100%; }
  .header__sp .text p {
    color: #fff; }
  .header__sp .instagram {
    width: 22px;
    height: 22px;
    position: absolute;
    top: 22px;
    right: 70px;
    z-index: 998; }

.square__menu {
  /*========= ナビゲーションのためのCSS ===============*/
  /*========= ボタンのためのCSS ===============*/
  /*========= ボタンのためのCSS end===============*/ }
  .square__menu #g-nav {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0;
    /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: #3e3a39;
    /*動き*/
    transition: all .3s;
    overflow-y: scroll;
    /*アクティブクラスがついたら透過なしにして最前面へ*/ }
    .square__menu #g-nav .sp__logo {
      width: 160px; }
    .square__menu #g-nav #g-nav-list {
      /*ナビゲーションの縦スクロール*/
      right: -100%;
      /*ナビの数が増えた場合縦スクロール*/
      position: fixed;
      z-index: 999;
      width: 100%;
      height: 100vh;
      /*表示する高さ*/
      overflow: scroll;
      -webkit-overflow-scrolling: touch;
      transition: .5s; }
    .square__menu #g-nav #cover {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      z-index: -100;
      display: none; }
    .square__menu #g-nav.panelactive {
      opacity: 1;
      z-index: 999; }
      .square__menu #g-nav.panelactive #g-nav-list {
        right: 0; }
        .square__menu #g-nav.panelactive #g-nav-list li {
          opacity: 1;
          transition: .8s;
          top: 0; }
        .square__menu #g-nav.panelactive #g-nav-list .sns {
          opacity: 1;
          transition: .8s; }
      .square__menu #g-nav.panelactive #cover {
        display: block;
        z-index: 900; }
  .square__menu .openbtn {
    position: fixed;
    z-index: 9999;
    /*ボタンを最前面に*/
    cursor: pointer;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
    /*×に変化*/ }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn {
        width: 70px;
        height: 70px;
        top: 0px;
        right: 2%; } }
    .square__menu .openbtn span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 25px;
      height: 1px;
      background-color: #3e3a39;
      width: 50px; }
      @media screen and (max-width: 768px) {
        .square__menu .openbtn span {
          width: 30px; } }
  .square__menu .openbtn span:nth-of-type(1) {
    top: 35px; }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn span:nth-of-type(1) {
        top: 26px; } }
  .square__menu .openbtn span:nth-of-type(2) {
    top: 50px; }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn span:nth-of-type(2) {
        top: 35px; } }
  .square__menu .openbtn span:nth-of-type(3) {
    top: 65px; }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn span:nth-of-type(3) {
        top: 44px; } }
  .square__menu .openbtn.active span:nth-of-type(1) {
    transform: translateY(15px) rotate(-45deg);
    width: 50px; }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn.active span:nth-of-type(1) {
        top: 28px;
        left: 25px;
        transform: translateY(6px) rotate(-45deg);
        width: 30px;
        filter: brightness(10) !important; } }
  .square__menu .openbtn.active span:nth-of-type(2) {
    opacity: 0; }
  .square__menu .openbtn.active span:nth-of-type(3) {
    transform: translateY(-15px) rotate(45deg);
    width: 50px; }
    @media screen and (max-width: 768px) {
      .square__menu .openbtn.active span:nth-of-type(3) {
        top: 40px;
        left: 25px;
        transform: translateY(-6px) rotate(45deg);
        width: 30px;
        filter: brightness(10) !important; } }
  .square__menu #g-nav-list {
    padding: 145px 12% 0;
    background: #00a73c;
    height: auto;
    transition: 1s; }
    .square__menu #g-nav-list ul {
      width: 100%;
      position: static;
      top: unset;
      left: unset;
      transform: unset; }
      .square__menu #g-nav-list ul li {
        opacity: 0;
        position: relative;
        top: -5px; }
        .square__menu #g-nav-list ul li a {
          font-size: 5vw;
          text-align: left;
          color: #fff;
          transition: .4s; }
          .square__menu #g-nav-list ul li a:hover {
            opacity: .5; }
    .square__menu #g-nav-list .bottom {
      width: 100%; }
      .square__menu #g-nav-list .bottom img {
        filter: brightness(30); }
      .square__menu #g-nav-list .bottom .top {
        margin-top: 15%; }
        .square__menu #g-nav-list .bottom .top a {
          display: inline-block;
          width: 9%;
          margin-right: 5%; }
      .square__menu #g-nav-list .bottom .d-flex .left, .square__menu #g-nav-list .bottom .d-flex .right {
        width: 48%; }
        .square__menu #g-nav-list .bottom .d-flex .left a, .square__menu #g-nav-list .bottom .d-flex .right a {
          background: #00a73c;
          font-family: "Noto Sans JP", sans-serif;
          font-optical-sizing: auto;
          font-weight: 700;
          font-style: normal;
          font-size: 1rem;
          color: #fff;
          transition: .4s;
          padding: 15px 0px;
          padding-right: 10px;
          text-align: center;
          line-height: 1;
          border: 1px solid #00a73c;
          position: relative;
          width: 160px;
          margin-top: 15%; }
          .square__menu #g-nav-list .bottom .d-flex .left a img, .square__menu #g-nav-list .bottom .d-flex .right a img {
            width: 9px;
            height: auto;
            filter: brightness(30);
            position: absolute;
            top: 50%;
            right: 12px;
            transform: translateY(-50%); }
          .square__menu #g-nav-list .bottom .d-flex .left a:hover, .square__menu #g-nav-list .bottom .d-flex .right a:hover {
            background: #f08307;
            opacity: 1;
            background: #fff;
            color: #00a73c; }
            .square__menu #g-nav-list .bottom .d-flex .left a:hover img, .square__menu #g-nav-list .bottom .d-flex .right a:hover img {
              filter: unset; }

/*=====================================================================
header end
=======================================================================*/
/*=====================================================================
footer
=======================================================================*/
footer {
  width: 100%;
  background: #00a73c;
  padding: 20px 0 20px; }
  footer .wrap {
    padding: 0px 45px;
    transition: .4s;
    position: relative; }
    @media screen and (max-width: 992px) {
      footer .wrap {
        padding: 10px 20px;
        padding-left: 6%;
        padding-right: 6%; } }
  footer .logo {
    width: 250px;
    padding-top: 4px; }
    footer .logo img {
      vertical-align: top; }
    @media screen and (max-width: 1250px) {
      footer .logo {
        width: 190px; } }
    @media screen and (max-width: 992px) {
      footer .logo {
        width: 120px;
        padding-top: 0; } }
    @media screen and (max-width: 768px) {
      footer .logo {
        width: 50%; } }
  footer a {
    transition: .4s; }
  footer .nav__menu {
    width: calc(100% - 250px);
    align-items: flex-start;
    align-items: center;
    position: relative; }
    @media screen and (max-width: 1250px) {
      footer .nav__menu {
        width: calc(100% - 190px); } }
    @media screen and (max-width: 992px) {
      footer .nav__menu {
        width: calc(100% - 120px); } }
    @media screen and (max-width: 768px) {
      footer .nav__menu {
        width: 50%; } }
    footer .nav__menu .ul__nav {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex; }
      @media screen and (max-width: 768px) {
        footer .nav__menu .ul__nav {
          display: none; } }
      footer .nav__menu .ul__nav li a {
        margin-left: 25px;
        text-align: center;
        position: relative;
        z-index: 900;
        color: #fff;
        transition: .4s;
        font-size: 1.4rem; }
        footer .nav__menu .ul__nav li a:after {
          content: '';
          position: absolute;
          bottom: -10px;
          left: 0;
          width: 0;
          height: 1px;
          background: #fffef7;
          transition: all .4s;
          opacity: 0; }
        footer .nav__menu .ul__nav li a:hover {
          color: #fffef7; }
          footer .nav__menu .ul__nav li a:hover:after {
            width: 100%;
            /*横幅を伸ばす*/
            opacity: 1;
            /*不透明に*/ }
        footer .nav__menu .ul__nav li a:cheak {
          color: #00a73c; }
          footer .nav__menu .ul__nav li a:cheak:after {
            width: 100%;
            /*横幅を伸ばす*/
            opacity: 1;
            /*不透明に*/ }
    footer .nav__menu .a1 {
      position: absolute;
      right: 12px;
      bottom: -25px;
      font-size: 1.2rem;
      color: #fff;
      line-height: 1; }
      footer .nav__menu .a1 img {
        width: 12px;
        margin-right: 5px; }
  footer .btn {
    border-radius: 100px;
    display: inline-block;
    background: #f08307;
    padding: 2px 20px;
    margin-left: 25px;
    color: #fff;
    display: flex;
    align-items: baseline;
    transition: .2s;
    font-size: 1.4rem; }
    @media screen and (max-width: 576px) {
      footer .btn {
        font-size: 1.2rem; } }
    footer .btn:hover {
      background: #00a73c; }
    footer .btn img {
      width: 14px;
      margin-right: 6px; }
  footer .copyright {
    margin-top: 30px;
    text-align: center;
    font-size: 1.1rem;
    color: #fff; }
    @media screen and (max-width: 768px) {
      footer .copyright {
        text-align: left;
        padding-left: 6%;
        padding-right: 6%; } }

/*=====================================================================
footer end
=======================================================================*/
/*=====================================================================
TOP
=======================================================================*/
main#front .mv {
  padding-top: 130px;
  position: relative;
  height: 65vw; }
  @media screen and (max-width: 768px) {
    main#front .mv {
      height: 155vw; } }
  main#front .mv .js-fadeUp {
    transition: 2s; }
  main#front .mv .rl {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    position: absolute;
    right: 20vw;
    top: 20vw; }
    @media screen and (max-width: 768px) {
      main#front .mv .rl {
        right: 7vw;
        top: 40vw; } }
    main#front .mv .rl h2, main#front .mv .rl span, main#front .mv .rl b {
      font-size: 3.6vw;
      letter-spacing: 1.6rem;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        main#front .mv .rl h2, main#front .mv .rl span, main#front .mv .rl b {
          font-size: 6.8vw; } }
    main#front .mv .rl span {
      display: block; }
    main#front .mv .rl .js-fadeUp {
      transform: translateY(0);
      transition: 3s; }
    main#front .mv .rl .obj__wrap {
      position: relative; }
      main#front .mv .rl .obj__wrap .obj-1 {
        position: absolute;
        top: -9vw;
        right: -6vw;
        width: 6vw; }
        @media screen and (max-width: 768px) {
          main#front .mv .rl .obj__wrap .obj-1 {
            top: -17vw;
            right: 2vw;
            width: 10vw; } }
  main#front .mv .mv__slider {
    width: 32vw;
    position: absolute;
    left: 20vw;
    top: 11vw; }
    @media screen and (max-width: 768px) {
      main#front .mv .mv__slider {
        width: 50vw;
        top: 28vw;
        left: -2vw; } }
    main#front .mv .mv__slider .swiper-slide {
      position: relative; }
      main#front .mv .mv__slider .swiper-slide:before {
        content: "";
        padding-top: 67%;
        display: block; }
      main#front .mv .mv__slider .swiper-slide img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        height: 100%;
        border-radius: 20px; }
    main#front .mv .mv__slider .obj__wrap {
      position: relative; }
      main#front .mv .mv__slider .obj__wrap .obj-1 {
        position: absolute;
        top: 4vw;
        left: -13vw;
        width: 2.5vw; }
        @media screen and (max-width: 768px) {
          main#front .mv .mv__slider .obj__wrap .obj-1 {
            top: 51vw;
            left: 10vw;
            width: 7.5vw; } }
      main#front .mv .mv__slider .obj__wrap .obj-2 {
        position: absolute;
        top: 15vw;
        left: -1vw;
        width: 2vw;
        z-index: 1; }
        @media screen and (max-width: 768px) {
          main#front .mv .mv__slider .obj__wrap .obj-2 {
            top: 46vw;
            left: 35vw;
            width: 5vw;
            z-index: 1; } }
      main#front .mv .mv__slider .obj__wrap .obj-3 {
        position: absolute;
        top: 23vw;
        left: -10vw;
        width: 4vw;
        z-index: 1; }
        @media screen and (max-width: 768px) {
          main#front .mv .mv__slider .obj__wrap .obj-3 {
            position: absolute;
            top: 68vw;
            left: 30vw;
            width: 4vw;
            z-index: 1; } }
  main#front .mv .mv__slider__2 {
    width: 32vw;
    position: absolute;
    left: 5vw;
    bottom: 3vw; }
    @media screen and (max-width: 768px) {
      main#front .mv .mv__slider__2 {
        width: 53vw;
        left: 6vw;
        top: 106vw; } }
    main#front .mv .mv__slider__2 .swiper-slide {
      position: relative; }
      main#front .mv .mv__slider__2 .swiper-slide:before {
        content: "";
        padding-top: 67%;
        display: block; }
      main#front .mv .mv__slider__2 .swiper-slide img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        height: 100%;
        border-radius: 20px; }
main#front .js-fade {
  transition: 1s;
  opacity: 0; }
  main#front .js-fade.is-inview {
    transition: 1s;
    opacity: 1; }
main#front .contents-1 {
  margin-bottom: 150px; }
  @media screen and (max-width: 768px) {
    main#front .contents-1 .d-flex {
      flex-flow: column-reverse; } }
  main#front .contents-1 .left, main#front .contents-1 .right {
    width: 47%; }
    @media screen and (max-width: 768px) {
      main#front .contents-1 .left, main#front .contents-1 .right {
        width: 100%; } }
  main#front .contents-1 .left {
    padding-top: 50px;
    position: relative; }
    main#front .contents-1 .left .obj-1 {
      position: absolute;
      bottom: -4vw;
      left: -6vw;
      width: 2vw;
      z-index: 1; }
  main#front .contents-1 .btn {
    margin-top: 20px; }
  main#front .contents-1 .mv__slider__3 {
    width: 100%; }
    @media screen and (max-width: 768px) {
      main#front .contents-1 .mv__slider__3 {
        width: 60vw;
        left: 43vw;
        top: 140vw; } }
    main#front .contents-1 .mv__slider__3 .swiper-slide {
      position: relative; }
      main#front .contents-1 .mv__slider__3 .swiper-slide:before {
        content: "";
        padding-top: 67%;
        display: block; }
      main#front .contents-1 .mv__slider__3 .swiper-slide img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        height: 100%;
        border-radius: 20px; }
  main#front .contents-1 .right {
    position: relative; }
    @media screen and (max-width: 768px) {
      main#front .contents-1 .right {
        display: flex;
        justify-content: end; } }
    main#front .contents-1 .right .obj-1 {
      position: absolute;
      top: -2vw;
      right: 6vw;
      width: 3.5vw;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main#front .contents-1 .right .obj-1 {
          display: none; } }
    main#front .contents-1 .right .obj-2 {
      position: absolute;
      top: -5vw;
      right: 11vw;
      width: 1.5vw;
      z-index: 1; }
    main#front .contents-1 .right .obj-3 {
      position: absolute;
      bottom: -10vw;
      right: 9vw;
      width: 2.5vw;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main#front .contents-1 .right .obj-3 {
          position: absolute;
          bottom: 25vw;
          left: 9vw;
          right: unset;
          width: 5.5vw; } }
    main#front .contents-1 .right .obj-4 {
      position: absolute;
      bottom: -6vw;
      right: 19vw;
      width: 1.5vw;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main#front .contents-1 .right .obj-4 {
          display: none; } }
    main#front .contents-1 .right .obj-5 {
      position: absolute;
      bottom: -3vw;
      right: 1vw;
      width: 1.5vw;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main#front .contents-1 .right .obj-5 {
          display: none; } }
    main#front .contents-1 .right .obj-6 {
      position: absolute;
      bottom: -4vw;
      left: 3vw;
      width: 2.5vw;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main#front .contents-1 .right .obj-6 {
          width: 5vw; } }
main#front .block {
  padding: 80px 0; }
main#front .base {
  background: #fffaec; }
main#front .btn {
  padding: 2px 25px;
  border-radius: 100px;
  border: 1px solid #00a73c;
  background: #fff;
  transition: .4s;
  color: #00a73c;
  display: inline-block;
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    main#front .btn {
      margin-top: 25px; } }
  main#front .btn img {
    filter: unset;
    width: 25px;
    transition: .4s;
    position: relative;
    top: -16px;
    margin-left: 5px; }
    @media screen and (max-width: 768px) {
      main#front .btn img {
        top: -12px; } }
  main#front .btn:hover {
    background: #00a73c;
    color: #fff; }
    main#front .btn:hover img {
      filter: brightness(50); }
main#front .torikumi .left, main#front .torikumi .right {
  width: 48.5%; }
  @media screen and (max-width: 768px) {
    main#front .torikumi .left, main#front .torikumi .right {
      width: 100%; } }
main#front .torikumi .d-flex a {
  margin-bottom: 30px;
  background: #fff;
  font-size: 3.8rem;
  border-radius: 20px;
  padding: 30px 40px;
  transition: .2s;
  position: relative;
  line-height: 1.5;
  letter-spacing: .7rem;
  padding-left: 170px; }
  @media screen and (max-width: 768px) {
    main#front .torikumi .d-flex a {
      font-size: 2rem;
      padding: 15px 25px;
      margin-bottom: 15px;
      padding-left: 80px; } }
  main#front .torikumi .d-flex a span {
    font-size: 1.8rem;
    display: block;
    margin-top: 10px;
    font-family: "FP-こぶりなゴシック StdN W3"; }
    @media screen and (max-width: 768px) {
      main#front .torikumi .d-flex a span {
        font-size: 1.2rem;
        margin-top: 5px; } }
  main#front .torikumi .d-flex a .img {
    position: absolute;
    width: 100px;
    top: 85px;
    left: 40px;
    transition: 0s; }
    @media screen and (max-width: 768px) {
      main#front .torikumi .d-flex a .img {
        width: 50px;
        top: 40px;
        left: 15px; } }
  main#front .torikumi .d-flex a img {
    filter: unset;
    width: 50px;
    transition: .4s;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 35px; }
    @media screen and (max-width: 992px) {
      main#front .torikumi .d-flex a img {
        right: 25px;
        width: 30px; } }
  main#front .torikumi .d-flex a:hover {
    background: #00a73c;
    color: #fff; }
    main#front .torikumi .d-flex a:hover span {
      color: #fff; }
    main#front .torikumi .d-flex a:hover img {
      filter: brightness(0) invert(1);
      right: 25px; }
    main#front .torikumi .d-flex a:hover .img {
      transition: 0s; }
@media screen and (max-width: 768px) {
  main#front .overview .d-flex {
    flex-flow: column-reverse; } }
main#front .overview .rl {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl; }
  main#front .overview .rl h3, main#front .overview .rl span, main#front .overview .rl b {
    font-size: 5rem;
    letter-spacing: 0.8rem;
    line-height: 1.8;
    letter-spacing: 1.6rem; }
    @media screen and (max-width: 768px) {
      main#front .overview .rl h3, main#front .overview .rl span, main#front .overview .rl b {
        font-size: 7.5vw; } }
  main#front .overview .rl span {
    display: block; }
  main#front .overview .rl b {
    position: relative; }
    main#front .overview .rl b.is-inview:before {
      clip-path: inset(0 0 0 0); }
  main#front .overview .rl .js-fadeUp {
    transform: translateY(0);
    transition: 3s; }
main#front .overview .left {
  width: 350px; }
  @media screen and (max-width: 768px) {
    main#front .overview .left {
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin-top: 60px; }
      main#front .overview .left .obj {
        width: 45%;
        padding-top: 100px; } }
main#front .overview .right {
  width: calc(100% - 350px); }
  @media screen and (max-width: 768px) {
    main#front .overview .right {
      width: 100%; } }
  main#front .overview .right li {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      main#front .overview .right li {
        margin-bottom: 0; } }
    main#front .overview .right li a {
      background: #fff;
      font-size: 2.8rem;
      letter-spacing: .7rem;
      border-radius: 20px;
      padding: 30px 40px;
      transition: .2s;
      position: relative; }
      @media screen and (max-width: 768px) {
        main#front .overview .right li a {
          font-size: 2rem;
          padding: 15px 25px;
          margin-bottom: 15px; } }
      main#front .overview .right li a img {
        filter: unset;
        width: 50px;
        transition: .4s;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 35px; }
        @media screen and (max-width: 768px) {
          main#front .overview .right li a img {
            right: 25px;
            width: 30px; } }
      main#front .overview .right li a:hover {
        background: #00a73c;
        color: #fff; }
        main#front .overview .right li a:hover img {
          filter: brightness(50);
          right: 25px; }
main#front .access .wrap {
  position: relative;
  margin-top: 90px; }
  @media screen and (max-width: 768px) {
    main#front .access .wrap {
      margin-top: 30px; } }
  main#front .access .wrap .left, main#front .access .wrap .right {
    width: 220px;
    margin: 0 10px; }
    @media screen and (max-width: 768px) {
      main#front .access .wrap .left, main#front .access .wrap .right {
        width: 47%;
        margin: 0 1%; } }
  main#front .access .wrap .obj-1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 75px; }
  main#front .access .wrap .obj-2 {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px; }
@media screen and (max-width: 768px) {
  main#front .list__loop {
    margin-top: 0; } }

.btn-1 {
  text-align: right; }
  .btn-1 a {
    background: #fff;
    transition: .4s;
    width: 215px;
    line-height: 1;
    font-size: 1.3rem;
    display: inline-block;
    border-bottom: 1px solid #3e3a39;
    position: relative;
    right: -50px; }
    @media screen and (max-width: 1250px) {
      .btn-1 a {
        right: 0px; } }
    .btn-1 a .d-flex {
      align-items: center; }
    .btn-1 a span {
      color: #3e3a39;
      line-height: 48px; }
    .btn-1 a .s1 {
      text-align: center;
      width: calc(100% - 48px);
      position: relative;
      z-index: 1; }
      .btn-1 a .s1::after {
        background: #f08307;
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 100%;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
        z-index: -1; }
    .btn-1 a .wrap {
      position: relative;
      background: #3f7545;
      width: 48px;
      height: 48px;
      vertical-align: bottom;
      display: inline-block; }
    .btn-1 a .wrap img {
      position: absolute;
      top: 50%;
      right: 50%;
      transform: translate(50%, -50%);
      width: 28px;
      height: auto;
      filter: brightness(10);
      transition: .2s; }
    .btn-1 a:hover span {
      color: #fff; }
    .btn-1 a:hover .s1::after {
      transform: scale(1, 1); }

/*=====================================================================
TOP end
=======================================================================*/
/*=====================================================================
固定ページの共通設定
=======================================================================*/
.cat_list {
  position: absolute;
  top: -80px;
  left: 250px; }
  @media screen and (max-width: 768px) {
    .cat_list {
      position: unset;
      margin-bottom: 40px; } }
  .cat_list ul li {
    flex-wrap: wrap;
    font-size: 1.4rem; }
    .cat_list ul li a {
      margin: 0 10px 15px;
      position: relative;
      transition: .4s; }
      .cat_list ul li a:hover {
        opacity: .5; }

.tag a {
  color: #fff;
  padding: 3px 5px;
  line-height: 1;
  display: inline-block; }
.tag a.all {
  background: #f08307; }

.list__loop {
  padding-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .list__loop {
      margin-top: 80px; } }
  .list__loop li {
    width: 100%;
    padding: 20px 0;
    position: relative; }
    .list__loop li:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 3px;
      background-image: radial-gradient(circle, #00a73c 1px, transparent 1px);
      background-size: 12px 3px;
      background-repeat: repeat-x; }
    @media screen and (max-width: 768px) {
      .list__loop li {
        padding: 15px 0; } }
    .list__loop li .date {
      width: 120px;
      text-align: center;
      font-size: 1.8rem; }
      @media screen and (max-width: 768px) {
        .list__loop li .date {
          width: 100%;
          text-align: left;
          border-right: none;
          margin-bottom: 5px;
          padding-left: 15px; } }
    .list__loop li .title {
      text-align: left;
      padding-left: 25px;
      padding-right: 80px;
      width: calc(100% - 120px); }
      @media screen and (max-width: 768px) {
        .list__loop li .title {
          width: 100%;
          padding-left: 15px;
          padding-right: 15px; } }
    .list__loop li a {
      position: relative;
      font-size: 1.8rem; }
      .list__loop li a:hover p, .list__loop li a:hover .date {
        transition: .4s;
        color: #f08307; }
      .list__loop li a:hover svg {
        right: 15px;
        stroke: #4c371e; }
      .list__loop li a:hover .cls-1 {
        stroke: #f08307; }

/*=====================================================================
固定ページの共通設定 end
=======================================================================*/
/*=====================================================================
固定ページの個別設定
=======================================================================*/
#front .head {
  padding-bottom: 80px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #front .head {
      padding-bottom: 0; } }
  #front .head h2 {
    font-size: 3.8rem;
    position: relative;
    padding-bottom: 25px;
    text-align: center;
    display: inline-block; }
    #front .head h2 span {
      font-size: 3.8rem;
      letter-spacing: .7rem; }
    @media screen and (max-width: 768px) {
      #front .head h2 {
        font-size: 1.6rem;
        padding-bottom: 0;
        padding-bottom: 70px; }
        #front .head h2 span {
          font-size: 2.8rem; } }
    #front .head h2::after {
      content: "";
      background: #00a73c;
      position: absolute;
      bottom: 0px;
      left: 50%;
      transform: translateX(-50%);
      width: 0px;
      height: 1px;
      transition: 2s; }
      @media screen and (max-width: 768px) {
        #front .head h2::after {
          bottom: 45px; } }
    #front .head h2.js-text-inview::after {
      width: 50px; }

#page .head {
  padding-bottom: 200px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #page .head {
      padding-left: 6%;
      padding-right: 6%;
      padding-bottom: 0; } }
  #page .head h1 {
    font-size: 4.5rem;
    position: relative;
    padding-bottom: 20px;
    text-align: center;
    display: inline-block; }
    #page .head h1 span {
      font-size: 2.5rem;
      margin-bottom: 20px;
      display: block;
      text-align: center;
      color: #00a73c; }
      @media screen and (max-width: 768px) {
        #page .head h1 span {
          font-size: 1.3rem;
          margin-bottom: 10px; } }
    @media screen and (max-width: 768px) {
      #page .head h1 {
        font-size: 2.9rem; } }
    #page .head h1::after {
      content: "";
      background: #3e3a39;
      position: absolute;
      bottom: 0px;
      left: 0;
      width: 0px;
      height: 1px;
      transition: 2s; }
    #page .head h1.js-text-inview::after {
      width: 50px; }
  #page .head .wrap {
    display: inline-block;
    position: relative;
    min-width: 750px; }
    @media screen and (max-width: 768px) {
      #page .head .wrap {
        min-width: 95%; } }
    #page .head .wrap .obj {
      position: absolute;
      z-index: 1; }
    #page .head .wrap .obj-1 {
      left: -200px;
      width: 190px;
      top: -120px; }
      @media screen and (max-width: 768px) {
        #page .head .wrap .obj-1 {
          left: 0;
          width: 100px;
          top: -54px;
          display: none; } }
    #page .head .wrap .obj-2 {
      left: -200px;
      width: 110px;
      bottom: -130px; }
      @media screen and (max-width: 768px) {
        #page .head .wrap .obj-2 {
          left: -10px;
          width: 40px;
          bottom: -41px;
          display: none; } }
    #page .head .wrap .obj-3 {
      right: -200px;
      width: 80px;
      top: -140px; }
      @media screen and (max-width: 768px) {
        #page .head .wrap .obj-3 {
          right: 0;
          width: 30px;
          top: -60px;
          display: none; } }
    #page .head .wrap .obj-4 {
      right: -200px;
      width: 120px;
      bottom: -150px; }
      @media screen and (max-width: 768px) {
        #page .head .wrap .obj-4 {
          right: 0;
          width: 60px;
          bottom: -30px;
          display: none; } }
    #page .head .wrap .obj-sp-1 {
      left: 0;
      width: 20px;
      top: -55px; }
    #page .head .wrap .obj-sp-2 {
      left: 40px;
      width: 15px;
      top: -35px; }
    #page .head .wrap .obj-sp-3 {
      left: 60px;
      width: 16px;
      bottom: -26px; }
    #page .head .wrap .obj-sp-4 {
      left: 5px;
      width: 18px;
      bottom: -60px; }
    #page .head .wrap .obj-sp-5 {
      right: 0;
      width: 25px;
      bottom: -55px; }
    #page .head .wrap .obj-sp-6 {
      right: 57px;
      width: 13px;
      bottom: -31px; }
    #page .head .wrap .obj-sp-7 {
      right: 9px;
      width: 23px;
      top: -75px; }

.page-links {
  position: relative;
  top: 17px; }
  @media screen and (max-width: 768px) {
    .page-links {
      margin-top: 115px;
      position: static; } }
  .page-links a {
    color: #00a73c;
    border: 1px solid #00a73c;
    border-radius: 100px;
    background: #fff;
    padding: 10px 25px;
    transition: .2s;
    margin: 0 10px;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .page-links a {
        font-size: 1.2rem;
        padding: 5px 15px;
        margin: 5px 5px; } }
    .page-links a:hover {
      background: #00a73c;
      color: #fff; }

/*=====================================================================
#single・#page
=======================================================================*/
#page {
  padding-top: 320px; }
  @media screen and (max-width: 768px) {
    #page {
      padding-top: 150px; } }
  #page .wp-block-group:nth-child(even) {
    background-color: #fffaec; }
  #page .wp-block-group {
    padding: 70px 60px; }
    @media screen and (max-width: 768px) {
      #page .wp-block-group {
        padding: 40px 60px;
        padding-left: 0;
        padding-right: 0; } }
  #page .wp-block-group__inner-container {
    width: 100%;
    margin: auto;
    max-width: 1280px;
    padding: 80px 70px;
    background: #fff;
    border-radius: 30px; }
    @media screen and (max-width: 768px) {
      #page .wp-block-group__inner-container {
        padding-left: 6%;
        padding-right: 6%;
        padding-bottom: 30px; } }
  #page * {
    font-family: "FP-こぶりなゴシック StdN W3"; }
  #page hr {
    margin: 70px 0;
    border: none;
    height: 4px;
    background-image: radial-gradient(circle, #00a73c 2px, transparent 2px);
    background-size: 20px 4px;
    background-repeat: repeat-x; }
  #page h1, #page h2, #page h3, #page h4, #page h5, #page h6 {
    line-height: 1.7;
    font-family: "FP-こぶりなゴシック StdN W6"; }
    #page h1 span, #page h2 span, #page h3 span, #page h4 span, #page h5 span, #page h6 span {
      font-family: "FP-こぶりなゴシック StdN W6"; }
  #page a {
    font-family: "FP-こぶりなゴシック StdN W6"; }
  #page .editor h2 {
    font-size: 3.8rem;
    margin-bottom: 70px;
    text-align: center;
    position: relative; }
    @media screen and (max-width: 768px) {
      #page .editor h2 {
        font-size: 2.4rem; } }
    #page .editor h2:after {
      content: "";
      position: absolute;
      bottom: -25px;
      left: 50%;
      transform: translateX(-50%);
      height: 1px;
      width: 30px;
      background: #00a73c; }
  #page .editor h3 {
    font-size: 2.8rem;
    text-align: left;
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      #page .editor h3 {
        font-size: 2.0rem; } }
  #page .editor h4 {
    font-size: 2.2rem;
    text-align: left;
    margin-top: 40px;
    margin-bottom: 10px;
    color: #00a73c; }
    #page .editor h4:first-child {
      margin-top: 0; }
    @media screen and (max-width: 768px) {
      #page .editor h4 {
        font-size: 1.8rem; } }
  #page .editor h5 {
    text-align: left;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #f08307; }
  @media screen and (max-width: 768px) {
    #page .editor img {
      margin: 25px 0; } }
  #page .editor a {
    transition: .4s;
    font-family: "FP-こぶりなゴシック StdN W6"; }
    #page .editor a:hover {
      opacity: .5; }
  #page .editor .wp-block-button__link {
    background: #fff;
    border-radius: 0;
    color: #00a73c;
    padding: 8px 35px;
    padding-right: 65px;
    text-align: center;
    border: 1px solid #00a73c;
    margin-top: 30px;
    display: inline-block;
    position: relative;
    transition: .4s;
    font-size: 1.8rem;
    border-radius: 100px;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      #page .editor .wp-block-button__link {
        text-align: left;
        width: 100%;
        font-size: 1.4rem;
        padding: 8px 10px;
        text-align: center; } }
    #page .editor .wp-block-button__link:after {
      content: url("../img/icon-right-2.svg");
      width: 17px;
      height: auto;
      position: absolute;
      top: 50%;
      right: 25px;
      transform: translateY(-50%);
      transition: .4s;
      filter: brightness(0) invert(1); }
    #page .editor .wp-block-button__link:hover {
      opacity: 1;
      background: #00a73c;
      color: #fff; }
      #page .editor .wp-block-button__link:hover:after {
        right: 20px;
        filter: unset; }
  #page .editor .wp-block-buttons > .wp-block-button {
    width: 100%;
    max-width: 550px; }
  #page .editor .wp-block-columns > .wp-block-column:nth-child(1) {
    width: 60%;
    flex-basis: 60% !important;
    padding-right: 2%; }
    @media screen and (max-width: 992px) {
      #page .editor .wp-block-columns > .wp-block-column:nth-child(1) {
        width: 100% !important;
        padding-right: 0;
        padding-bottom: 6%; } }
  #page .editor .wp-block-columns > .wp-block-column:nth-child(2) {
    width: 40%;
    flex-basis: 40% !important; }
    @media screen and (max-width: 992px) {
      #page .editor .wp-block-columns > .wp-block-column:nth-child(2) {
        width: 100% !important; } }
  #page .editor .wp-block-table {
    margin: 20px 0; }
    #page .editor .wp-block-table thead {
      background: #00a73c;
      border: 1.5px solid #3e3a39; }
      #page .editor .wp-block-table thead tr th {
        text-align: center;
        color: #fff; }
        @media screen and (max-width: 768px) {
          #page .editor .wp-block-table thead tr th {
            min-width: 87px; } }
    #page .editor .wp-block-table td {
      font-size: 1.3rem; }
      #page .editor .wp-block-table td * {
        font-size: 1.3rem; }
      #page .editor .wp-block-table td a {
        display: inline-block;
        color: #0000ee;
        text-decoration: underline; }
        #page .editor .wp-block-table td a:visited {
          color: #551a8b; }
  @media screen and (max-width: 992px) {
    #page .editor .wp-block-columns {
      width: 100%;
      display: block; } }
  #page .post-nav {
    margin-top: 140px; }
    #page .post-nav * {
      font-size: 3rem;
      text-decoration: none; }
      @media screen and (max-width: 768px) {
        #page .post-nav * {
          font-size: 1.3rem; } }
    #page .post-nav .post-nav__back {
      border-left: 0.5px solid #3e3a39;
      border-right: 0.5px solid #3e3a39;
      padding: 0 50px; }
      @media screen and (max-width: 768px) {
        #page .post-nav .post-nav__back {
          padding: 0 25px; } }
    #page .post-nav .post-nav__prev {
      border-left: 0.5px solid #3e3a39;
      padding: 0 50px; }
      @media screen and (max-width: 768px) {
        #page .post-nav .post-nav__prev {
          padding: 0 25px; } }
    #page .post-nav .post-nav__next {
      border-right: 0.5px solid #3e3a39;
      padding: 0 50px; }
      @media screen and (max-width: 768px) {
        #page .post-nav .post-nav__next {
          padding: 0 25px; } }
  #page .nav__back {
    margin-top: 10px; }
    #page .nav__back .btn {
      padding: 5px 25px;
      border-radius: 100px;
      border: 1px solid #00a73c;
      background: #fff;
      transition: .4s;
      color: #00a73c;
      display: inline-block;
      margin-top: 50px;
      text-decoration: none; }
      #page .nav__back .btn img {
        filter: unset;
        width: 25px;
        transition: .4s;
        position: relative;
        top: -9px;
        margin-left: 5px;
        margin-top: 0;
        margin-bottom: 0; }
        @media screen and (max-width: 768px) {
          #page .nav__back .btn img {
            top: -6px; } }
      #page .nav__back .btn:hover {
        background: #00a73c;
        color: #fff;
        opacity: 1; }
        #page .nav__back .btn:hover img {
          filter: brightness(50); }

.bg__fff {
  background: #fff;
  border-radius: 30px;
  width: 100%;
  max-width: 1060px;
  padding: 80px 0;
  margin: 0 auto 90px; }
  @media screen and (max-width: 1080px) {
    .bg__fff {
      width: 100%; } }

.pt__imp {
  padding-top: 220px !important; }
  @media screen and (max-width: 768px) {
    .pt__imp {
      padding-top: 120px !important; } }

#single .thu {
  margin-bottom: 75px; }
  #single .thu img {
    width: 100%; }
#single .date {
  font-size: 1.8rem; }
  @media screen and (max-width: 768px) {
    #single .date {
      font-size: 1.6rem;
      margin-bottom: 20px; } }
#single article * {
  line-height: 1.5; }
#single article h1 {
  font-size: 3.8rem;
  padding-bottom: 20px;
  color: #00a73c; }
  @media screen and (max-width: 768px) {
    #single article h1 {
      font-size: 2rem;
      width: 100%; } }
#single article .post-nav {
  display: flex;
  justify-content: center;
  margin-top: 50px; }
  #single article .post-nav * {
    font-size: 1.5rem; }
    #single article .post-nav *:hover {
      color: #f08307;
      opacity: 1;
      transition: .4s; }
#single article h2 + h3 {
  margin-top: 0; }
#single article h3 {
  margin-top: 40px;
  font-size: 1.6rem;
  letter-spacing: .1rem;
  margin-bottom: 10px;
  line-height: 1.8; }
#single article h4 {
  font-size: 2rem;
  letter-spacing: .1rem;
  margin-top: 30px;
  margin-bottom: 10px;
  line-height: 1.8;
  border-bottom: 3px solid;
  padding-bottom: 5px;
  display: inline-block; }
  @media screen and (max-width: 768px) {
    #single article h4 {
      font-size: 1.5rem; } }
#single article img {
  max-width: 100%;
  width: auto;
  height: auto; }
#single article p {
  margin-bottom: 15px;
  letter-spacing: 0;
  line-height: 2; }
#single article a {
  display: inline-block;
  text-decoration: underline; }
  #single article a:hover {
    color: #3e3a39;
    transition: .2s; }
#single article hr {
  margin: 70px 0;
  border: none;
  height: 4px;
  background-image: radial-gradient(circle, #00a73c 2px, transparent 2px);
  background-size: 20px 4px;
  background-repeat: repeat-x; }
#single article .wp-block-column img {
  margin: 0; }
#single article table td, #single article table th {
  font-size: 1.6rem;
  color: #3e3a39; }
#single article table td {
  padding: 5px; }
#single .editor ul {
  margin: 20px 0; }
  #single .editor ul li {
    line-height: 1.8;
    list-style: disc;
    margin-left: 20px;
    margin-bottom: 10px; }
#single .paging p {
  font-size: 1.4rem;
  margin-bottom: 10px; }
#single .paging a {
  font-size: 1.4rem;
  display: inline-block;
  text-decoration: underline; }
  #single .paging a:hover {
    color: #00a73c; }

#single.news .paging p {
  font-size: 1.8rem;
  text-align: center; }
#single.news .paging a {
  text-decoration: none;
  margin-left: 50px; }
  #single.news .paging a svg {
    width: 60px;
    height: auto;
    margin-bottom: 10px; }
  #single.news .paging a:hover {
    transition: .2s; }
    #single.news .paging a:hover svg .cls-1 {
      stroke: #fff;
      transition: .2s; }
    #single.news .paging a:hover svg .cls-2 {
      fill: #b5b5b5;
      transition: .2s; }

#page-top {
  position: fixed;
  bottom: 50px;
  right: 80px;
  width: 30px;
  height: auto;
  z-index: 100;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    #page-top {
      width: 30px;
      bottom: 20px;
      right: 6%; } }

/*=====================================================================
#single end
=======================================================================*/
/*=====================================================================
#プラグインの設定
=======================================================================*/
#page.contact .contact {
  width: 100%;
  max-width: 1060px;
  padding: 80px 100px;
  margin-bottom: 100px;
  background: #fff;
  border-radius: 30px; }
  @media screen and (max-width: 768px) {
    #page.contact .contact {
      padding: 80px 6%;
      margin-top: 100px; } }
  #page.contact .contact dl {
    margin: 20px 0 25px; }
  #page.contact .contact dt, #page.contact .contact dd {
    padding: 10px 0; }
    @media screen and (max-width: 768px) {
      #page.contact .contact dt, #page.contact .contact dd {
        padding-left: 0;
        padding-right: 0; } }
    #page.contact .contact dt *, #page.contact .contact dd * {
      font-size: 1.4rem;
      letter-spacing: 0.05rem; }
  #page.contact .contact dt {
    width: 200px;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      #page.contact .contact dt {
        width: 100%;
        padding-bottom: 0;
        border-bottom: none; } }
  #page.contact .contact dd {
    width: calc(100% - 200px); }
    @media screen and (max-width: 768px) {
      #page.contact .contact dd {
        width: 100%;
        padding-top: 10px; } }
  #page.contact .contact input, #page.contact .contact textarea, #page.contact .contact select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 3px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #b5b5b6; }
  #page.contact .contact input, #page.contact .contact textarea, #page.contact .contact select {
    background: #fff;
    width: 100%;
    padding: 15px; }
  #page.contact .contact .select_wrapper {
    position: relative;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      #page.contact .contact .select_wrapper {
        display: block; } }
    #page.contact .contact .select_wrapper::after {
      content: "";
      position: absolute;
      top: 20px;
      right: 25px;
      width: 7px;
      height: 7px;
      border-right: 1px solid #444;
      border-bottom: 1px solid #444;
      transform: rotate(45deg); }
      @media screen and (max-width: 768px) {
        #page.contact .contact .select_wrapper::after {
          top: 15px; } }
  #page.contact .contact select {
    max-width: 325px;
    width: 325px;
    -webkit-appearance: none;
    appearance: none; }
    @media screen and (max-width: 768px) {
      #page.contact .contact select {
        width: 100%; } }
  #page.contact .contact input[type="submit"] {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    background: #f08307;
    color: #fff;
    cursor: pointer;
    transition: .2s;
    padding-top: 27px;
    padding-bottom: 27px; }
    @media screen and (max-width: 768px) {
      #page.contact .contact input[type="submit"] {
        margin-top: 30px; } }
    #page.contact .contact input[type="submit"]:hover {
      background: #fff;
      color: #f08307; }
  #page.contact .contact ::placeholder {
    color: #999999; }
#page.contact .submit {
  margin-top: 20px;
  position: relative;
  margin: auto;
  width: 200px; }
  #page.contact .submit input {
    padding: 10px 0 !important; }
#page.contact .red {
  display: inline-block;
  font-size: 1.1rem !important;
  color: #fff;
  padding: 0px 10px;
  margin-left: 10px;
  background: #e60012;
  border: 1px solid #e60012;
  border-radius: 5px; }
#page.contact .gray {
  display: inline-block;
  font-size: 1.1rem !important;
  color: #e60012;
  padding: 2px 10px;
  margin-left: 10px;
  border: 1px solid #e60012;
  border-radius: 5px; }

/*=== wp-pagenaviの設定 ===*/
.wp-pagenavi {
  text-align: center;
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    .wp-pagenavi {
      margin-top: 40px; } }
  .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    background: #00a73c;
    width: 80px;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
        font-size: 1.4rem; } }

.wp-pagenavi a, .wp-pagenavi span {
  font-size: 1.5rem;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  color: #4c371e;
  line-height: 35px;
  border-radius: 5px;
  width: 35px;
  height: 35px;
  margin: 0 5px; }

.wp-pagenavi a:hover {
  transition: .2s;
  background: #dfeed8; }

.wp-pagenavi span.current {
  background: #dfeed8; }

/*=== swiperの設定 ===*/
@media screen and (max-width: 576px) {
  .slider_sp {
    width: 100%;
    left: -7%;
    width: 114%; } }

.slider-thumbnail .swiper-wrapper {
  flex-wrap: wrap;
  transform: translate3d(0px, 0px, 0px) !important; }

.slider-thumbnail .swiper-slide {
  opacity: .5;
  transition: opacity .5s; }

.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1; }

.slider-thumbnail-2 {
  margin-top: 20px; }
  .slider-thumbnail-2 .swiper-slide {
    width: 18% !important;
    margin-right: 2.5%;
    margin-bottom: 2%;
    cursor: pointer; }
    .slider-thumbnail-2 .swiper-slide:nth-child(5n) {
      margin-right: 0; }
    .slider-thumbnail-2 .swiper-slide img {
      width: 100%; }
  .slider-thumbnail-2 .swiper-wrapper {
    flex-wrap: wrap;
    transform: translate3d(0px, 0px, 0px) !important; }

.slider-thumbnail-2 .swiper-slide {
  opacity: .5;
  transition: opacity .5s; }

.slider-thumbnail-2 .swiper-slide.swiper-slide-thumb-active {
  opacity: 1; }

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  height: 48px;
  width: 48px;
  background: #fff; }
  @media screen and (max-width: 768px) {
    .swiper-button-prev,
    .swiper-button-next {
      height: 40px;
      width: 40px;
      display: none; } }

.swiper-button-prev {
  left: -24px; }
  @media screen and (max-width: 768px) {
    .swiper-button-prev {
      left: -15px; } }

.swiper-button-next {
  right: -24px; }
  @media screen and (max-width: 768px) {
    .swiper-button-next {
      right: -15px; } }

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 60px;
  margin: auto;
  width: 60px; }
  @media screen and (max-width: 768px) {
    .swiper-button-prev::after,
    .swiper-button-next::after {
      height: 40px;
      width: 40px; } }

/* 前への矢印カスタマイズ */
/* 次への矢印カスタマイズ */
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%; }

/*=== swiperの設定 end===*/
/*=== inviewの設定==*/
/* フェードイン(初期値) */
.js-fadeUp {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(15px);
  /* 下に30pxの位置から */
  transition: 1s;
  /* 透過率と縦方向の移動を0.8秒 */ }
  .js-fadeUp.t0 {
    transform: translateY(0px);
    /* 下に30pxの位置から */ }

/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateY(0);
  /* 30px上に移動する */ }

.delay_01 {
  transition-delay: 0.1s !important;
  animation-delay: 0.1s !important; }

.delay_02 {
  transition-delay: 0.2s !important;
  animation-delay: 0.2s !important; }

.delay_03 {
  transition-delay: 0.3s !important;
  animation-delay: 0.3s !important; }

.delay_04 {
  transition-delay: 0.4s !important;
  animation-delay: 0.4s !important; }

.delay_05 {
  transition-delay: 0.5s !important;
  animation-delay: 0.5s !important; }

.delay_06 {
  transition-delay: 0.6s !important;
  animation-delay: 0.6s !important; }

.delay_07 {
  transition-delay: 0.7s !important;
  animation-delay: 0.7s !important; }

.delay_08 {
  transition-delay: 0.8s !important;
  animation-delay: 0.8s !important; }

.delay_09 {
  transition-delay: 0.9s !important;
  animation-delay: 0.9s !important; }

.delay_10 {
  transition-delay: 1s !important;
  animation-delay: 0.1s !important; }

.delay_11 {
  transition-delay: 1.1s !important;
  animation-delay: 1.1s !important; }

.delay_12 {
  transition-delay: 1.1s !important;
  animation-delay: 1.2s !important; }

.delay_13 {
  transition-delay: 1.3s !important;
  animation-delay: 1.3s !important; }

.delay_14 {
  transition-delay: 1.4s !important;
  animation-delay: 1.4s !important; }

.delay_17 {
  transition-delay: 1.7s !important;
  animation-delay: 1.7s !important; }

.delay_20 {
  transition-delay: 2s !important;
  animation-delay: 2s !important; }

.td__03 {
  transition-delay: 0.3s !important; }

.td__04 {
  transition-delay: 0.4s !important; }

.td__05 {
  transition-delay: 0.5s !important; }

.td__06 {
  transition-delay: 0.6s !important; }

.td__07 {
  transition-delay: 0.7s !important; }

.td__08 {
  transition-delay: 0.8s !important; }

.td__09 {
  transition-delay: 0.9s !important; }

.td__10 {
  transition-delay: 1s !important; }

.td__11 {
  transition-delay: 1.1s !important; }

.td__12 {
  transition-delay: 1.2s !important; }

.js-fade {
  opacity: 0; }

/*=== inviewの設定 end==*/
.char {
  opacity: 0;
  transform: translateY(15px);
  display: inline-block; }

.js-text-inview .char {
  animation: fadeIn 1.5s forwards; }

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0px); } }
@keyframes pon {
  0% {
    -webkit-transform: translateX(-50%) rotate(0deg) scale(1, 1);
    transform: translateX(-50%) rotate(0deg) scale(1, 1); }
  60% {
    -webkit-transform: translateX(-50%) rotate(0deg) scale(1.2, 1.2);
    transform: translateX(-50%) rotate(0deg) scale(1.2, 1.2); }
  100% {
    -webkit-transform: translateX(-50%) rotate(0deg) scale(1, 1);
    transform: translateX(-50%) rotate(0deg) scale(1, 1); } }
.pon {
  opacity: 0;
  transition: 1s; }
  .pon.is-inview {
    -webkit-animation: pon 1s 0.2s;
    animation: pon 1s 0.2s;
    transition: all 1s ease 0s;
    opacity: 1;
    transform: translateX(-50%) rotate(0deg) scale(1); }

/*=====================================================================
#プラグインの設定 end
=======================================================================*/
