@charset "UTF-8";
/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

/*------------------------------------------------
デスクトップ
------------------------------------------------*/
#gl-header {
  display: flex;
  box-sizing: border-box;
  justify-content: space-between;
  align-items: center; }
  #gl-header h1 {
    padding-left: 25px;
    line-height: 1; }
    #gl-header h1 a {
      display: inline-block; }
    #gl-header h1 .h_tl {
      font-family: "Noto Serif JP", serif;
      font-size: 28px; }
    #gl-header h1 .s_tl {
      color: #98A6B5;
      font-size: 14px;
      margin-top: 8px; }

/*------------------------------------------------
タブレット（横長）
------------------------------------------------*/
@media all and (min-width: 769px) and (max-width: 1024px) {
  #gl-header {
    flex-wrap: wrap; }
    #gl-header h1 {
      padding-left: 15px; }
      #gl-header h1 .h_tl {
        font-size: 24px; }
      #gl-header h1 .s_tl {
        font-size: 12px;
        margin-top: 5px; } }
/*------------------------------------------------
タブレット（縦長）
------------------------------------------------*/
@media all and (min-width: 481px) and (max-width: 768px) {
  #gl-header {
    padding: 18px;
    flex-wrap: wrap; }
    #gl-header h1 {
      padding: 0; }
      #gl-header h1 .h_tl {
        font-size: 24px; }
      #gl-header h1 .s_tl {
        font-size: 12px;
        margin-top: 5px; } }
/*------------------------------------------------
スマートフォン
------------------------------------------------*/
@media all and (max-width: 480px) {
  #gl-header {
    padding: 18px;
    flex-wrap: wrap; }
    #gl-header h1 {
      padding: 0; }
      #gl-header h1 .h_tl {
        font-size: 24px; }
      #gl-header h1 .s_tl {
        font-size: 12px;
        margin-top: 5px; } }
/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

/*------------------------------------------------
サイト共通パーツ
------------------------------------------------*/
/*------------------------------------------------
デスクトップ
------------------------------------------------*/
#tmp-info {
  display: flex; }
  #tmp-info .box {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #eef1f4;
    box-sizing: border-box;
    padding: 60px 10px;
    background-color: #449834;
    color: #FFF; }
  #tmp-info .left {
    border-right: solid 2px #FFF;
    border-left: solid 4px #FFF; }
  #tmp-info .right {
    border-right: solid 4px #FFF;
    border-left: solid 2px #FFF;
    background-color: #31921F; }
  #tmp-info a {
    border: solid 1px #31921F;
    padding: 10px 30px;
    position: relative;
    background-color: #31921F;
    color: #FFF;
    transition: 0.3s;
    border-radius: 5px;
    background-color: #FFF;
    color: #31921F;
    font-size: 18px; }
    #tmp-info a::after {
      font-family: "Font Awesome 5 Free";
      content: "\f138";
      font-weight: 700;
      padding-left: 0.8rem;
      position: static;
      display: inline-block;
      font-size: 14px;
      top: 0;
      left: 0;
      color: #FFF; }
    #tmp-info a:hover {
      background-color: #FFF;
      color: #31921F; }
      #tmp-info a:hover::after {
        color: #31921F; }
    #tmp-info a::after {
      color: #31921F;
      font-size: 18px; }
    #tmp-info a:hover {
      background-color: #FF8000;
      color: #FFF; }
      #tmp-info a:hover::after {
        color: #FFF; }
  #tmp-info .btn {
    margin-left: 25px; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    #tmp-info .box {
      display: block;
      padding: 40px 10px;
      text-align: center; }
    #tmp-info .btn {
      margin-left: 0;
      margin-top: 20px; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #tmp-info {
      display: block; }
      #tmp-info .box {
        width: 100%;
        display: block;
        padding: 40px 10px;
        text-align: center; }
      #tmp-info .left {
        border-right: solid 4px #FFF;
        border-left: solid 4px #FFF; }
      #tmp-info .right {
        border-right: solid 4px #FFF;
        border-left: solid 4px #FFF;
        margin-top: 4px; }
      #tmp-info a {
        font-size: 16px; }
        #tmp-info a::after {
          font-size: 16px; }
      #tmp-info .btn {
        margin-left: 0;
        margin-top: 20px; } }
  @media all and (max-width: 480px) {
    #tmp-info {
      display: block; }
      #tmp-info .box {
        width: 100%;
        display: block;
        padding: 40px 10px;
        text-align: center; }
      #tmp-info .left {
        border-right: solid 4px #FFF;
        border-left: solid 4px #FFF; }
      #tmp-info .right {
        border-right: solid 4px #FFF;
        border-left: solid 4px #FFF;
        margin-top: 4px; }
      #tmp-info a {
        font-size: 16px; }
        #tmp-info a::after {
          font-size: 16px; }
      #tmp-info .btn {
        margin-left: 0;
        margin-top: 20px; } }

footer {
  background-color: #F0F3F5;
  margin-top: 4px; }
  footer .main_foot {
    padding: 40px 0; }
    footer .main_foot .wrapper {
      display: flex;
      justify-content: space-between; }
    footer .main_foot nav {
      width: 62%; }
      footer .main_foot nav ul {
        display: flex;
        flex-wrap: wrap; }
      footer .main_foot nav li {
        width: 33.3%;
        font-size: 14px;
        margin: 5px 0; }
      footer .main_foot nav a:hover {
        text-decoration: underline; }
    footer .main_foot .inner .h_tl {
      font-size: 24px;
      font-family: "Noto Serif JP", serif;
      line-height: 1; }
    footer .main_foot .inner .s_tl {
      font-size: 12px;
      color: #98A6B5;
      margin-top: 8px;
      line-height: 1; }
    footer .main_foot .inner .sns {
      display: flex;
      margin-top: 15px;
      justify-content: flex-end; }
      footer .main_foot .inner .sns li {
        margin-left: 10px; }
      footer .main_foot .inner .sns a {
        color: #98A6B5;
        transition: 0.3s; }
        footer .main_foot .inner .sns a:hover {
          color: #546270; }
    footer .main_foot .inner p {
      font-size: 12px;
      margin-top: 5px; }
  footer .copyright {
    padding: 20px 0;
    text-align: center; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    footer {
      margin-top: 4px; }
      footer .main_foot {
        padding: 40px 0; }
        footer .main_foot .wrapper {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; }
        footer .main_foot nav {
          width: 100%; }
        footer .main_foot .inner {
          width: 100%;
          margin-top: 40px; }
          footer .main_foot .inner .sns {
            margin-top: 15px;
            justify-content: flex-start; }
      footer .copyright {
        text-align: right; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    footer {
      margin-top: 4px; }
      footer .main_foot {
        padding: 40px 0; }
        footer .main_foot .wrapper {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; }
        footer .main_foot nav {
          width: 100%; }
          footer .main_foot nav li {
            width: 50%; }
        footer .main_foot .inner {
          width: 100%;
          text-align: center;
          margin-top: 40px; }
          footer .main_foot .inner .sns {
            margin-top: 15px;
            justify-content: center; }
      footer .copyright {
        text-align: center; } }
  @media all and (max-width: 480px) {
    footer {
      margin-top: 4px; }
      footer .main_foot {
        padding: 40px 0; }
        footer .main_foot .wrapper {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; }
        footer .main_foot nav {
          width: 100%; }
          footer .main_foot nav li {
            width: 50%;
            padding-right: 10px; }
        footer .main_foot .inner {
          width: 100%;
          text-align: center;
          margin-top: 40px; }
          footer .main_foot .inner .sns {
            margin-top: 15px;
            justify-content: center; }
      footer .copyright {
        text-align: center; } }

/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

@media all and (min-width: 1025px) {
  #burger {
    display: none; }

  #gl-nav {
    display: flex;
    align-items: center; }
    #gl-nav a {
      transition: 0.3s; }
    #gl-nav ul {
      display: flex;
      justify-content: center;
      font-weight: 700; }
      #gl-nav ul a:hover {
        color: #FF8000; }
    #gl-nav .nav_wrap li {
      margin-left: 15px; }
    #gl-nav .sns {
      margin: 0 15px; }
      #gl-nav .sns li {
        margin: 0 3px; }
      #gl-nav .sns a {
        color: #98A6B5;
        transition: 0.3s; }
        #gl-nav .sns a:hover {
          color: #546270; }
    #gl-nav .mail a {
      background-color: #31921F;
      border: solid 1px #31921F;
      color: #FFF;
      display: inline-block;
      padding: 35px 25px;
      line-height: 1;
      transition: 0.3s; }
      #gl-nav .mail a::before {
        font-family: "Font Awesome 5 Free";
        content: "\f0e0";
        font-weight: 700;
        padding-right: 0.4rem;
        position: static;
        display: inline-block;
        top: 0;
        left: 0; }
      #gl-nav .mail a:hover {
        background-color: #FFF;
        color: #31921F; } }
@media all and (min-width: 769px) and (max-width: 1024px) {
  #burger {
    display: none; }

  #gl-nav {
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    #gl-nav a {
      transition: 0.3s; }
    #gl-nav ul {
      display: flex;
      justify-content: center;
      font-weight: 700; }
      #gl-nav ul a:hover {
        color: #FF8000; }
    #gl-nav .nav_wrap li {
      margin-left: 10px;
      font-size: 14px; }
    #gl-nav .sns {
      margin: 0 10px; }
      #gl-nav .sns li {
        margin: 0 3px; }
      #gl-nav .sns a {
        color: #98A6B5;
        transition: 0.3s; }
        #gl-nav .sns a:hover {
          color: #546270; }
    #gl-nav .mail a {
      background-color: #31921F;
      border: solid 1px #31921F;
      color: #FFF;
      display: inline-block;
      padding: 25px 15px;
      font-size: 14px;
      line-height: 1;
      transition: 0.3s; }
      #gl-nav .mail a::before {
        font-family: "Font Awesome 5 Free";
        content: "\f0e0";
        font-weight: 700;
        padding-right: 0.4rem;
        position: static;
        display: inline-block;
        top: 0;
        left: 0; }
      #gl-nav .mail a:hover {
        background-color: #FFF;
        color: #31921F; } }
@media screen and (max-width: 768px) {
  body {
    position: relative; }

  #burger {
    display: block;
    position: absolute;
    cursor: pointer;
    width: 60px;
    height: 60px;
    right: 0;
    top: 0;
    z-index: 999999;
    background-color: #31921F; }
    #burger.active {
      position: fixed; }
    #burger span {
      display: inline-block;
      position: absolute;
      transition: all .5s;
      width: 36px;
      height: 1px;
      left: 12px;
      background-color: #FFF; }
      #burger span:nth-of-type(1) {
        top: 15px; }
      #burger span:nth-of-type(2) {
        top: 30px; }
      #burger span:nth-of-type(3) {
        bottom: 15px; }
    #burger.active span:nth-of-type(1) {
      transform: translateY(15px) rotate(-45deg); }
    #burger.active span:nth-of-type(2) {
      left: 50%;
      opacity: 0;
      animation: active-btn-bar02 .5s forwards; }
  @keyframes active-btn-bar02 {
    100% {
      height: 0; } }
    #burger.active span:nth-of-type(3) {
      transform: translateY(-15px) rotate(45deg); }

  #gl-nav {
    display: block;
    position: fixed;
    visibility: hidden;
    pointer-events: none;
    overflow: auto;
    opacity: 0;
    z-index: -1;
    transition: 0.5s;
    width: 100vw;
    height: calc(100vh - 61px);
    top: 61px;
    left: 0;
    background: #FFFFFF; }
    #gl-nav.visible {
      visibility: visible;
      pointer-events: auto;
      opacity: 1;
      z-index: 2; }
    #gl-nav ul {
      font-weight: 700;
      padding: 0 20px; }
      #gl-nav ul li {
        margin-top: 20px; }
      #gl-nav ul a:hover {
        color: #FF8000; }
    #gl-nav .sns {
      display: flex;
      justify-content: center;
      margin-top: 40px; }
      #gl-nav .sns li {
        margin: 0 10px; }
      #gl-nav .sns a {
        color: #98A6B5;
        transition: 0.3s;
        font-size: 20px; }
        #gl-nav .sns a:hover {
          color: #546270; }
    #gl-nav .mail {
      text-align: center;
      margin-top: 20px; }
      #gl-nav .mail a {
        background-color: #31921F;
        border: solid 1px #31921F;
        color: #FFF;
        display: block;
        padding: 20px 15px;
        line-height: 1;
        transition: 0.3s; }
        #gl-nav .mail a::before {
          font-family: "Font Awesome 5 Free";
          content: "\f0e0";
          font-weight: 700;
          padding-right: 0.4rem;
          position: static;
          display: inline-block;
          top: 0;
          left: 0; }
        #gl-nav .mail a:hover {
          background-color: #FFF;
          color: #31921F; } }
/* Scss Document */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input[type='checkbox'],
  input[type='radio'] {
    --active: #275EFE;
    --active-inner: #fff;
    --focus: 2px rgba(39, 94, 254, .3);
    --border: #BBC1E1;
    --border-hover: #275EFE;
    --background: #fff;
    --disabled: #F6F8FF;
    --disabled-inner: #E1E6F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 21px;
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
    transition: background .3s, border-color .3s, box-shadow .2s; }
    input[type='checkbox']:after,
    input[type='radio']:after {
      content: '';
      display: block;
      left: 0;
      top: 0;
      position: absolute;
      transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s); }
    input[type='checkbox']:checked,
    input[type='radio']:checked {
      --b: var(--active);
      --bc: var(--active);
      --d-o: .3s;
      --d-t: .6s;
      --d-t-e: cubic-bezier(.2, .85, .32, 1.2); }
    input[type='checkbox']:disabled,
    input[type='radio']:disabled {
      --b: var(--disabled);
      cursor: not-allowed;
      opacity: .9; }
      input[type='checkbox']:disabled:checked,
      input[type='radio']:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border); }
      input[type='checkbox']:disabled + label,
      input[type='radio']:disabled + label {
        cursor: not-allowed; }
    input[type='checkbox']:hover:not(:checked):not(:disabled),
    input[type='radio']:hover:not(:checked):not(:disabled) {
      --bc: var(--border-hover); }
    input[type='checkbox']:focus,
    input[type='radio']:focus {
      box-shadow: 0 0 0 var(--focus); }
    input[type='checkbox']:not(.switch),
    input[type='radio']:not(.switch) {
      width: 21px; }
      input[type='checkbox']:not(.switch):after,
      input[type='radio']:not(.switch):after {
        opacity: var(--o, 0); }
      input[type='checkbox']:not(.switch):checked,
      input[type='radio']:not(.switch):checked {
        --o: 1; }
    input[type='checkbox'] + label,
    input[type='radio'] + label {
      font-size: 14px;
      line-height: 21px;
      display: inline-block;
      vertical-align: top;
      cursor: pointer;
      margin-left: 4px; }

  input[type='checkbox']:not(.switch) {
    border-radius: 7px; }
    input[type='checkbox']:not(.switch):after {
      width: 5px;
      height: 9px;
      border: 2px solid var(--active-inner);
      border-top: 0;
      border-left: 0;
      left: 7px;
      top: 4px;
      transform: rotate(var(--r, 20deg)); }
    input[type='checkbox']:not(.switch):checked {
      --r: 43deg; }
  input[type='checkbox'].switch {
    width: 38px;
    border-radius: 11px; }
    input[type='checkbox'].switch:after {
      left: 2px;
      top: 2px;
      border-radius: 50%;
      width: 15px;
      height: 15px;
      background: var(--ab, var(--border));
      transform: translateX(var(--x, 0)); }
    input[type='checkbox'].switch:checked {
      --ab: var(--active-inner);
      --x: 17px; }
    input[type='checkbox'].switch:disabled:not(:checked):after {
      opacity: .6; }

  input[type='radio'] {
    border-radius: 50%; }
    input[type='radio']:after {
      width: 19px;
      height: 19px;
      border-radius: 50%;
      background: var(--active-inner);
      opacity: 0;
      transform: scale(var(--s, 0.7)); }
    input[type='radio']:checked {
      --s: .5; } }
/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

/*------------------------------------------------
デスクトップ
------------------------------------------------*/
#pan {
  border-top: solid 1px #DDD;
  background-color: #f5f5f5;
  padding: 15px 0; }
  #pan ul {
    display: flex; }
  #pan li {
    padding-right: 15px;
    margin-right: 15px;
    position: relative;
    font-size: 14px; }
    #pan li::after {
      content: "";
      display: inline-block;
      position: absolute;
      width: 1px;
      height: 100%;
      background-color: #3B4043;
      transform: rotate(25deg);
      right: 0;
      top: 0; }
    #pan li:last-of-type {
      margin-right: 0;
      padding-right: 0; }
      #pan li:last-of-type::after {
        display: none; }
  #pan a {
    color: #0066C0;
    text-decoration: underline; }
    #pan a:hover {
      text-decoration: none; }

#titleArea {
  background-image: url("../image/page_hero.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-blend-mode: overlay;
  background-color: rgba(0, 0, 0, 0.4); }
  #titleArea .container {
    padding: 120px 0;
    text-align: center;
    position: relative; }
  #titleArea h2 {
    font-size: 40px;
    font-weight: 700;
    color: #FFF; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #titleArea .container {
      padding: 80px 0; }
    #titleArea h2 {
      font-size: 36px; } }
  @media all and (max-width: 480px) {
    #titleArea .container {
      padding: 80px 0; }
    #titleArea h2 {
      font-size: 24px; } }

#page {
  padding: 80px 0; }

.area .map {
  width: 80%;
  margin: 0 auto; }
.area h3 {
  font-size: 28px;
  background-color: #f5f5f5;
  border-left: solid 5px #31921F;
  padding: 10px;
  margin-top: 80px; }
.area .wrapper {
  display: flex;
  flex-wrap: wrap; }
  .area .wrapper > div {
    width: 49%;
    display: flex;
    margin-top: 2%; }
    .area .wrapper > div:nth-of-type(odd) {
      margin-right: 2%; }
.area figure {
  width: 32%; }
  .area figure img {
    height: 100%;
    object-fit: cover; }
.area dl {
  width: 68%;
  padding: 15px;
  display: flex;
  flex-wrap: wrap; }
  .area dl dt {
    width: 30%;
    padding: 5px;
    border-bottom: dotted 1px #CCC; }
  .area dl dd {
    width: 70%;
    padding: 5px;
    border-bottom: dotted 1px #CCC; }
  .area dl a {
    text-decoration: underline;
    color: #0066C0; }
    .area dl a:hover {
      text-decoration: none; }
@media all and (min-width: 481px) and (max-width: 768px) {
  .area .map {
    width: 100%;
    margin: 0 auto; }
  .area .wrapper {
    display: block; }
    .area .wrapper > div {
      width: 100%;
      margin-top: 2%; }
      .area .wrapper > div:nth-of-type(odd) {
        margin-right: 0; }
  .area figure {
    width: 32%; }
  .area dl {
    width: 68%;
    padding: 15px; }
    .area dl dt {
      width: 28%; }
    .area dl dd {
      width: 72%; } }
@media all and (max-width: 480px) {
  .area .map {
    width: 100%; }
    .area .map img {
      height: auto; }
  .area .wrapper {
    display: block; }
    .area .wrapper > div {
      width: 100%;
      display: block;
      margin-top: 4%; }
      .area .wrapper > div:nth-of-type(odd) {
        margin-right: 0; }
  .area figure {
    width: 100%; }
    .area figure img {
      height: 180px; }
  .area dl {
    width: 100%;
    padding: 15px; }
    .area dl dt {
      width: 28%; }
    .area dl dd {
      width: 72%; } }

.item01 {
  position: relative;
  padding: 60px 0; }
  .item01::after {
    content: "";
    position: absolute;
    width: 44%;
    height: 100%;
    background-image: url("../image/index_bg01.jpg");
    background-position: center;
    background-size: cover;
    z-index: -1;
    top: 0;
    right: 10%; }
  .item01 .inner {
    padding: 40px 40px 40px 0;
    width: 70%;
    background-color: rgba(255, 255, 255, 0.75); }
  .item01 h3 .h_tl {
    font-family: "Noto Serif JP", serif;
    font-size: 32px; }
  .item01 .content {
    margin-top: 25px; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    .item01::after {
      width: 64%;
      right: 5%; }
    .item01 .inner {
      width: 86%; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .item01 {
      padding: 40px 0 0; }
      .item01::after {
        width: 80%;
        height: 76%;
        right: 5%; }
      .item01 .inner {
        padding: 25px 25px 25px 0;
        width: 86%; }
      .item01 h3 .h_tl {
        font-size: 28px; }
      .item01 .content {
        margin-top: 20px; } }
  @media all and (max-width: 480px) {
    .item01 {
      padding: 40px 0 0; }
      .item01::after {
        width: 84%;
        height: 64%;
        right: 5%; }
      .item01 .inner {
        padding: 25px 25px 25px 0;
        width: 90%; }
      .item01 h3 .h_tl {
        font-size: 28px; }
      .item01 .content {
        margin-top: 20px; } }

.item02 {
  background-color: #F0F3F5;
  padding: 40px 0;
  margin-top: 80px; }
  .item02 h3, .item02 .content {
    text-align: center; }
  .item02 h3 {
    font-size: 28px;
    font-weight: 700; }
  .item02 .content {
    margin-top: 5px; }
  .item02 ul {
    display: flex;
    justify-content: space-between;
    margin-top: 15px; }
  .item02 li {
    width: 31.5%;
    background-color: #FFF; }
  .item02 .inner {
    padding: 20px; }
  .item02 .h_tl {
    font-size: 24px;
    font-weight: 700;
    text-align: center; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .item02 {
      padding: 40px 0;
      margin-top: 60px; }
      .item02 h3 {
        font-size: 28px;
        font-weight: 700; }
      .item02 .content {
        margin-top: 5px; }
      .item02 ul {
        display: block;
        margin-top: 0; }
      .item02 li {
        width: 100%;
        margin-top: 15px; }
      .item02 .inner {
        padding: 20px; }
      .item02 .h_tl {
        font-size: 22px; } }
  @media all and (max-width: 480px) {
    .item02 {
      padding: 40px 0;
      margin-top: 60px; }
      .item02 h3 {
        font-size: 28px;
        font-weight: 700; }
      .item02 .content {
        margin-top: 5px; }
      .item02 ul {
        display: block;
        margin-top: 0; }
      .item02 li {
        width: 100%;
        margin-top: 15px; }
      .item02 .inner {
        padding: 20px; }
      .item02 .h_tl {
        font-size: 22px; } }

.item03 {
  padding: 80px 0; }
  .item03 h3 {
    font-size: 28px;
    font-weight: 700; }
  .item03 .wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 20px; }
  .item03 dl {
    /*width: 56%;*/
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.2; }
  .item03 figure {
    width: 38%; }
  .item03 dt {
    padding: 15px 10px;
    border-top: solid 1px #CCC;
    width: 25%; }
    .item03 dt:last-of-type {
      border-bottom: solid 1px #CCC; }
  .item03 dd {
    padding: 15px 10px;
    border-top: solid 1px #CCC;
    width: 75%; }
    .item03 dd:last-of-type {
      border-bottom: solid 1px #CCC; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .item03 {
      padding: 60px 0; }
      .item03 .wrapper {
        display: block;
        margin-top: 20px; }
      .item03 dl {
        width: 100%; }
      .item03 figure {
        width: 86%;
        margin: 30px auto 0; } }
  @media all and (max-width: 480px) {
    .item03 {
      padding: 60px 0; }
      .item03 .wrapper {
        display: block;
        margin-top: 20px; }
      .item03 dl {
        width: 100%; }
      .item03 figure {
        width: 100%;
        margin: 30px auto 0; } }

.item04 {
  width: 50%;
  margin: auto; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .item04 {
      width: 80%; } }
  @media all and (max-width: 480px) {
    .item04 {
      width: 80%; } }
  .item04 li {
    padding: 16px 0 8px 0; }
  .item04 figure {
    padding-bottom: 16px; }
  .item04 p {
    padding-bottom: 8px; }

.about01 h3 {
  font-size: 32px;
  font-family: "Noto Serif JP", serif;
  text-align: center; }
.about01 p {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.8; }
.about01 figure {
  margin-top: 60px; }
  .about01 figure img {
    height: 460px;
    object-fit: cover;
    object-position: bottom center; }
.about01 .philosophy {
  writing-mode: vertical-rl;
  margin: auto;
  padding-top: 16px;
  font-size: 24px;
  line-height: 2.4; }
.about01 .main {
  font-size: 32px;
  font-weight: bold; }
@media all and (min-width: 769px) and (max-width: 1024px) {
  .about01 figure {
    margin-top: 40px; }
    .about01 figure img {
      height: 380px; } }
@media all and (min-width: 481px) and (max-width: 768px) {
  .about01 h3 {
    font-size: 28px; }
  .about01 p {
    font-size: 16px; }
  .about01 figure {
    margin-top: 40px; }
    .about01 figure img {
      height: 280px; }
  .about01 .philosophy {
    font-size: 20px;
    line-height: 2.0; }
  .about01 .main {
    font-size: 28px; } }
@media all and (max-width: 480px) {
  .about01 h3 {
    font-size: 28px; }
  .about01 p {
    font-size: 16px;
    text-align: left; }
  .about01 figure {
    margin-top: 40px; }
    .about01 figure img {
      height: 200px; }
  .about01 .philosophy {
    font-size: 16px;
    line-height: 2.0; }
  .about01 .main {
    font-size: 20px; } }

.about02 {
  background-color: #f5f5f5;
  box-sizing: border-box;
  padding: 80px 0; }
  .about02 h3 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 36px; }
  .about02 .wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 40px; }
  .about02 p {
    width: 54%; }
    .about02 p span {
      display: block;
      text-align: right;
      font-family: "Noto Serif JP", serif;
      font-size: 20px;
      margin-top: 10px; }
  .about02 figure {
    width: 40%; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .about02 {
      padding: 60px 0; }
      .about02 h3 {
        font-family: "Noto Serif JP", serif;
        font-size: 28px; }
      .about02 .wrapper {
        display: block;
        margin-top: 20px; }
      .about02 p {
        width: 100%; }
      .about02 figure {
        width: 80%;
        margin: 40px auto 0; } }
  @media all and (max-width: 480px) {
    .about02 {
      padding: 60px 0; }
      .about02 h3 {
        font-family: "Noto Serif JP", serif;
        font-size: 28px; }
      .about02 .wrapper {
        display: block;
        margin-top: 20px; }
      .about02 p {
        width: 100%; }
      .about02 figure {
        width: 100%;
        margin: 40px auto 0; } }

.about03 {
  margin-top: 80px; }
  .about03 h3 {
    font-size: 24px;
    font-weight: 700; }
  .about03 dl {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px; }
    .about03 dl dt {
      width: 25%; }
    .about03 dl dd {
      width: 75%; }
  .about03 dt {
    padding: 15px;
    border-bottom: solid 1px #CCC; }
    .about03 dt:first-of-type {
      border-top: solid 1px #CCC; }
  .about03 dd {
    padding: 15px;
    border-bottom: solid 1px #CCC; }
    .about03 dd:first-of-type {
      border-top: solid 1px #CCC; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .about03 {
      margin-top: 60px; } }
  @media all and (max-width: 480px) {
    .about03 {
      margin-top: 60px; }
      .about03 h3 {
        font-size: 22px;
        font-weight: 700; }
      .about03 dl {
        display: flex;
        flex-wrap: wrap;
        margin-top: 20px;
        display: block; }
        .about03 dl dt {
          width: 25%; }
        .about03 dl dd {
          width: 75%; }
        .about03 dl dt {
          width: 100%; }
        .about03 dl dd {
          width: 100%; }
      .about03 dt {
        padding: 15px 10px 0;
        border-bottom: none; }
        .about03 dt:first-of-type {
          border-top: solid 1px #CCC; }
      .about03 dd {
        padding: 15px 10px; }
        .about03 dd:first-of-type {
          border-top: none; } }

.flow h3 {
  font-size: 28px;
  background-color: #f5f5f5;
  border-left: solid 5px #31921F;
  padding: 10px;
  margin-top: 60px; }
  .flow h3:first-of-type {
    margin-top: 0; }
.flow > p {
  margin: 24px 0;
  font-size: 28px;
  font-weight: bold;
  text-align: center; }
.flow span {
  color: #2827A0; }
.flow dl {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px #CCC;
  margin-top: 20px; }
  .flow dl dt {
    width: 25%; }
  .flow dl dd {
    width: 75%; }
  .flow dl dt {
    background-color: #f5f5f5;
    padding: 20px;
    border-bottom: solid 1px #CCC; }
    .flow dl dt:last-of-type {
      border-bottom: none; }
  .flow dl dd {
    padding: 20px;
    border-bottom: solid 1px #CCC; }
    .flow dl dd:last-of-type {
      border-bottom: none; }
.flow li {
  margin-top: 20px; }
  .flow li .h_tl {
    font-size: 20px;
    font-weight: 700;
    border-bottom: solid 1px #31921F;
    padding: 0 5px 5px; }
  .flow li .content {
    margin-top: 5px; }
@media all and (min-width: 481px) and (max-width: 768px) {
  .flow h3 {
    margin-top: 40px; }
  .flow > p {
    font-size: 24px; }
  .flow dl {
    margin-top: 15px; }
    .flow dl dt {
      padding: 15px; }
    .flow dl dd {
      padding: 15px; }
  .flow li {
    margin-top: 15px; }
    .flow li .h_tl {
      font-size: 15px; } }
@media all and (max-width: 480px) {
  .flow h3 {
    margin-top: 40px; }
  .flow > p {
    font-size: 16px; }
  .flow dl {
    margin-top: 15px; }
    .flow dl dt {
      padding: 15px; }
    .flow dl dd {
      padding: 15px; }
  .flow li {
    margin-top: 15px; }
    .flow li .h_tl {
      font-size: 15px; } }

.policy dt {
  font-size: 18px;
  border-bottom: solid 1px #707F89;
  padding: 0 5px 5px;
  margin-top: 25px; }
.policy dd {
  margin-top: 5px; }

.sitemap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
.sitemap li {
  width: 48%; }
.sitemap a {
  display: block;
  border-bottom: solid 1px #CCC;
  font-size: 20px;
  padding: 15px; }
  .sitemap a::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 700;
    font-size: 90%;
    padding-right: 0.4rem;
    position: static;
    display: inline-block;
    top: 0;
    left: 0; }
  .sitemap a:hover {
    color: #FF8000; }
@media all and (min-width: 481px) and (max-width: 768px) {
  .sitemap a {
    font-size: 16px;
    padding: 10px; } }
@media all and (max-width: 480px) {
  .sitemap ul {
    display: block; }
  .sitemap li {
    width: 100%; }
  .sitemap a {
    font-size: 16px;
    padding: 10px; } }

/* Scss Document */
/* Scss Document */
a {
  display: inline-block; }

/*------------------------------------------------
デスクトップ
------------------------------------------------*/
.contact dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px; }
  .contact dl dt {
    width: 25%; }
  .contact dl dd {
    width: 75%; }
.contact dt {
  padding: 20px;
  background-color: #f5f5f5;
  border-bottom: solid 1px #ccc; }
  .contact dt:first-of-type {
    border-top: solid 1px #ccc; }
.contact dd {
  padding: 20px;
  border-bottom: solid 1px #ccc; }
  .contact dd:first-of-type {
    border-top: solid 1px #ccc; }
.contact input {
  height: 50px;
  border: solid 1px #CCC;
  border-radius: 5px;
  padding: 5px; }
.contact input[type='checkbox'] {
  height: 21px; }
.contact input[type='submit'] {
  display: inline-block;
  height: auto;
  padding: 10px 40px;
  background-color: #31921F;
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  border: none;
  margin-left: 16px; }
.contact textarea {
  width: 100%;
  border: solid 1px #CCC;
  border-radius: 5px;
  padding: 5px; }
.contact center {
  margin-top: 40px; }
.contact .must {
  display: inline-block;
  font-weight: normal;
  font-size: 12px;
  background-color: red;
  margin-left: 10px;
  border-radius: 5px;
  color: #FFF;
  padding: 2px 5px; }
.contact a {
  color: #0066C0;
  text-decoration: underline; }
  .contact a:hover {
    text-decoration: none; }
@media all and (min-width: 481px) and (max-width: 768px) {
  .contact dl {
    display: block;
    margin-top: 20px; }
    .contact dl dt {
      width: 100%; }
    .contact dl dd {
      width: 100%; }
  .contact dt {
    padding: 20px;
    background-color: #f5f5f5;
    border-bottom: solid 0px #ccc; }
    .contact dt:first-of-type {
      border-top: solid 0px #ccc; }
  .contact dd {
    padding: 20px;
    border-bottom: solid 0px #ccc; }
    .contact dd:first-of-type {
      border-top: solid 0px #ccc; }
  .contact input {
    height: 45px; }
  .contact input[type='checkbox'] {
    height: 21px; }
  .contact input[type='submit'] {
    padding: 10px 40px;
    font-size: 18px; } }
@media all and (max-width: 480px) {
  .contact dl {
    display: block;
    margin-top: 20px; }
    .contact dl dt {
      width: 100%; }
    .contact dl dd {
      width: 100%; }
  .contact dt {
    padding: 20px;
    background-color: #f5f5f5;
    border-bottom: solid 0px #ccc; }
    .contact dt:first-of-type {
      border-top: solid 0px #ccc; }
  .contact dd {
    padding: 20px;
    border-bottom: solid 0px #ccc; }
    .contact dd:first-of-type {
      border-top: solid 0px #ccc; }
  .contact input {
    height: 45px; }
  .contact input[type='checkbox'] {
    height: 21px; }
  .contact input[type='submit'] {
    padding: 10px 40px;
    font-size: 16px;
    margin-top: 16px;
    margin-left: 0px; } }

/*------------------------------------------------
デスクトップ
------------------------------------------------*/
#hero {
  text-align: right;
  position: relative; }
  #hero .slider-item {
    min-height: 85vh;
    background-blend-mode: overlay;
    background-color: rgba(0, 0, 0, 0.15);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
  #hero .about {
    position: absolute;
    display: inline-block;
    z-index: 1;
    top: 50%;
    left: 63%;
    margin: 0 8px; }
  #hero .slider-item01 {
    background-image: url("../image/hero.jpg"); }
  #hero .slider-item02 {
    background-image: url("../image/hero-02.jpg"); }
  #hero .slider-item03 {
    background-image: url("../image/hero-03.jpg"); }
  #hero h2, #hero .content {
    font-family: "Noto Serif JP", serif;
    color: #FFF;
    text-align: left;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.45); }
  #hero h2 {
    font-size: 44px;
    font-weight: 500; }
  #hero .content {
    line-height: 2em;
    margin-top: 10px;
    font-size: 22px; }
  #hero .btn {
    text-align: left;
    margin-top: 25px; }
    #hero .btn a {
      display: inline-block;
      padding: 12px 35px;
      border-radius: 4px;
      background-color: #FFF;
      transition: 0.3s; }
      #hero .btn a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f138";
        font-weight: 700;
        padding-left: 0.8rem;
        position: static;
        display: inline-block;
        font-size: 14px;
        top: 0;
        left: 0;
        color: #31921F; }
      #hero .btn a:hover {
        background-color: #31921F;
        color: #FFF; }
        #hero .btn a:hover::after {
          color: #FFF; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    #hero .about {
      left: 50%; }
    #hero h2 {
      font-size: 40px; }
    #hero .content {
      font-size: 20px; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #hero .about {
      top: 40%;
      left: 40%; }
    #hero h2 {
      font-size: 36px; }
    #hero .content {
      font-size: 18px; } }
  @media all and (max-width: 480px) {
    #hero {
      background-position: bottom center; }
      #hero .about {
        top: 30%;
        left: 0;
        margin: 0 5%; }
      #hero h2 {
        font-size: 36px; }
      #hero .content {
        font-size: 16px; } }

#newsArea {
  padding: 60px 0; }
  #newsArea .container {
    position: relative; }
  #newsArea h2 {
    font-size: 28px;
    /*font-weight: 700;
    color: $mc;*/ }
  #newsArea .box {
    margin-top: 20px; }
    #newsArea .box a {
      display: flex;
      width: 100%;
      padding: 15px 20px;
      border-bottom: solid 1px #D1D1D1; }
      #newsArea .box a:first-of-type {
        border-top: solid 1px #D1D1D1; }
      #newsArea .box a:hover {
        color: #FF8000; }
        #newsArea .box a:hover .title {
          text-decoration: none; }
  #newsArea .date {
    width: 20%;
    font-weight: 700; }
  #newsArea .title {
    width: 80%;
    text-decoration: underline; }
  #newsArea .btn {
    position: absolute;
    right: 0px;
    top: 0px; }
    #newsArea .btn a {
      border: solid 1px #31921F;
      padding: 10px 30px;
      position: relative;
      background-color: #31921F;
      color: #FFF;
      transition: 0.3s;
      border-radius: 5px;
      font-size: 14px;
      padding: 5px 15px; }
      #newsArea .btn a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f138";
        font-weight: 700;
        padding-left: 0.8rem;
        position: static;
        display: inline-block;
        font-size: 14px;
        top: 0;
        left: 0;
        color: #FFF; }
      #newsArea .btn a:hover {
        background-color: #FFF;
        color: #31921F; }
        #newsArea .btn a:hover::after {
          color: #31921F; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #newsArea {
      padding: 40px 0; } }
  @media all and (max-width: 480px) {
    #newsArea {
      padding: 40px 0; }
      #newsArea h2 {
        font-size: 24px;
        /*font-weight: 700;
        color: $mc;*/ }
      #newsArea .box {
        margin-top: 20px; }
        #newsArea .box a {
          display: block;
          width: 100%;
          padding: 10px 10px; }
      #newsArea .date {
        width: 100%; }
      #newsArea .title {
        width: 100%; }
      #newsArea .btn {
        top: 5px; }
        #newsArea .btn a {
          padding: 3px 10px; } }

.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }

.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#indexItem {
  color: #FFF;
  background-image: url("../image/index_bg01.jpg");
  background-blend-mode: overlay;
  background-color: rgba(0, 0, 0, 0.55);
  background-position: center top;
  padding: 80px 0;
  margin-bottom: 40px; }
  #indexItem .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    #indexItem .wrapper > div {
      width: 62%; }
    #indexItem .wrapper figure {
      width: 32%; }
  #indexItem h2 .h_tl {
    font-family: "Noto Serif JP", serif;
    font-size: 32px; }
  #indexItem .content {
    margin-top: 25px; }
  #indexItem .btn {
    margin-top: 40px;
    text-align: center; }
    #indexItem .btn a {
      border: solid 1px #31921F;
      padding: 10px 30px;
      position: relative;
      background-color: #31921F;
      color: #FFF;
      transition: 0.3s;
      border-radius: 5px;
      color: #FFF; }
      #indexItem .btn a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f138";
        font-weight: 700;
        padding-left: 0.8rem;
        position: static;
        display: inline-block;
        font-size: 14px;
        top: 0;
        left: 0;
        color: #FFF; }
      #indexItem .btn a:hover {
        background-color: #FFF;
        color: #31921F; }
        #indexItem .btn a:hover::after {
          color: #31921F; }
      #indexItem .btn a:hover {
        border: solid 1px #31921F; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #indexItem {
      padding: 60px 0; }
      #indexItem .wrapper {
        display: block; }
        #indexItem .wrapper > div {
          width: 100%; }
        #indexItem .wrapper figure {
          width: 66%;
          margin: 40px auto 0; }
      #indexItem h2 .h_tl {
        font-size: 28px; } }
  @media all and (max-width: 480px) {
    #indexItem {
      padding: 60px 0; }
      #indexItem .wrapper {
        display: block; }
        #indexItem .wrapper > div {
          width: 100%; }
        #indexItem .wrapper figure {
          width: 56%;
          margin: 40px auto 0; }
      #indexItem h2 .h_tl {
        font-size: 28px; } }

#indexMedia {
  padding: 80px 0 0; }
  #indexMedia h2 {
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif; }
    #indexMedia h2::after {
      content: "";
      display: block;
      width: 60px;
      height: 5px;
      background-color: #31921F;
      margin: 5px auto 0;
      border-radius: 10px; }
  #indexMedia > p {
    text-align: center;
    margin-top: 20px; }
  #indexMedia .swiper-container {
    margin-top: 20px;
    background-color: #F0F3F5;
    padding: 40px 0; }
  #indexMedia .swiper-slide {
    padding: 0 10px; }
    #indexMedia .swiper-slide a {
      padding: 15px;
      background-color: #FFF;
      border-radius: 4px;
      display: inline-block; }
      #indexMedia .swiper-slide a figure {
        overflow: hidden; }
        #indexMedia .swiper-slide a figure img {
          transition: 0.3s; }
      #indexMedia .swiper-slide a:hover img {
        transform: scale(1.2);
        overflow: hidden; }
    #indexMedia .swiper-slide figure {
      border-radius: 4px; }
    #indexMedia .swiper-slide img {
      height: 180px;
      object-fit: cover;
      object-position: center; }
  #indexMedia .date {
    font-size: 14px;
    color: #AAA;
    margin-top: 10px; }
  #indexMedia .title {
    transition: 0.3s;
    font-size: 20px;
    font-weight: 700; }
  #indexMedia .content {
    margin-top: 10px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    white-space: normal;
    overflow: hidden; }
  #indexMedia a:hover .title {
    color: #FF8000; }
  #indexMedia .btn {
    text-align: center;
    margin-top: 40px; }
    #indexMedia .btn a {
      border: solid 1px #31921F;
      padding: 10px 30px;
      position: relative;
      background-color: #31921F;
      color: #FFF;
      transition: 0.3s;
      border-radius: 5px; }
      #indexMedia .btn a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f138";
        font-weight: 700;
        padding-left: 0.8rem;
        position: static;
        display: inline-block;
        font-size: 14px;
        top: 0;
        left: 0;
        color: #FFF; }
      #indexMedia .btn a:hover {
        background-color: #FFF;
        color: #31921F; }
        #indexMedia .btn a:hover::after {
          color: #31921F; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #indexMedia {
      padding: 60px 0 0; }
      #indexMedia h2 {
        font-size: 28px; }
      #indexMedia .title {
        font-size: 18px; } }
  @media all and (max-width: 480px) {
    #indexMedia {
      padding: 60px 0 0; }
      #indexMedia h2 {
        font-size: 28px; }
      #indexMedia .title {
        font-size: 18px; } }

#indexMbr {
  padding: 80px 0; }
  #indexMbr h2 {
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif; }
    #indexMbr h2::after {
      content: "";
      display: block;
      width: 60px;
      height: 5px;
      background-color: #31921F;
      margin: 5px auto 0;
      border-radius: 10px; }
  #indexMbr > p {
    text-align: center;
    margin-top: 20px; }
  #indexMbr .wrapper {
    display: flex;
    justify-content: center;
    margin-top: 20px; }
    #indexMbr .wrapper > a {
      display: inline-block;
      width: 40%;
      margin: 0 1%;
      position: relative; }
      #indexMbr .wrapper > a figure {
        overflow: hidden; }
        #indexMbr .wrapper > a figure img {
          transition: 0.3s; }
      #indexMbr .wrapper > a:hover img {
        transform: scale(1.2);
        overflow: hidden; }
      #indexMbr .wrapper > a::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.35);
        top: 0;
        left: 0;
        z-index: 1; }
    #indexMbr .wrapper .txt {
      position: absolute;
      color: #FFF;
      width: 100%;
      top: 50%;
      left: 0%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      z-index: 2;
      text-align: center; }
    #indexMbr .wrapper img {
      height: 340px;
      object-fit: cover; }
    #indexMbr .wrapper .h_tl {
      font-size: 32px;
      font-family: "Noto Serif JP", serif; }
    #indexMbr .wrapper .content {
      margin-top: 10px; }
  @media all and (min-width: 769px) and (max-width: 1024px) {
    #indexMbr .wrapper > a {
      width: 46%; }
    #indexMbr .wrapper img {
      height: 280px;
      object-fit: cover; } }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #indexMbr {
      padding: 60px 0; }
      #indexMbr h2 {
        font-size: 28px; }
      #indexMbr .wrapper {
        display: block; }
        #indexMbr .wrapper > a {
          display: block;
          width: 90%;
          margin: 0 auto; }
          #indexMbr .wrapper > a:last-of-type {
            margin-top: 10px; }
        #indexMbr .wrapper img {
          height: 280px; }
        #indexMbr .wrapper .h_tl {
          font-size: 28px;
          font-family: "Noto Serif JP", serif; } }
  @media all and (max-width: 480px) {
    #indexMbr {
      padding: 60px 0; }
      #indexMbr h2 {
        font-size: 28px; }
      #indexMbr .wrapper {
        display: block; }
        #indexMbr .wrapper > a {
          display: block;
          width: 94%;
          margin: 0 auto; }
          #indexMbr .wrapper > a:last-of-type {
            margin-top: 10px; }
        #indexMbr .wrapper img {
          height: 220px; }
        #indexMbr .wrapper .h_tl {
          font-size: 28px;
          font-family: "Noto Serif JP", serif; }
        #indexMbr .wrapper .content {
          padding: 0 10px; } }

#indexVoice {
  padding: 0 0 80px; }
  #indexVoice h2 {
    font-size: 24px;
    font-weight: 700;
    border-bottom: solid 1px #707F89;
    padding: 0 5px 5px;
    color: #31921F; }
  #indexVoice .wrapper {
    display: flex; }
  #indexVoice a {
    display: block;
    margin: 20px 1% 0;
    width: 23%; }
  #indexVoice img {
    height: 120px;
    object-fit: cover; }
  #indexVoice .title {
    font-size: 18px;
    font-weight: 700;
    margin-top: 10px;
    transition: 0.3s; }
  #indexVoice .content {
    font-size: 14px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    white-space: normal;
    overflow: hidden; }
  #indexVoice a:hover .title {
    color: #FF8000; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    #indexVoice {
      padding: 0 0 60px; }
      #indexVoice h2 {
        font-size: 22px; }
      #indexVoice .wrapper {
        flex-wrap: wrap; }
      #indexVoice a {
        display: block;
        margin: 20px 1% 0;
        width: 48%; }
      #indexVoice img {
        height: 160px;
        object-fit: cover; }
      #indexVoice .title {
        font-size: 16px; } }
  @media all and (max-width: 480px) {
    #indexVoice {
      padding: 0 0 60px; }
      #indexVoice h2 {
        font-size: 22px; }
      #indexVoice .wrapper {
        flex-wrap: wrap; }
      #indexVoice a {
        display: block;
        margin: 20px 1% 0;
        width: 100%; }
      #indexVoice img {
        height: 160px;
        object-fit: cover; }
      #indexVoice .title {
        font-size: 16px; } }

.notfound {
  width: 90%;
  margin: auto;
  padding: 100px 0;
  text-align: center; }
  @media all and (min-width: 481px) and (max-width: 768px) {
    .notfound {
      padding: 32px 0 64px; } }
  @media (max-width: 480px) {
    .notfound {
      padding: 32px 0 64px; } }
  .notfound h2 {
    width: 70%;
    text-align: left;
    font-size: 32px;
    padding-bottom: 32px; }
    @media (max-width: 480px) {
      .notfound h2 {
        width: 90%; } }
  .notfound dl {
    border: 2px solid #31921F;
    padding: 40px;
    display: inline-block; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dl {
        padding: 24px; } }
    @media (max-width: 480px) {
      .notfound dl {
        padding: 24px; } }
  .notfound dt {
    font-size: 24px;
    padding-bottom: 16px;
    text-align: left; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dt {
        font-size: 20px; } }
    @media (max-width: 480px) {
      .notfound dt {
        font-size: 20px; } }
  .notfound dd {
    font-size: 16px;
    text-align: left; }
    @media all and (min-width: 481px) and (max-width: 768px) {
      .notfound dd {
        font-size: 14px; } }
    @media (max-width: 480px) {
      .notfound dd {
        font-size: 14px; } }

.formText {
  margin: 24px 0; }

.formBtn {
  display: flex;
  justify-content: center; }
  @media (max-width: 480px) {
    .formBtn {
      display: block; } }

/*20221118追加*/
#indexVoice .member-btn {
  text-align: center;
  width: 300px;
  margin: 25px auto 0; }
  #indexVoice .member-btn a {
    width: 100%;
    text-align: center;
    display: inline-block;
    padding: 12px 0;
    border-radius: 4px;
    background-color: #31921F;
    color: #FFF;
    border: 1px solid #31921F;
    transition: 0.3s;
    font-size: 20px; }
    #indexVoice .member-btn a::after {
      font-family: "Font Awesome 5 Free";
      content: "\f138";
      font-weight: 700;
      padding-left: 0.8rem;
      position: static;
      display: inline-block;
      font-size: 16px;
      top: 0;
      left: 0;
      color: #FFF; }
    #indexVoice .member-btn a:hover {
      background-color: #FFF;
      color: #31921F;
      border: 1px solid #31921F; }
      #indexVoice .member-btn a:hover::after {
        color: #31921F; }
