@charset "UTF-8";
/* CSS Document */
section h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 45px;
  font-size: 4.5rem;
  color: #22923b;
  letter-spacing: 0.12em;
  text-align: center;
  margin-bottom: 0;
  line-height: 1;
  font-weight: 700; }
  @media screen and (max-width: 991px) {
    section h2 {
      font-size: 40px;
      font-size: 4rem; } }
  @media screen and (max-width: 575px) {
    section h2 {
      font-size: 35px;
      font-size: 3.5rem; } }
  section h2 span {
    display: block;
    font-family: "NotoSansCJKjp";
    font-weight: normal;
    font-size: 16px;
    font-size: 1.6rem;
    color: #4d4d4d;
    letter-spacing: 0.04em;
    margin-top: 2rem; }
    @media screen and (max-width: 575px) {
      section h2 span {
        margin-top: 1.5rem; } }

.inner {
  width: 85%;
  margin: auto; }
  @media screen and (max-width: 991px) {
    .inner {
      width: 100%; } }

#recruit-top {
  position: relative;
  margin-bottom: 8rem; }
  @media screen and (max-width: 991px) {
    #recruit-top {
      margin-bottom: 6rem; } }
  @media screen and (max-width: 575px) {
    #recruit-top {
      margin-bottom: 4rem; } }
  #recruit-top .swiper-img {
    max-width: 100%;
    height: 816px;
    background-position: center;
    background-size: cover; }
    @media screen and (max-width: 1399px) {
      #recruit-top .swiper-img {
        height: 800px; } }
    @media screen and (max-width: 1199px) {
      #recruit-top .swiper-img {
        height: 640px; } }
    @media screen and (max-width: 991px) {
      #recruit-top .swiper-img {
        height: 570px; } }
    @media screen and (max-width: 767px) {
      #recruit-top .swiper-img {
        height: 470px; } }
    @media screen and (max-width: 575px) {
      #recruit-top .swiper-img {
        height: 340px; } }
  #recruit-top .img1 {
    background-image: url("../img/recruit-main-1.jpg"); }
  #recruit-top .img2 {
    background-image: url("../img/recruit-main-2.jpg"); }
  #recruit-top .img3 {
    background-image: url("../img/recruit-main-3.jpg"); }
  #recruit-top .recruit-copy {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 2; }
    #recruit-top .recruit-copy h2 {
      font-family: "Noto Serif JP", serif;
      font-size: 67px;
      font-size: 6.7rem;
      font-weight: 900;
      letter-spacing: 0.04em;
      color: #fff;
      text-shadow: 0px 0px 12px #159831;
      -webkit-filter: drop-shadow(0px 0px 2px #22923b);
      filter: drop-shadow(0px 0px 2px #22923b);
      margin: 0;
      text-align: center;
      line-height: 1; }
      @media screen and (max-width: 1199px) {
        #recruit-top .recruit-copy h2 {
          font-size: 55px;
          font-size: 5.5rem; } }
      @media screen and (max-width: 991px) {
        #recruit-top .recruit-copy h2 {
          font-size: 50px;
          font-size: 5rem; } }
      @media screen and (max-width: 767px) {
        #recruit-top .recruit-copy h2 {
          font-size: 45px;
          font-size: 4.5rem; } }
      @media screen and (max-width: 575px) {
        #recruit-top .recruit-copy h2 {
          font-size: 30px;
          font-size: 3rem;
          font-weight: bold;
          letter-spacing: 0; } }
      #recruit-top .recruit-copy h2 span {
        display: block;
        font-family: "Noto Serif JP", serif;
        font-size: 30px;
        font-size: 3rem;
        color: #fff;
        letter-spacing: 0.1em;
        margin-top: 4rem; }
        @media screen and (max-width: 1199px) {
          #recruit-top .recruit-copy h2 span {
            font-size: 24px;
            font-size: 2.4rem;
            margin-top: 3.5rem; } }
        @media screen and (max-width: 991px) {
          #recruit-top .recruit-copy h2 span {
            font-size: 23px;
            font-size: 2.3rem; } }
        @media screen and (max-width: 767px) {
          #recruit-top .recruit-copy h2 span {
            font-size: 20px;
            font-size: 2rem; } }
        @media screen and (max-width: 575px) {
          #recruit-top .recruit-copy h2 span {
            font-size: 18px;
            font-size: 1.8rem;
            margin-top: 3rem;
            line-height: 1.7; } }

#message .message-bg {
  background-image: linear-gradient(90deg, rgba(91, 255, 86, 0.2), rgba(255, 241, 0, 0.2));
  padding: 6rem 0 5.5rem;
  text-align: center; }
  @media screen and (max-width: 575px) {
    #message .message-bg {
      padding: 4rem 0; } }
  #message .message-bg h2 {
    margin-bottom: 3.5rem; }
  #message .message-bg p {
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.85;
    letter-spacing: 0.08em; }
    #message .message-bg p span {
      color: #22923b; }
    @media screen and (max-width: 991px) {
      #message .message-bg p {
        font-size: 18px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 575px) {
      #message .message-bg p {
        font-size: 16px;
        font-size: 1.6rem;
        text-align: justify;
        line-height: 1.75; } }
  #message .message-bg img {
    width: 160px; }

#about h2 {
  margin: 8rem 0 10rem; }
  @media screen and (max-width: 991px) {
    #about h2 {
      margin: 6rem 0 8rem; } }
#about .feature {
  background-image: linear-gradient(90deg, #33b33b, #a0e700);
  padding-top: 1px;
  padding-bottom: 8rem; }
  @media screen and (max-width: 991px) {
    #about .feature {
      padding-bottom: 6rem; } }
  @media screen and (max-width: 575px) {
    #about .feature {
      padding-bottom: 4rem; } }
  #about .feature .about-link {
    display: flex;
    align-items: center;
    background-image: url("../img/about-us.jpg");
    background-position: center;
    height: 240px;
    margin-top: -4.5rem; }
    @media screen and (max-width: 991px) {
      #about .feature .about-link {
        height: 200px; } }
    @media screen and (max-width: 575px) {
      #about .feature .about-link {
        height: 180px; } }
    #about .feature .about-link ul {
      padding-left: 8rem;
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        #about .feature .about-link ul {
          padding-left: 6rem; } }
      @media screen and (max-width: 575px) {
        #about .feature .about-link ul {
          padding-left: 4rem; } }
      #about .feature .about-link ul li:first-child {
        margin-bottom: 2rem; }
      #about .feature .about-link ul li:hover a {
        box-shadow: none;
        background-color: #1a1a1a;
        color: #fff;
        transform: translate(4px, 4px); }
        #about .feature .about-link ul li:hover a::after {
          background-image: url("../img/link-arrow-w.svg"); }
      #about .feature .about-link ul li a {
        position: relative;
        display: block;
        font-size: 20px;
        font-size: 2rem;
        color: #22923b;
        padding: 2rem 0 2rem 5rem;
        width: 360px;
        letter-spacing: 0.1em;
        background-color: #fff;
        transition: all 0.3s ease; }
        #about .feature .about-link ul li a::after {
          content: "";
          position: absolute;
          display: inline-block;
          background-image: url("../img/link-arrow.svg");
          width: 14px;
          height: 26px;
          top: 0;
          bottom: 0;
          right: 3rem;
          margin: auto; }
        @media screen and (max-width: 991px) {
          #about .feature .about-link ul li a {
            width: 300px;
            padding: 1.75rem 0 1.75rem 4rem; } }
        @media screen and (max-width: 767px) {
          #about .feature .about-link ul li a {
            font-size: 18px;
            font-size: 1.8rem;
            width: 260px;
            padding: 1.5rem 0 1.5rem 3rem; } }
        @media screen and (max-width: 575px) {
          #about .feature .about-link ul li a {
            font-size: 18px;
            font-size: 1.8rem;
            width: 260px;
            padding: 1.25rem 0 1.25rem 2rem; } }
  #about .feature h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    border-bottom: solid 2px #fff;
    padding: 6rem 0 2.5rem;
    margin-bottom: 3rem; }
    #about .feature h3::before {
      content: "";
      display: inline-block;
      background-image: url("../img/features-icon.svg");
      width: 50px;
      height: 50px;
      margin-right: 1.5rem; }
    @media screen and (max-width: 991px) {
      #about .feature h3 {
        font-size: 28px;
        font-size: 2.8rem;
        padding: 4.5rem 0 2rem; }
        #about .feature h3::before {
          width: 45px;
          height: 45px; } }
    @media screen and (max-width: 575px) {
      #about .feature h3 {
        font-size: 25px;
        font-size: 2.5rem;
        padding: 3.5rem 0 1.5rem; }
        #about .feature h3::before {
          width: 40px;
          height: 40px; } }
  #about .feature p {
    color: #fff;
    text-align: center;
    letter-spacing: 0.04em;
    margin-bottom: 4rem; }
    @media screen and (max-width: 575px) {
      #about .feature p {
        letter-spacing: 0;
        margin-bottom: 3rem; } }
  #about .feature .inner > .row {
    margin: 0 -1rem; }
    #about .feature .inner > .row > div {
      padding: 0 1rem;
      margin-bottom: 2.5rem; }
  #about .feature .data-box {
    background-color: #fff;
    text-align: center;
    padding: 2rem;
    height: 100%; }
    #about .feature .data-box h4 {
      font-size: 20px;
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0.04em;
      margin-bottom: 2rem; }
      @media screen and (max-width: 767px) {
        #about .feature .data-box h4 {
          margin-bottom: 1.5rem; } }
    #about .feature .data-box img {
      width: 310px; }
      @media screen and (max-width: 991px) {
        #about .feature .data-box img {
          width: 220px; } }
      @media screen and (max-width: 767px) {
        #about .feature .data-box img {
          width: 190px; } }
      @media screen and (max-width: 575px) {
        #about .feature .data-box img {
          width: 250px; } }
    #about .feature .data-box ul {
      display: inline-block;
      margin-top: 2.5rem; }
      @media screen and (max-width: 991px) {
        #about .feature .data-box ul {
          margin-top: 0.5rem; } }
      @media screen and (max-width: 767px) {
        #about .feature .data-box ul {
          margin: 0; } }
      #about .feature .data-box ul li {
        text-align: left;
        line-height: 2; }
        #about .feature .data-box ul li::before {
          content: "・";
          color: #22923b; }
  #about .feature .feature-box {
    display: flex;
    background-color: #fff;
    height: 280px; }
    @media screen and (max-width: 991px) {
      #about .feature .feature-box {
        height: 210px; } }
    @media screen and (max-width: 767px) {
      #about .feature .feature-box {
        height: 190px; } }
    @media screen and (max-width: 575px) {
      #about .feature .feature-box {
        flex-wrap: wrap;
        height: auto; } }
    #about .feature .feature-box .feature-img {
      width: 43%; }
      @media screen and (max-width: 767px) {
        #about .feature .feature-box .feature-img {
          width: 40%; } }
      @media screen and (max-width: 575px) {
        #about .feature .feature-box .feature-img {
          width: 100%; } }
      #about .feature .feature-box .feature-img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #about .feature .feature-box .feature-text {
      display: flex;
      align-items: center;
      width: 57%;
      padding-left: 5rem; }
      @media screen and (max-width: 1199px) {
        #about .feature .feature-box .feature-text {
          padding-left: 4rem; } }
      @media screen and (max-width: 767px) {
        #about .feature .feature-box .feature-text {
          width: 60%;
          padding-left: 2rem; } }
      @media screen and (max-width: 575px) {
        #about .feature .feature-box .feature-text {
          width: 100%;
          padding: 2rem; } }
      #about .feature .feature-box .feature-text dl {
        line-height: 1.75;
        margin: 0;
        width: 410px; }
        @media screen and (max-width: 1199px) {
          #about .feature .feature-box .feature-text dl {
            width: 360px; } }
        @media screen and (max-width: 991px) {
          #about .feature .feature-box .feature-text dl {
            width: 320px;
            line-height: 1.7; } }
        @media screen and (max-width: 767px) {
          #about .feature .feature-box .feature-text dl {
            width: 270px;
            line-height: 1.6; } }
        @media screen and (max-width: 575px) {
          #about .feature .feature-box .feature-text dl {
            width: 100%; } }
        #about .feature .feature-box .feature-text dl dt {
          font-size: 25px;
          font-size: 2.5rem;
          font-weight: bold;
          color: #22923b;
          margin-bottom: 2rem; }
          @media screen and (max-width: 1199px) {
            #about .feature .feature-box .feature-text dl dt {
              font-size: 23px;
              font-size: 2.3rem; } }
          @media screen and (max-width: 991px) {
            #about .feature .feature-box .feature-text dl dt {
              font-size: 21px;
              font-size: 2.1rem;
              margin-bottom: 1rem; } }
          @media screen and (max-width: 767px) {
            #about .feature .feature-box .feature-text dl dt {
              font-size: 18px;
              font-size: 1.8rem;
              margin-bottom: 1rem; } }
        #about .feature .feature-box .feature-text dl dd {
          color: #22923b;
          margin: 0; }

#members {
  padding-bottom: 6rem; }
  @media screen and (max-width: 991px) {
    #members {
      padding-bottom: 4rem; } }
  #members h2 {
    margin: 8rem 0 4rem; }
    @media screen and (max-width: 991px) {
      #members h2 {
        margin: 6rem 0 4rem; } }
    @media screen and (max-width: 575px) {
      #members h2 {
        margin: 4rem 0 3rem; } }
    #members h2 + p {
      text-align: center;
      letter-spacing: 0.08em;
      margin-bottom: 3rem; }
  @media screen and (max-width: 767px) {
    #members .row > div {
      margin-bottom: 6rem; } }
  #members .members-box {
    position: relative;
    color: #000; }
    #members .members-box .members-img {
      height: 420px;
      overflow: hidden; }
      @media screen and (max-width: 1199px) {
        #members .members-box .members-img {
          height: 340px; } }
      @media screen and (max-width: 991px) {
        #members .members-box .members-img {
          height: 260px; } }
      @media screen and (max-width: 767px) {
        #members .members-box .members-img {
          height: 340px; } }
      @media screen and (max-width: 575px) {
        #members .members-box .members-img {
          height: 230px; } }
      #members .members-box .members-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: 0.5s; }
    #members .members-box .members-name {
      position: absolute;
      background-image: linear-gradient(90deg, #33b33b, #a0e700);
      color: #fff;
      width: 280px;
      margin-top: -3rem;
      margin-left: 1.5rem;
      padding: 1.5rem; }
      @media screen and (max-width: 991px) {
        #members .members-box .members-name {
          width: 170px;
          padding: 1rem;
          margin-left: 1rem; } }
      @media screen and (max-width: 575px) {
        #members .members-box .members-name {
          width: 190px; } }
      #members .members-box .members-name p {
        font-size: 14.5px;
        font-size: 1.45rem;
        line-height: 1.4;
        margin-bottom: 0; }
        @media screen and (max-width: 575px) {
          #members .members-box .members-name p {
            font-size: 14px;
            font-size: 1.4rem; } }
        #members .members-box .members-name p span {
          display: block;
          font-size: 23.5px;
          font-size: 2.35rem;
          font-weight: 500;
          margin-top: 0.75rem; }
          @media screen and (max-width: 767px) {
            #members .members-box .members-name p span {
              font-size: 20px;
              font-size: 2rem;
              margin-top: 0.2rem; } }
    #members .members-box > p {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.04em;
      text-align: right;
      margin: 1.5rem 0 0; }
      @media screen and (max-width: 991px) {
        #members .members-box > p {
          margin-top: 1rem; } }
      @media screen and (max-width: 575px) {
        #members .members-box > p {
          font-size: 16px;
          font-size: 1.6rem;
          margin-top: 0.5rem; } }
    #members .members-box:hover .members-img img {
      opacity: 0.6;
      transform: scale(1.08); }
    #members .members-box:hover .members-name {
      background-image: none;
      background-color: #000; }
    #members .members-box:hover > p {
      opacity: 0.6; }

#info {
  padding-bottom: 10rem; }
  @media screen and (max-width: 991px) {
    #info {
      padding-bottom: 8rem; } }
  @media screen and (max-width: 575px) {
    #info {
      padding-bottom: 6rem; } }
  #info h2 {
    padding: 8rem 0 4rem; }
    @media screen and (max-width: 991px) {
      #info h2 {
        padding: 6rem 0 4rem; } }
    @media screen and (max-width: 575px) {
      #info h2 {
        padding: 4rem 0 3rem; } }
  #info table {
    width: 100%;
    margin-bottom: 6rem; }
    #info table tr {
      border-bottom: solid 1px rgba(0, 0, 0, 0.5); }
      #info table tr:first-child {
        border-top: solid 1px rgba(0, 0, 0, 0.5); }
      #info table tr th {
        background-color: #dcf1dc;
        font-weight: 400;
        width: 25%;
        padding: 1rem 0 1rem 3rem;
        vertical-align: top; }
        @media screen and (max-width: 991px) {
          #info table tr th {
            padding-left: 2rem; } }
        @media screen and (max-width: 767px) {
          #info table tr th {
            padding: 1rem; } }
        @media screen and (max-width: 575px) {
          #info table tr th {
            display: block;
            width: 100%;
            padding: 0.75rem;
            line-height: 1.7; } }
      #info table tr td {
        padding: 1rem 0 1rem 3rem; }
        @media screen and (max-width: 991px) {
          #info table tr td {
            padding-left: 2rem; } }
        @media screen and (max-width: 767px) {
          #info table tr td {
            padding: 1rem; } }
        @media screen and (max-width: 575px) {
          #info table tr td {
            display: block;
            width: 100%;
            padding: 0.75rem;
            line-height: 1.7; } }
  #info .flow {
    text-align: center; }
    #info .flow h3 {
      font-size: 30px;
      font-size: 3rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      padding-bottom: 2.5rem;
      border-bottom: solid 2px #d3d3d3; }
      @media screen and (max-width: 991px) {
        #info .flow h3 {
          font-size: 27px;
          font-size: 2.7rem;
          padding-bottom: 2rem; } }
      @media screen and (max-width: 575px) {
        #info .flow h3 {
          font-size: 24px;
          font-size: 2.4rem; } }
    #info .flow dl {
      background-image: linear-gradient(90deg, rgba(51, 179, 59, 0.2), rgba(160, 231, 0, 0.2));
      text-align: center;
      padding: 2.5rem;
      margin-bottom: 0; }
      @media screen and (max-width: 991px) {
        #info .flow dl {
          padding: 2rem; } }
      @media screen and (max-width: 575px) {
        #info .flow dl {
          padding: 1.5rem; } }
      #info .flow dl dt {
        font-size: 20px;
        font-size: 2rem;
        font-weight: 600;
        margin-bottom: 1rem;
        color: #22923b; }
      #info .flow dl dd {
        margin-bottom: 0; }
      #info .flow dl:last-of-type {
        background-image: linear-gradient(90deg, #33b33b, #a0e700);
        margin-bottom: 6.5rem; }
        @media screen and (max-width: 575px) {
          #info .flow dl:last-of-type {
            margin-bottom: 5rem; } }
        #info .flow dl:last-of-type dt {
          font-size: 30px;
          font-size: 3rem;
          color: #fff; }
          @media screen and (max-width: 575px) {
            #info .flow dl:last-of-type dt {
              font-size: 27px;
              font-size: 2.7rem; } }
        #info .flow dl:last-of-type dd {
          color: #fff; }
    #info .flow img {
      width: 10px;
      height: 40px;
      margin: 1rem; }
      @media screen and (max-width: 575px) {
        #info .flow img {
          margin: 0.5rem; } }
    #info .flow a {
      display: block;
      position: relative;
      font-family: "Josefin Sans", sans-serif;
      font-size: 25px;
      font-size: 2.5rem;
      font-weight: 600;
      color: #22923b;
      letter-spacing: 0.12em;
      background-color: #fff100;
      width: 60%;
      border: solid 2px #22923b;
      margin: 0 auto;
      padding: 2rem;
      line-height: 1;
      transition: 0.3s;
      box-shadow: 7px 7px 7px 0px rgba(0, 0, 0, 0.09); }
      #info .flow a span {
        display: block;
        font-family: "NotoSansCJKjp";
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.04em;
        margin-top: 1rem; }
      #info .flow a::after {
        content: "";
        position: absolute;
        display: inline-block;
        background-image: url("../img/link-arrow.svg");
        width: 14px;
        height: 26px;
        top: 0;
        bottom: 0;
        right: 3rem;
        margin: auto; }
      #info .flow a:hover {
        box-shadow: none;
        background-color: #1a1a1a;
        color: #fff;
        transform: translate(4px, 4px);
        border: solid 2px #fff; }
        #info .flow a:hover::after {
          background-image: url("../img/link-arrow-w.svg"); }
      @media screen and (max-width: 767px) {
        #info .flow a {
          width: 75%;
          padding: 1.5rem; } }
      @media screen and (max-width: 575px) {
        #info .flow a {
          font-size: 23px;
          font-size: 2.3rem;
          width: 80%; }
          #info .flow a span {
            margin-top: 0.5rem; } }

#news .news-bg {
  background-image: linear-gradient(90deg, rgba(51, 179, 59, 0.2), rgba(160, 231, 0, 0.2));
  padding: 8rem 0; }
  @media screen and (max-width: 991px) {
    #news .news-bg {
      padding: 6rem 0; } }
  @media screen and (max-width: 575px) {
    #news .news-bg {
      padding: 4rem 0; } }
#news h2 {
  margin-bottom: 3rem; }
#news ul li {
  display: flex;
  border-bottom: solid 1px #22923b;
  padding: 1rem 0 1rem 3rem;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 767px) {
    #news ul li {
      padding-left: 1rem; } }
  @media screen and (max-width: 575px) {
    #news ul li {
      display: block;
      line-height: 1.7; } }
  #news ul li span {
    width: 13%;
    font-size: 13px;
    font-size: 1.3rem; }
    @media screen and (max-width: 1199px) {
      #news ul li span {
        width: 15%; } }
    @media screen and (max-width: 767px) {
      #news ul li span {
        width: 20%; } }
    @media screen and (max-width: 575px) {
      #news ul li span {
        display: block; } }
  #news ul li:first-of-type {
    border-top: solid 1px #22923b; }

@media screen and (max-width: 767px) {
  #ul-members-main {
    background-color: #f5fcf6; } }
#ul-members-main .container {
  position: relative; }
#ul-members-main .umm-img {
  width: 65vw;
  margin-left: calc(50% - 50vw); }
  @media screen and (max-width: 767px) {
    #ul-members-main .umm-img {
      width: 100vw; } }
  @media screen and (max-width: 575px) {
    #ul-members-main .umm-img {
      height: 270px; } }
  #ul-members-main .umm-img img {
    width: 100%; }
    @media screen and (max-width: 575px) {
      #ul-members-main .umm-img img {
        height: 100%;
        object-fit: cover; } }
#ul-members-main .umm-text {
  position: absolute;
  background-image: linear-gradient(90deg, #33b33b, #a0e700);
  padding: 6rem 3rem;
  z-index: 2;
  top: 0;
  bottom: 0;
  right: 0;
  height: fit-content;
  margin: auto;
  width: 475px; }
  @media screen and (max-width: 1199px) {
    #ul-members-main .umm-text {
      padding: 4rem 3rem; } }
  @media screen and (max-width: 991px) {
    #ul-members-main .umm-text {
      padding: 3rem;
      width: 350px; } }
  @media screen and (max-width: 767px) {
    #ul-members-main .umm-text {
      position: inherit;
      width: 90%;
      margin-top: -6rem; } }
  @media screen and (max-width: 575px) {
    #ul-members-main .umm-text {
      padding: 1.5rem; } }
  #ul-members-main .umm-text h3 {
    font-size: 30px;
    font-size: 3rem;
    font-weight: 600;
    color: #fff;
    line-height: 1.75;
    text-align: left;
    margin-bottom: 2.5rem; }
    #ul-members-main .umm-text h3::after {
      content: "";
      display: block;
      border-bottom: solid 1px #fff;
      width: 100px;
      margin-top: 4rem; }
    @media screen and (max-width: 1199px) {
      #ul-members-main .umm-text h3 {
        margin-bottom: 2rem; }
        #ul-members-main .umm-text h3::after {
          margin-top: 3rem; } }
    @media screen and (max-width: 991px) {
      #ul-members-main .umm-text h3 {
        font-size: 25px;
        font-size: 2.5rem; }
        #ul-members-main .umm-text h3::after {
          margin-top: 2.5rem; } }
    @media screen and (max-width: 575px) {
      #ul-members-main .umm-text h3 {
        font-size: 21px;
        font-size: 2.1rem;
        margin-bottom: 1.5rem; }
        #ul-members-main .umm-text h3::after {
          margin-top: 1.5rem; } }
  #ul-members-main .umm-text p {
    font-size: 23px;
    font-size: 2.3rem;
    color: #fff;
    margin: 0; }
    @media screen and (max-width: 575px) {
      #ul-members-main .umm-text p {
        font-size: 20px;
        font-size: 2rem; } }
    #ul-members-main .umm-text p span {
      font-size: 14.5px;
      font-size: 1.45rem;
      vertical-align: middle; }
      @media screen and (max-width: 575px) {
        #ul-members-main .umm-text p span {
          font-size: 14px;
          font-size: 1.4rem; } }

#qanda .qanda-contents {
  padding: 6rem 0; }
  @media screen and (max-width: 767px) {
    #qanda .qanda-contents {
      padding: 4rem 0 6rem; } }
  @media screen and (max-width: 575px) {
    #qanda .qanda-contents {
      padding: 3rem 0 5rem; } }
  #qanda .qanda-contents:nth-of-type(odd) {
    background-color: #f5fcf6; }
  #qanda .qanda-contents:nth-of-type(even) .qanda-img::before {
    left: 20px; }
    @media screen and (max-width: 991px) {
      #qanda .qanda-contents:nth-of-type(even) .qanda-img::before {
        left: 15px; } }
    @media screen and (max-width: 575px) {
      #qanda .qanda-contents:nth-of-type(even) .qanda-img::before {
        left: 10px; } }
  #qanda .qanda-contents .qanda-img {
    position: relative; }
    #qanda .qanda-contents .qanda-img img {
      width: 100%;
      z-index: 2;
      position: relative; }
    #qanda .qanda-contents .qanda-img::before {
      content: '';
      position: absolute;
      top: 25px;
      left: -20px;
      width: 100%;
      height: 100%;
      background-image: linear-gradient(90deg, rgba(51, 182, 59, 0.2), rgba(163, 234, 0, 0.2));
      z-index: 0; }
      @media screen and (max-width: 991px) {
        #qanda .qanda-contents .qanda-img::before {
          top: 20px;
          left: -15px; } }
      @media screen and (max-width: 575px) {
        #qanda .qanda-contents .qanda-img::before {
          top: 15px;
          left: -10px; } }
  @media screen and (max-width: 767px) {
    #qanda .qanda-contents .qanda-text {
      margin-bottom: 2rem; } }
  @media screen and (max-width: 575px) {
    #qanda .qanda-contents .qanda-text {
      margin-bottom: 1rem; } }
  #qanda .qanda-contents .qanda-text dl {
    margin-bottom: 0; }
    #qanda .qanda-contents .qanda-text dl dt {
      display: flex;
      align-items: center;
      font-size: 23.5px;
      font-size: 2.35rem;
      font-weight: 500;
      color: #22923b;
      margin-bottom: 4rem; }
      @media screen and (max-width: 991px) {
        #qanda .qanda-contents .qanda-text dl dt {
          font-size: 21px;
          font-size: 2.1rem;
          margin-bottom: 3rem; } }
      @media screen and (max-width: 991px) {
        #qanda .qanda-contents .qanda-text dl dt {
          font-size: 21px;
          font-size: 2.1rem;
          margin-bottom: 3rem; } }
      @media screen and (max-width: 575px) {
        #qanda .qanda-contents .qanda-text dl dt {
          font-size: 19px;
          font-size: 1.9rem;
          margin-bottom: 2rem; } }
      #qanda .qanda-contents .qanda-text dl dt img {
        width: 95px;
        margin-right: 1.5rem; }
        @media screen and (max-width: 991px) {
          #qanda .qanda-contents .qanda-text dl dt img {
            width: 65px; } }
        @media screen and (max-width: 575px) {
          #qanda .qanda-contents .qanda-text dl dt img {
            width: 55px; } }
      #qanda .qanda-contents .qanda-text dl dt dd {
        line-height: 2.25;
        letter-spacing: 0.04em; }

#schedule {
  padding-bottom: 8rem; }
  @media screen and (max-width: 991px) {
    #schedule {
      padding-bottom: 6rem; } }
  @media screen and (max-width: 575px) {
    #schedule {
      padding-bottom: 4rem; } }
  #schedule h2 {
    margin: 8rem auto 2.5rem; }
    @media screen and (max-width: 575px) {
      #schedule h2 {
        margin: 4rem auto 2.5rem; } }
  #schedule .schedule-bg {
    padding: 8rem 0;
    background-image: linear-gradient(90deg, rgba(51, 182, 59, 0.2), rgba(163, 234, 0, 0.2)); }
    #schedule .schedule-bg img {
      width: 330px; }
      @media screen and (max-width: 575px) {
        #schedule .schedule-bg img {
          width: 300px; } }
    @media screen and (max-width: 991px) {
      #schedule .schedule-bg {
        padding: 6rem 0; } }
    @media screen and (max-width: 767px) {
      #schedule .schedule-bg {
        padding: 4rem 0; } }
    @media screen and (max-width: 575px) {
      #schedule .schedule-bg {
        padding: 4rem 0 2rem; } }
  #schedule p {
    margin: 1rem auto 3.5rem; }
  #schedule a {
    position: relative;
    display: block;
    font-size: 20px;
    font-size: 2rem;
    color: #22923b;
    border: solid 1px #22923b;
    padding: 2rem 0;
    margin: 0 auto;
    width: 360px;
    letter-spacing: 0.1em;
    background-color: #fff;
    transition: all 0.3s ease; }
    @media screen and (max-width: 767px) {
      #schedule a {
        font-size: 18px;
        font-size: 1.8rem;
        padding: 1.5rem 0; } }
    @media screen and (max-width: 575px) {
      #schedule a {
        width: 90%; } }
    #schedule a::after {
      content: "";
      position: absolute;
      display: inline-block;
      background-image: url("../img/link-arrow.svg");
      width: 14px;
      height: 26px;
      top: 0;
      bottom: 0;
      right: 3rem;
      margin: auto; }
    #schedule a:hover {
      box-shadow: none;
      background-color: #1a1a1a;
      color: #fff;
      transform: translate(4px, 4px);
      border: solid 2px #fff; }
      #schedule a:hover::after {
        background-image: url("../img/link-arrow-w.svg"); }
