@charset "UTF-8";
/*=====================================================
TOP
======================================================*/
#top #mainvisual {
  width: 100%;
  height: 780px;
  background: url("../img/top/top_mainvisual.jpg") no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
  overflow: visible; }
  #top #mainvisual .txt_img {
    position: absolute;
    bottom: -60px;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 3; }
    #top #mainvisual .txt_img img {
      max-width: 533px;
      width: 100%; }
  #top #mainvisual .copy_area {
    position: absolute;
    top: 30px;
    left: calc(50% + 300px); }
    #top #mainvisual .copy_area p {
      writing-mode: vertical-rl;
      color: #fff;
      font-weight: 600;
      letter-spacing: 3px; }
  @media only screen and (min-width: 768px) and (max-width: 980px) {
    #top #mainvisual {
      background-position: top left -700px; }
      #top #mainvisual .txt_img img {
        max-width: 500px;
        width: 80%; }
      #top #mainvisual .copy_area {
        left: calc(50% + 25vw); } }
#top #top_intro {
  padding: 20px 0 0px;
  text-align: center; }
  #top #top_intro .intro01 {
    max-width: 795px;
    width: 100%;
    background: #5FB119;
    border-radius: 16px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 40px 30px;
    line-height: 1;
    font-size: 40px;
    font-weight: 700;
    color: #fff;
    text-align: center; }
    #top #top_intro .intro01 strong {
      font-size: 55px; }
  #top #top_intro .intro02 {
    background: #F2F1ED;
    border-radius: 16px;
    text-align: center;
    padding: 100px 50px 80px;
    position: relative;
    max-width: 960px;
    margin: -60px auto 0; }
    #top #top_intro .intro02 .txt_wrap {
      max-width: 560px;
      width: 100%;
      margin: 0 auto; }
    #top #top_intro .intro02 .txt01 {
      font-size: 36px;
      line-height: 1.4;
      font-weight: 500; }
    #top #top_intro .intro02 .txt02 {
      font-size: 24px;
      color: #56B405;
      border-top: 1px #56B405 solid;
      border-bottom: 1px #56B405 solid;
      margin: 30px 0;
      padding: 10px 0;
      font-weight: 500; }
    #top #top_intro .intro02 .txt03 {
      text-align: left;
      font-size: 18px;
      margin-bottom: 60px; }
      #top #top_intro .intro02 .txt03 strong {
        font-weight: 700; }
    #top #top_intro .intro02:after {
      content: "";
      width: 0;
      height: 0;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      border: 20px transparent solid;
      border-top: 20px #F2F1ED solid; }
  #top #top_intro .intro_copy {
    margin: 50px 0 0;
    position: relative;
    z-index: 2; }
  #top #top_intro .slider-container {
    overflow: hidden;
    width: 3950px;
    height: 240px;
    margin-top: -20px;
    margin-bottom: 120px; }
    #top #top_intro .slider-container .slider-wrapper {
      display: flex;
      /* 画像を横に並べるために flex を使用 */
      align-items: stretch;
      animation: slide 30s linear infinite;
      /* スライドするアニメーション */ }
      #top #top_intro .slider-container .slider-wrapper .slide {
        margin-right: 25px;
        /* 画像間の間隔を設定 */
        height: 100%;
        border-radius: 15px;
        overflow: hidden; }
@keyframes slide {
  0% {
    transform: translateX(-50%); }
  100% {
    transform: translateX(0%); } }
  #top #top_intro .txt_container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden; }
    #top #top_intro .txt_container .wrap {
      display: flex;
      animation: loop-text 60s linear infinite; }
      #top #top_intro .txt_container .wrap .double-content {
        display: inline-block;
        font-size: 6rem;
        color: #5FB119;
        white-space: nowrap;
        line-height: 1.2; }
@keyframes loop-text {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-50%); } }
#top #top_report {
  padding: 160px 0 200px;
  background: #5FB119;
  overflow: visible;
  position: relative; }
  #top #top_report .report_ttl {
    background-image: url("../img/top/ttl_bg.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    width: 596px;
    height: 294px;
    color: #fff;
    position: absolute;
    top: -160px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center; }
    #top #top_report .report_ttl h2 {
      font-size: 32px;
      font-weight: 700;
      filter: drop-shadow(2px 2px 0 #56B403);
      width: 100%;
      line-height: 1.4;
      margin-top: 50px;
      letter-spacing: 3px; }
      #top #top_report .report_ttl h2 span {
        letter-spacing: 0;
        font-size: 64px;
        font-family: "Urbanist", sans-serif; }
  #top #top_report .report_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 50px; }
    #top #top_report .report_flex .left_report {
      width: 55%;
      background: #fff;
      border-radius: 0 16px 16px 0;
      padding: 40px 0;
      position: relative; }
      #top #top_report .report_flex .left_report .category {
        border-bottom: 1px #BABABA solid;
        padding-bottom: 20px; }
        #top #top_report .report_flex .left_report .category .cat_list {
          width: 100%;
          padding-right: 60px; }
          #top #top_report .report_flex .left_report .category .cat_list li {
            display: inline-block;
            margin-right: 20px; }
            #top #top_report .report_flex .left_report .category .cat_list li a {
              color: #191919; }
      #top #top_report .report_flex .left_report .post {
        padding-right: 60px; }
        #top #top_report .report_flex .left_report .post .post_list {
          width: 100%; }
          #top #top_report .report_flex .left_report .post .post_list li {
            padding: 15px 0;
            border-bottom: 1px #BABABA solid; }
            #top #top_report .report_flex .left_report .post .post_list li .date {
              display: inline-block;
              font-family: "Urbanist", sans-serif;
              color: #56B403;
              margin-right: 20px; }
            #top #top_report .report_flex .left_report .post .post_list li .post_category {
              display: inline-block; }
              #top #top_report .report_flex .left_report .post .post_list li .post_category a {
                color: #FFF;
                background: #5FB119;
                line-height: 1;
                border-radius: 30px;
                padding: 3px 10px;
                font-size: 12px;
                margin-right: 5px; }
            #top #top_report .report_flex .left_report .post .post_list li .title {
              margin-top: 10px; }
              #top #top_report .report_flex .left_report .post .post_list li .title a {
                color: #191919; }
                #top #top_report .report_flex .left_report .post .post_list li .title a:hover {
                  text-decoration: underline; }
      #top #top_report .report_flex .left_report .to_list {
        text-align: right;
        padding: 30px 60px 0 0; }
        #top #top_report .report_flex .left_report .to_list a {
          color: #191919;
          line-height: 1; }
          #top #top_report .report_flex .left_report .to_list a img {
            margin-top: 7px;
            margin-left: 10px; }
          #top #top_report .report_flex .left_report .to_list a:hover {
            text-decoration: underline; }
      #top #top_report .report_flex .left_report:before {
        content: "";
        width: 1500px;
        height: 100%;
        position: absolute;
        top: 0;
        right: 100%;
        z-index: 1;
        background: #fff; }
    #top #top_report .report_flex .right_fb {
      width: 40%; }
      #top #top_report .report_flex .right_fb .fb_ttl {
        color: #fff;
        font-family: "Urbanist", sans-serif;
        font-size: 48px;
        font-weight: 500;
        margin-bottom: 10px; }
        #top #top_report .report_flex .right_fb .fb_ttl img {
          width: 60px;
          margin: 8px 15px 0 0; }
  #top #top_report .ig_ttl {
    text-align: center;
    color: #fff;
    font-family: "Urbanist", sans-serif;
    font-size: 48px;
    font-weight: 500;
    margin-bottom: 10px; }
    #top #top_report .ig_ttl img {
      width: 60px;
      margin: 8px 15px 0 0; }
#top #top_about {
  background: #5FB119;
  padding: 0px; }
  #top #top_about .top_about_ttl {
    position: relative;
    padding: 10px 0;
    overflow: hidden; }
    #top #top_about .top_about_ttl h2 {
      text-align: center;
      font-size: 32px;
      font-weight: 700;
      width: 100%;
      line-height: 1.4;
      margin-top: 50px;
      letter-spacing: 3px;
      color: #3E8400;
      position: relative;
      z-index: 2; }
      #top #top_about .top_about_ttl h2 span {
        letter-spacing: 0;
        font-size: 64px;
        font-family: "Urbanist", sans-serif; }
    #top #top_about .top_about_ttl:before {
      content: "";
      background: #fff;
      width: 120%;
      height: 300px;
      border-radius: 50% / 70% 70% 0 0;
      position: absolute;
      top: 0;
      left: -10%;
      z-index: 1; }
  #top #top_about .top_about_area {
    background: url("../img/top/top_bg.svg"), #fff;
    background-position: center top;
    padding: 60px 0 150px; }
    #top #top_about .top_about_area .copy_area, #top #top_about .top_about_area .copy_area02 {
      max-width: 960px;
      margin: 0 auto;
      position: relative; }
      #top #top_about .top_about_area .copy_area .copy01, #top #top_about .top_about_area .copy_area .copy02, #top #top_about .top_about_area .copy_area .copy03, #top #top_about .top_about_area .copy_area02 .copy01, #top #top_about .top_about_area .copy_area02 .copy02, #top #top_about .top_about_area .copy_area02 .copy03 {
        overflow: hidden;
        display: inline-block;
        margin-right: auto;
        vertical-align: top; }
        #top #top_about .top_about_area .copy_area .copy01 .square_anime, #top #top_about .top_about_area .copy_area .copy02 .square_anime, #top #top_about .top_about_area .copy_area .copy03 .square_anime, #top #top_about .top_about_area .copy_area02 .copy01 .square_anime, #top #top_about .top_about_area .copy_area02 .copy02 .square_anime, #top #top_about .top_about_area .copy_area02 .copy03 .square_anime {
          margin-bottom: 3px; }
          #top #top_about .top_about_area .copy_area .copy01 .square_anime p, #top #top_about .top_about_area .copy_area .copy02 .square_anime p, #top #top_about .top_about_area .copy_area .copy03 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy01 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy02 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy03 .square_anime p {
            background: #5FB119;
            display: inline-block;
            color: #fff;
            font-size: 40px;
            font-weight: 500;
            padding: 15px;
            line-height: 1; }
            @media only screen and (min-width: 768px) and (max-width: 850px) {
              #top #top_about .top_about_area .copy_area .copy01 .square_anime p, #top #top_about .top_about_area .copy_area .copy02 .square_anime p, #top #top_about .top_about_area .copy_area .copy03 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy01 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy02 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy03 .square_anime p {
                font-size: 33px; } }
      #top #top_about .top_about_area .copy_area._anime .copy01 .square_anime, #top #top_about .top_about_area .copy_area02._anime .copy01 .square_anime {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transition: all 0.4s 0.2s ease;
        transition: all 0.4s 0.2s ease; }
        #top #top_about .top_about_area .copy_area._anime .copy01 .square_anime:after, #top #top_about .top_about_area .copy_area02._anime .copy01 .square_anime:after {
          -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transition: all 0.4s 1s ease;
          transition: all 0.4s 1s ease; }
      #top #top_about .top_about_area .copy_area._anime .copy02 .square_anime, #top #top_about .top_about_area .copy_area02._anime .copy02 .square_anime {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transition: all 0.4s 0.5s ease;
        transition: all 0.4s 0.5s ease; }
        #top #top_about .top_about_area .copy_area._anime .copy02 .square_anime:after, #top #top_about .top_about_area .copy_area02._anime .copy02 .square_anime:after {
          -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transition: all 0.4s 1.4s ease;
          transition: all 0.4s 1.4s ease; }
      #top #top_about .top_about_area .copy_area._anime .copy03 .square_anime, #top #top_about .top_about_area .copy_area02._anime .copy03 .square_anime {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transition: all 0.4s 0.8s ease;
        transition: all 0.4s 0.8s ease; }
        #top #top_about .top_about_area .copy_area._anime .copy03 .square_anime:after, #top #top_about .top_about_area .copy_area02._anime .copy03 .square_anime:after {
          -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transition: all 0.4s 1.8s ease;
          transition: all 0.4s 1.8s ease; }
      #top #top_about .top_about_area .copy_area .rokenkun, #top #top_about .top_about_area .copy_area02 .rokenkun {
        position: absolute;
        top: 0;
        right: 0; }
    #top #top_about .top_about_area .copy_area02 {
      text-align: right; }
    #top #top_about .top_about_area .txt_area, #top #top_about .top_about_area .txt_area02 {
      max-width: 760px;
      width: 100%;
      margin: 60px auto 30px;
      text-align: left;
      color: #2E2E2E; }
      #top #top_about .top_about_area .txt_area .btn_area, #top #top_about .top_about_area .txt_area02 .btn_area {
        margin-top: 30px; }
    #top #top_about .top_about_area .txt_area02 {
      font-size: 18px; }
      #top #top_about .top_about_area .txt_area02 p span {
        font-weight: 500; }
    #top #top_about .top_about_area .slider {
      margin: 50px 0 80px; }
      #top #top_about .top_about_area .slider li {
        border-radius: 30px;
        overflow: hidden; }
#top #top_join {
  text-align: center;
  overflow: hidden; }
  #top #top_join .top_join_ttl {
    position: relative;
    padding: 150px 0 60px; }
    #top #top_join .top_join_ttl .regular_circle {
      width: 380px;
      height: 380px;
      background: #ED765A;
      border: 8px #fff solid;
      border-radius: 500px;
      color: #fff;
      z-index: 2;
      position: absolute;
      top: -100px;
      left: 0;
      right: 0;
      margin: auto; }
      #top #top_join .top_join_ttl .regular_circle .txt01 {
        font-size: 39px;
        font-weight: 700;
        margin-top: 60px; }
      #top #top_join .top_join_ttl .regular_circle .txt02 {
        font-size: 43px;
        font-weight: 700;
        line-height: 1; }
        #top #top_join .top_join_ttl .regular_circle .txt02 strong {
          font-family: "Urbanist", sans-serif;
          font-size: 100px; }
    #top #top_join .top_join_ttl:before {
      content: "";
      background: #EAE9E8;
      width: 120%;
      height: 500px;
      border-radius: 50% / 70% 70% 0 0;
      position: absolute;
      top: 0;
      left: -10%;
      z-index: 1; }
    #top #top_join .top_join_ttl .txt03 {
      margin-bottom: 10px;
      background: #fff;
      display: inline-block;
      color: #191919;
      font-size: 40px;
      font-weight: 700;
      position: relative;
      z-index: 3;
      padding: 5px 30px; }
  #top #top_join .top_join_contents {
    background: #EAE9E8;
    position: relative;
    z-index: 2;
    padding-bottom: 10px; }
  #top #top_join .join_wrap {
    max-width: 960px;
    margin: 50px auto; }
  #top #top_join .plan_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 50px; }
    #top #top_join .plan_flex .box {
      width: 32%;
      background: #fff;
      border-radius: 16px;
      padding: 30px; }
      #top #top_join .plan_flex .box .ttl {
        font-size: 22px;
        color: #5FB119;
        line-height: 1.3; }
      #top #top_join .plan_flex .box .btn {
        display: block;
        background: #5FB119;
        color: #fff;
        padding: 10px;
        position: relative;
        margin: 20px 0 30px;
        border-radius: 50px;
        font-size: 24px;
        letter-spacing: 4px; }
        #top #top_join .plan_flex .box .btn:after {
          content: "";
          width: 16px;
          height: 16px;
          background: url("../img/common/icon_btn.svg") no-repeat center;
          background-size: 100%;
          position: absolute;
          right: 15px;
          top: 50%;
          transform: translateY(-50%); }
        #top #top_join .plan_flex .box .btn:hover {
          opacity: 0.5;
          transition: 0.3s; }
      #top #top_join .plan_flex .box .year {
        font-size: 20px;
        line-height: 1.2;
        letter-spacing: 3px;
        margin-bottom: 15px; }
      #top #top_join .plan_flex .box .price {
        font-size: 32px;
        color: #5FB119;
        line-height: 1; }
        #top #top_join .plan_flex .box .price strong {
          font-size: 48px;
          font-family: "Urbanist", sans-serif; }
      #top #top_join .plan_flex .box.regular .ttl {
        color: #ED765A; }
      #top #top_join .plan_flex .box.regular .btn {
        background: #ED765A; }
      #top #top_join .plan_flex .box.regular .year {
        margin-bottom: 0; }
      #top #top_join .plan_flex .box.regular .price {
        color: #ED765A;
        font-weight: 700; }
        #top #top_join .plan_flex .box.regular .price strong {
          font-size: 70px; }
  #top #top_join .mail_magazine {
    background: #76BA67;
    border-radius: 16px;
    padding: 40px 100px;
    margin-bottom: 100px; }
    #top #top_join .mail_magazine .merumaga_ttl {
      font-size: 32px;
      font-weight: 500;
      color: #fff;
      margin-top: 30px;
      line-height: 1.5; }
    #top #top_join .mail_magazine .merumaga_txt01 {
      font-size: 24px;
      font-weight: 500;
      color: #fff; }
    #top #top_join .mail_magazine .merumaga_txt02 {
      background: #fff;
      border-radius: 16px;
      padding: 20px 30px;
      max-width: 700px;
      width: 100%;
      margin: 30px auto 50px;
      text-align: left; }
    #top #top_join .mail_magazine .btn_area .btn01 {
      background: none;
      color: #fff;
      border: 1px #fff solid; }
      #top #top_join .mail_magazine .btn_area .btn01:after {
        background-image: url("../img/common/icon_btn.svg"); }
      #top #top_join .mail_magazine .btn_area .btn01:hover {
        background: #fff;
        color: #76BA67; }
  #top #top_join .leaflet .ttl {
    font-size: 64px;
    font-family: "Urbanist", sans-serif;
    font-weight: 700;
    line-height: 1;
    color: #3E8400; }
  #top #top_join .leaflet .ttl_sub {
    color: #3E8400;
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 30px; }
  #top #top_join .leaflet .chirashi {
    max-width: 400px;
    width: 100%;
    margin: 0 auto 50px;
    display: block;
    overflow: hidden;
    position: relative; }
    #top #top_join .leaflet .chirashi:before, #top #top_join .leaflet .chirashi:after {
      content: "";
      position: absolute; }
    #top #top_join .leaflet .chirashi:before {
      background: rgba(0, 0, 0, 0);
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      transition: 0.3s; }
    #top #top_join .leaflet .chirashi:after {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 90px;
      height: 120px;
      background: url("../img/top/Icon_pdf.svg") no-repeat center;
      background-size: 100%;
      opacity: 0;
      transition: 0.3s; }
    #top #top_join .leaflet .chirashi:hover {
      transition: 0.3s; }
      #top #top_join .leaflet .chirashi:hover:before {
        background: rgba(0, 0, 0, 0.5);
        transition: 0.3s; }
      #top #top_join .leaflet .chirashi:hover:after {
        opacity: 1;
        transition: 0.3s; }
  #top #top_join .top_join_bottom {
    background: #5FB119;
    padding: 0 0 100px;
    position: relative; }
    #top #top_join .top_join_bottom .btn_area {
      position: relative;
      z-index: 3; }
      #top #top_join .top_join_bottom .btn_area .btn01 {
        border: 2px #ED765A solid;
        background: #ED765A;
        color: #fff; }
        #top #top_join .top_join_bottom .btn_area .btn01:after {
          background-image: url("../img/common/icon_btn.svg"); }
        #top #top_join .top_join_bottom .btn_area .btn01:hover {
          background: #fff;
          color: #ED765A; }
    #top #top_join .top_join_bottom:after {
      content: "";
      background: #EAE9E8;
      width: 120%;
      height: 500px;
      border-radius: 50% / 0 0 70% 70%;
      position: absolute;
      bottom: 0;
      left: -10%;
      z-index: 1; }
#top #top_link {
  background: #5FB119;
  padding: 100px 0; }
  #top #top_link .bnr_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    max-width: 860px;
    width: 100%;
    margin: 0 auto; }
    #top #top_link .bnr_flex a {
      display: block;
      width: 48%;
      margin-bottom: 30px; }
      #top #top_link .bnr_flex a img {
        width: 100%;
        max-width: inherit; }
      #top #top_link .bnr_flex a:hover {
        opacity: 0.7;
        transition: 0.3s; }

/*top*/
@media screen and (max-width: 767px) {
  #top #mainvisual {
    height: 155vw;
    background: url("../img/top/top_mainvisual_sp.png") no-repeat;
    background-position: top center;
    background-size: cover;
    position: relative;
    overflow: visible; }
    #top #mainvisual .txt_img {
      position: absolute;
      bottom: -5vw;
      left: 10%;
      width: 80%;
      text-align: center;
      z-index: 3; }
      #top #mainvisual .txt_img img {
        max-width: 533px;
        width: 100%; }
    #top #mainvisual .copy_area {
      top: 5vw;
      left: 50% !important;
      right: auto !important;
      width: 50vw !important;
      /* コンテンツに合わせた適切な幅 */
      white-space: normal !important;
      text-align: left; }
      #top #mainvisual .copy_area p {
        letter-spacing: 0.4vw; }
  #top #top_intro {
    padding: 0 0 0px;
    text-align: center; }
    #top #top_intro .contents_wrap {
      width: 100%; }
    #top #top_intro .intro01 {
      border-radius: 0;
      padding: 5vw;
      font-size: 5vw; }
      #top #top_intro .intro01 strong {
        font-size: 7vw; }
    #top #top_intro .intro02 {
      border-radius: 0;
      padding: 12vw 7vw;
      margin: -6vw auto 0; }
      #top #top_intro .intro02 .txt_wrap {
        max-width: 80vw;
        width: 100%;
        margin: 0 auto; }
      #top #top_intro .intro02 .txt01 {
        font-size: 6vw; }
      #top #top_intro .intro02 .txt02 {
        font-size: 4vw;
        margin: 5vw 0;
        padding: 2vw 0; }
      #top #top_intro .intro02 .txt03 {
        font-size: 3.6vw;
        margin-bottom: 10vw; }
      #top #top_intro .intro02:after {
        border: 3vw transparent solid;
        border-top: 6vw #F2F1ED solid; }
    #top #top_intro .intro_copy {
      margin: 10vw 0 0; }
      #top #top_intro .intro_copy img {
        width: 60%; }
    #top #top_intro .slider-container {
      width: 490vw;
      height: 30vw;
      margin-top: 5vw;
      margin-bottom: 20vw; }
      #top #top_intro .slider-container .slider-wrapper .slide {
        margin-right: 4vw;
        /* 画像間の間隔を設定 */
        border-radius: 15px; }
    #top #top_intro .txt_container .wrap {
      display: flex;
      animation: loop-text 60s linear infinite; }
      #top #top_intro .txt_container .wrap .double-content {
        font-size: 8vw; }
  @keyframes loop-text {
    0% {
      transform: translateX(0%); }
    100% {
      transform: translateX(-50%); } }
  #top #top_report {
    padding: 20vw 0; }
    #top #top_report .report_ttl {
      width: 70vw;
      height: 34vw;
      top: -15vw; }
      #top #top_report .report_ttl h2 {
        font-size: 4vw;
        margin-top: 5vw;
        letter-spacing: 3px; }
        #top #top_report .report_ttl h2 span {
          letter-spacing: 0;
          font-size: 8vw;
          font-family: "Urbanist", sans-serif; }
    #top #top_report .report_flex {
      margin-bottom: 5vw; }
      #top #top_report .report_flex .left_report {
        width: 95%;
        padding: 8vw 0; }
        #top #top_report .report_flex .left_report .category {
          padding-bottom: 4vw; }
          #top #top_report .report_flex .left_report .category .cat_list {
            padding-right: 3vw; }
            #top #top_report .report_flex .left_report .category .cat_list li {
              margin-right: 2vw; }
        #top #top_report .report_flex .left_report .post {
          padding-right: 3vw; }
          #top #top_report .report_flex .left_report .post .post_list li {
            padding: 2vw 0; }
            #top #top_report .report_flex .left_report .post .post_list li .date {
              margin-right: 2vw; }
            #top #top_report .report_flex .left_report .post .post_list li .post_category a {
              padding: 0.4vw 2vw;
              font-size: 2.4vw;
              margin-right: 1vw; }
            #top #top_report .report_flex .left_report .post .post_list li .title {
              margin-top: 2vw; }
        #top #top_report .report_flex .left_report .to_list {
          padding: 5vw 3vw 0 0; }
          #top #top_report .report_flex .left_report .to_list a img {
            margin-top: 1vw;
            margin-left: 2vw; }
      #top #top_report .report_flex .right_fb {
        width: 100%;
        margin: 10vw 0;
        text-align: center; }
        #top #top_report .report_flex .right_fb .fb_ttl {
          text-align: center;
          font-size: 7vw;
          margin-bottom: 2vw; }
          #top #top_report .report_flex .right_fb .fb_ttl img {
            width: 8vw;
            margin: 2vw 3vw 0 0; }
    #top #top_report .ig_ttl {
      text-align: center;
      font-size: 7vw;
      margin-bottom: 2vw; }
      #top #top_report .ig_ttl img {
        width: 8vw;
        margin: 2vw 3vw 0 0; }
  #top #top_about .top_about_ttl {
    padding: 2vw 0; }
    #top #top_about .top_about_ttl h2 {
      font-size: 4vw;
      margin-top: 10vw; }
      #top #top_about .top_about_ttl h2 span {
        font-size: 8vw; }
    #top #top_about .top_about_ttl:before {
      height: 300px; }
  #top #top_about .top_about_area {
    background-size: 150%;
    padding: 10vw 0 20vw; }
    #top #top_about .top_about_area .copy_area .copy01 .square_anime, #top #top_about .top_about_area .copy_area .copy02 .square_anime, #top #top_about .top_about_area .copy_area .copy03 .square_anime, #top #top_about .top_about_area .copy_area02 .copy01 .square_anime, #top #top_about .top_about_area .copy_area02 .copy02 .square_anime, #top #top_about .top_about_area .copy_area02 .copy03 .square_anime {
      margin-bottom: 0.4vw; }
      #top #top_about .top_about_area .copy_area .copy01 .square_anime p, #top #top_about .top_about_area .copy_area .copy02 .square_anime p, #top #top_about .top_about_area .copy_area .copy03 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy01 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy02 .square_anime p, #top #top_about .top_about_area .copy_area02 .copy03 .square_anime p {
        font-size: 5vw;
        padding: 3vw; }
    #top #top_about .top_about_area .copy_area .rokenkun, #top #top_about .top_about_area .copy_area02 .rokenkun {
      margin-top: 6vw;
      text-align: center;
      position: relative;
      top: inherit;
      right: inherit; }
    #top #top_about .top_about_area .copy_area02 {
      text-align: right; }
    #top #top_about .top_about_area .txt_area, #top #top_about .top_about_area .txt_area02 {
      margin: 10vw auto 6vw; }
      #top #top_about .top_about_area .txt_area .btn_area, #top #top_about .top_about_area .txt_area02 .btn_area {
        margin-top: 6vw; }
    #top #top_about .top_about_area .txt_area02 {
      font-size: 3.6vw; }
    #top #top_about .top_about_area .slider {
      margin: 10vw 0 12vw; }
      #top #top_about .top_about_area .slider li {
        border-radius: 6vw; }
  #top #top_join .top_join_ttl {
    padding: 25vw 0 10vw; }
    #top #top_join .top_join_ttl .regular_circle {
      width: 55vw;
      height: 55vw;
      border: 1vw #fff solid;
      top: -10vw; }
      #top #top_join .top_join_ttl .regular_circle .txt01 {
        font-size: 5vw;
        margin-top: 10vw; }
      #top #top_join .top_join_ttl .regular_circle .txt02 {
        font-size: 6vw; }
        #top #top_join .top_join_ttl .regular_circle .txt02 strong {
          font-size: 13vw; }
    #top #top_join .top_join_ttl:before {
      width: 200%;
      height: 80vw;
      left: -50%; }
    #top #top_join .top_join_ttl .txt03 {
      margin-bottom: 2vw;
      font-size: 5vw;
      padding: 1vw 5vw; }
  #top #top_join .top_join_contents {
    padding-bottom: 2vw; }
  #top #top_join .join_wrap {
    max-width: 960px;
    margin: 10vw auto; }
  #top #top_join .plan_flex {
    margin-bottom: 10vw; }
    #top #top_join .plan_flex .box {
      width: 49%;
      margin-bottom: 3vw;
      padding: 4vw; }
      #top #top_join .plan_flex .box .ttl {
        font-size: 3.2vw; }
      #top #top_join .plan_flex .box .btn {
        padding: 2vw;
        margin: 4vw 0 5vw;
        font-size: 3.3vw;
        letter-spacing: 2px; }
        #top #top_join .plan_flex .box .btn:after {
          width: 3vw;
          height: 3vw;
          right: 3vw; }
      #top #top_join .plan_flex .box .year {
        font-size: 3.6vw;
        letter-spacing: 2px;
        margin-bottom: 3vw; }
      #top #top_join .plan_flex .box .price {
        font-size: 5vw; }
        #top #top_join .plan_flex .box .price strong {
          font-size: 7vw; }
      #top #top_join .plan_flex .box.regular {
        width: 100%; }
        #top #top_join .plan_flex .box.regular .ttl {
          color: #ED765A; }
        #top #top_join .plan_flex .box.regular .btn {
          background: #ED765A; }
        #top #top_join .plan_flex .box.regular .year {
          vertical-align: 2vw;
          display: inline-block; }
        #top #top_join .plan_flex .box.regular .price {
          display: inline-block;
          color: #ED765A;
          font-weight: 700; }
          #top #top_join .plan_flex .box.regular .price strong {
            font-size: 12vw; }
  #top #top_join .mail_magazine {
    padding: 6vw 6vw;
    margin-bottom: 12vw; }
    #top #top_join .mail_magazine .merumaga_ttl {
      font-size: 5vw;
      margin-top: 5vw; }
    #top #top_join .mail_magazine .merumaga_txt01 {
      font-size: 3.6vw; }
    #top #top_join .mail_magazine .merumaga_txt02 {
      padding: 4vw;
      margin: 5vw auto 8vw; }
  #top #top_join .leaflet .ttl {
    font-size: 10vw; }
  #top #top_join .leaflet .ttl_sub {
    font-size: 5vw;
    margin-bottom: 6vw; }
  #top #top_join .leaflet .chirashi {
    max-width: 400px;
    width: 100%;
    margin: 0 auto 10vw; }
  #top #top_join .top_join_bottom {
    padding: 0 0 20vw;
    position: relative; }
    #top #top_join .top_join_bottom:after {
      width: 200%;
      height: 80vw;
      left: -50%; }
  #top #top_link {
    padding: 20vw 0; }
    #top #top_link .bnr_flex {
      justify-content: center; }
      #top #top_link .bnr_flex a {
        width: 70%;
        margin-bottom: 5vw; }

  /*top*/ }
/*767px*/
/*=====================================================
老健連盟について
======================================================*/
#about_us {
  /*設立趣旨・委員長あいさつ================================================*/
  /*関連団体================================================*/
  /*組織概要・沿革================================================*/
  /*連盟規約================================================*/
  /*事業計画================================================*/ }
  #about_us #about_navi {
    background: #5FB119;
    padding: 80px 0; }
    #about_us #about_navi .about_navi_flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      justify-content: space-between; }
      #about_us #about_navi .about_navi_flex a {
        width: 32%;
        display: block;
        margin: 15px 0;
        background: #fff;
        color: #5FB119;
        border-radius: 16px;
        padding: 50px 30px;
        text-align: center;
        position: relative; }
        #about_us #about_navi .about_navi_flex a:after {
          content: "";
          width: 16px;
          height: 16px;
          background: url("../img/common/btn_arrow.svg") no-repeat;
          background-size: 100%;
          position: absolute;
          right: 10px;
          top: 50%;
          transform: translateY(-50%); }
        #about_us #about_navi .about_navi_flex a:hover {
          opacity: 0.7;
          transition: 0.3s; }
        @media screen and (min-width: 768px) and (max-width: 980px) {
          #about_us #about_navi .about_navi_flex a {
            width: 49%; } }
  #about_us #about_top_main,
  #about_us #about_message_main,
  #about_us #about_relations_main,
  #about_us #about_outline_main,
  #about_us #about_rule_main,
  #about_us #about_plan_main {
    padding: 50px 0 50px; }
    #about_us #about_top_main .contents_wrap, #about_us #about_top_main .contents_wrap02,
    #about_us #about_message_main .contents_wrap,
    #about_us #about_message_main .contents_wrap02,
    #about_us #about_relations_main .contents_wrap,
    #about_us #about_relations_main .contents_wrap02,
    #about_us #about_outline_main .contents_wrap,
    #about_us #about_outline_main .contents_wrap02,
    #about_us #about_rule_main .contents_wrap,
    #about_us #about_rule_main .contents_wrap02,
    #about_us #about_plan_main .contents_wrap,
    #about_us #about_plan_main .contents_wrap02 {
      margin: 0 auto 0; }
    @media screen and (min-width: 768px) and (max-width: 1200px) {
      #about_us #about_top_main,
      #about_us #about_message_main,
      #about_us #about_relations_main,
      #about_us #about_outline_main,
      #about_us #about_rule_main,
      #about_us #about_plan_main {
        padding: 50px 0 50px 10%; }
        #about_us #about_top_main .contents_wrap, #about_us #about_top_main .contents_wrap02,
        #about_us #about_message_main .contents_wrap,
        #about_us #about_message_main .contents_wrap02,
        #about_us #about_relations_main .contents_wrap,
        #about_us #about_relations_main .contents_wrap02,
        #about_us #about_outline_main .contents_wrap,
        #about_us #about_outline_main .contents_wrap02,
        #about_us #about_rule_main .contents_wrap,
        #about_us #about_rule_main .contents_wrap02,
        #about_us #about_plan_main .contents_wrap,
        #about_us #about_plan_main .contents_wrap02 {
          margin: 0 auto 0 0; } }
  #about_us #about_top_main .about_top_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between; }
    #about_us #about_top_main .about_top_flex .logo {
      width: 30%; }
    #about_us #about_top_main .about_top_flex .txt_area {
      width: 65%; }
      #about_us #about_top_main .about_top_flex .txt_area .ttl {
        font-size: 32px;
        font-weight: 500;
        margin-bottom: 30px;
        line-height: 1.2; }
        #about_us #about_top_main .about_top_flex .txt_area .ttl span {
          color: #5FB119; }
      #about_us #about_top_main .about_top_flex .txt_area .txt {
        font-size: 18px; }
  #about_us #about_top_main .about_top_txt01 {
    background: #F3F1ED;
    border-radius: 16px;
    padding: 30px 50px;
    font-size: 18px;
    margin: 50px 0 30px; }
    #about_us #about_top_main .about_top_txt01 strong {
      font-weight: 600; }
  #about_us #about_top_main .photo_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 100px; }
    #about_us #about_top_main .photo_flex li {
      width: 32%; }
  #about_us #about_top_main .mission_area {
    text-align: center; }
  #about_us #about_top_main .mission_ttl {
    background-image: url("../img/about_us/ttl_bg.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    width: 596px;
    height: 294px;
    color: #fff;
    margin: auto;
    text-align: center; }
    #about_us #about_top_main .mission_ttl h2 {
      font-size: 32px;
      font-weight: 700;
      filter: drop-shadow(2px 2px 0 #56B403);
      width: 100%;
      line-height: 1.2;
      padding-top: 50px;
      letter-spacing: 3px; }
      #about_us #about_top_main .mission_ttl h2 span {
        letter-spacing: 0;
        font-size: 64px;
        font-family: "Urbanist", sans-serif; }
  #about_us #about_top_main .mission_txt {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    margin: 40px 0; }
    #about_us #about_top_main .mission_txt span {
      color: #5FB119; }
  #about_us #about_top_main .check_list {
    background: #F2F1ED;
    border-radius: 16px;
    padding: 20px 40px; }
    #about_us #about_top_main .check_list li {
      background: #fff;
      margin: 15px 0;
      padding: 5px 20px;
      text-align: left; }
      #about_us #about_top_main .check_list li p {
        display: inline-block;
        margin-left: 15px;
        line-height: 1;
        vertical-align: -5px; }
  #about_us .about_ttl {
    font-size: 32px;
    text-align: left;
    font-weight: 500;
    color: #5FB119;
    margin-bottom: 30px; }
  #about_us .notice_area {
    background: #F3F1ED;
    padding: 30px;
    text-align: center;
    border-radius: 16px;
    margin: 40px 0 100px; }
  #about_us #about_message_main .message_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 50px; }
    #about_us #about_message_main .message_flex .left_txt {
      width: 65%; }
    #about_us #about_message_main .message_flex .right_photo {
      width: 30%; }
  #about_us #about_relations_main .relations_txt {
    background: #5FB119;
    border-radius: 16px;
    color: #fff;
    font-weight: 600;
    font-size: 20px;
    padding: 10px 30px;
    margin-bottom: 40px; }
  #about_us #about_relations_main .relations_flex01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 100px; }
    #about_us #about_relations_main .relations_flex01 .left {
      width: 20%;
      min-width: 195px; }
    #about_us #about_relations_main .relations_flex01 .right {
      width: 75%;
      max-width: calc(100% - 250px); }
      #about_us #about_relations_main .relations_flex01 .right img {
        max-width: 400px; }
        #about_us #about_relations_main .relations_flex01 .right img:hover {
          opacity: 0.7; }
  #about_us #about_relations_main .relations_flex02 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 100px; }
    #about_us #about_relations_main .relations_flex02 .box {
      width: 48%; }
  #about_us #about_relations_main ul {
    margin: 40px 0; }
    #about_us #about_relations_main ul li {
      padding-left: 15px; }
      #about_us #about_relations_main ul li span {
        color: #5FB119; }
  #about_us #about_outline_main .outline_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    margin-bottom: 100px; }
    #about_us #about_outline_main .outline_flex .ttl {
      width: 180px; }
      #about_us #about_outline_main .outline_flex .ttl .about_ttl {
        margin-bottom: 0; }
      #about_us #about_outline_main .outline_flex .ttl .outline_txt01 {
        color: #707070; }
    #about_us #about_outline_main .outline_flex .table {
      width: calc(100% - 190px); }
  #about_us #about_outline_main table {
    width: 100%; }
    #about_us #about_outline_main table th, #about_us #about_outline_main table td {
      padding: 10px 0;
      text-align: left;
      border-bottom: 1px #ccc dotted; }
    #about_us #about_outline_main table th {
      width: 170px;
      font-size: 15px;
      color: #5FB119;
      letter-spacing: 3px; }
    #about_us #about_outline_main table td dl dd {
      display: inline-block;
      width: 190px;
      margin-right: 0; }
    #about_us #about_outline_main table.position th {
      letter-spacing: 0; }
  #about_us #about_rule_main .contents_wrap02 {
    max-width: 1000px; }
  #about_us #about_rule_main .btn_area {
    text-align: left; }
  #about_us #about_rule_main .rule_box {
    background: #F3F1ED;
    padding: 30px 50px;
    border-radius: 16px;
    margin: 50px 0; }
    #about_us #about_rule_main .rule_box .flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      flex-wrap: nowrap; }
      #about_us #about_rule_main .rule_box .flex p {
        margin-right: 3%;
        font-size: 14px; }
  #about_us #about_rule_main .about_ttl {
    margin-bottom: 10px; }
  #about_us #about_rule_main .rule_txt {
    color: #2E2E2E;
    margin-bottom: 100px; }
    #about_us #about_rule_main .rule_txt span {
      font-weight: 500; }
    #about_us #about_rule_main .rule_txt em {
      margin-left: 14px;
      display: block; }
  #about_us #about_plan_main .about_ttl {
    margin-bottom: 10px; }
  #about_us #about_plan_main .plan_txt01 {
    color: #2E2E2E;
    margin-bottom: 100px; }
    #about_us #about_plan_main .plan_txt01 span {
      font-weight: 500; }
    #about_us #about_plan_main .plan_txt01 em {
      margin-left: 14px;
      display: block; }
  #about_us #about_plan_main dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    align-items: stretch;
    width: 100%;
    margin-bottom: 80px; }
    #about_us #about_plan_main dl dt, #about_us #about_plan_main dl dd {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      align-items: center;
      padding: 7px 20px;
      text-align: left;
      margin-bottom: 8px; }
    #about_us #about_plan_main dl dt {
      font-weight: 500;
      width: 260px;
      padding-left: 10px;
      background: #E6E4D8; }
    #about_us #about_plan_main dl dd {
      width: calc(100% - 260px);
      background: #F5F5F5; }
    #about_us #about_plan_main dl.last dd {
      width: 100%; }

@media screen and (max-width: 767px) {
  #about_us {
    /*設立趣旨・委員長あいさつ================================================*/
    /*関連団体================================================*/
    /*組織概要・沿革================================================*/
    /*連盟規約================================================*/
    /*事業計画================================================*/ }
    #about_us #about_navi {
      padding: 10vw 0; }
      #about_us #about_navi .about_navi_flex a {
        width: 100%;
        margin: 1vw 0;
        padding: 4vw; }
        #about_us #about_navi .about_navi_flex a:after {
          width: 3.2vw;
          height: 3.2vw;
          right: 2vw; }
    #about_us #about_top_main,
    #about_us #about_message_main,
    #about_us #about_relations_main,
    #about_us #about_outline_main,
    #about_us #about_rule_main,
    #about_us #about_plan_main {
      padding: 10vw 0 10vw 5%; }
      #about_us #about_top_main .contents_wrap, #about_us #about_top_main .contents_wrap02,
      #about_us #about_message_main .contents_wrap,
      #about_us #about_message_main .contents_wrap02,
      #about_us #about_relations_main .contents_wrap,
      #about_us #about_relations_main .contents_wrap02,
      #about_us #about_outline_main .contents_wrap,
      #about_us #about_outline_main .contents_wrap02,
      #about_us #about_rule_main .contents_wrap,
      #about_us #about_rule_main .contents_wrap02,
      #about_us #about_plan_main .contents_wrap,
      #about_us #about_plan_main .contents_wrap02 {
        margin: 0 auto 0 0;
        width: 95%; }
    #about_us #about_top_main .about_top_flex {
      justify-content: center; }
      #about_us #about_top_main .about_top_flex .logo {
        width: 70%;
        margin-bottom: 6vw; }
        #about_us #about_top_main .about_top_flex .logo img {
          width: 100%; }
      #about_us #about_top_main .about_top_flex .txt_area {
        width: 100%; }
        #about_us #about_top_main .about_top_flex .txt_area .ttl {
          font-size: 7vw;
          margin-bottom: 5vw;
          text-align: center; }
        #about_us #about_top_main .about_top_flex .txt_area .txt {
          font-size: 3.6vw; }
    #about_us #about_top_main .about_top_txt01 {
      padding: 5vw;
      font-size: 3.6vw;
      margin: 8vw 0 6vw; }
    #about_us #about_top_main .photo_flex {
      margin-bottom: 15vw; }
      #about_us #about_top_main .photo_flex li {
        width: 100%;
        margin-bottom: 4vw; }
    #about_us #about_top_main .mission_ttl {
      width: 100%;
      height: 48vw; }
      #about_us #about_top_main .mission_ttl h2 {
        font-size: 4.5vw;
        padding-top: 10vw;
        letter-spacing: 0.3vw; }
        #about_us #about_top_main .mission_ttl h2 span {
          letter-spacing: 0;
          font-size: 9vw; }
    #about_us #about_top_main .mission_txt {
      font-size: 5vw;
      margin: 6vw 0; }
    #about_us #about_top_main .check_list {
      padding: 5vw 4vw; }
      #about_us #about_top_main .check_list li {
        text-align: center;
        margin: 3vw 0;
        padding: 2vw 4vw;
        border-radius: 10px; }
        #about_us #about_top_main .check_list li p {
          text-align: left;
          display: block;
          margin-left: 0;
          margin-top: 4vw;
          line-height: 1.5;
          vertical-align: 0; }
    #about_us .about_ttl {
      font-size: 5vw;
      margin-bottom: 5vw; }
    #about_us .notice_area {
      padding: 5vw;
      margin: 6vw 0 15vw; }
    #about_us #about_message_main .message_flex {
      justify-content: center;
      margin-bottom: 6vw; }
      #about_us #about_message_main .message_flex .left_txt {
        width: 100%;
        margin-bottom: 6vw; }
      #about_us #about_message_main .message_flex .right_photo {
        width: 80%; }
    #about_us #about_relations_main .relations_txt {
      font-size: 4vw;
      padding: 2vw 5vw;
      margin-bottom: 6vw; }
    #about_us #about_relations_main .relations_flex01 {
      margin-bottom: 15vw;
      justify-content: center; }
      #about_us #about_relations_main .relations_flex01 .left {
        text-align: center;
        width: 60%;
        min-width: inherit;
        margin-bottom: 6vw; }
      #about_us #about_relations_main .relations_flex01 .right {
        width: 100%;
        max-width: inherit; }
    #about_us #about_relations_main .relations_flex02 {
      margin-bottom: 15vw; }
      #about_us #about_relations_main .relations_flex02 .box {
        width: 100%;
        margin-bottom: 5vw; }
    #about_us #about_relations_main ul {
      margin: 6vw 0; }
      #about_us #about_relations_main ul li {
        padding-left: 3vw;
        text-indent: -3.2vw;
        margin-left: 3.2vw; }
    #about_us #about_outline_main .outline_flex {
      margin-bottom: 15vw; }
      #about_us #about_outline_main .outline_flex .ttl {
        width: 100%; }
        #about_us #about_outline_main .outline_flex .ttl .about_ttl {
          margin-bottom: 0;
          display: inline-block; }
        #about_us #about_outline_main .outline_flex .ttl .outline_txt01 {
          display: inline-block;
          margin-left: 4vw; }
      #about_us #about_outline_main .outline_flex .table {
        width: 100%; }
    #about_us #about_outline_main table th, #about_us #about_outline_main table td {
      padding: 2vw 0; }
    #about_us #about_outline_main table th {
      width: 24vw;
      font-size: 2.8vw;
      letter-spacing: 0.4vw; }
    #about_us #about_outline_main table td dl dd {
      display: block;
      width: 100%;
      margin-right: 0; }
    #about_us #about_outline_main table td.border {
      border-bottom: 1px #ccc dotted !important;
      padding-bottom: 2vw !important; }
    #about_us #about_outline_main table tr.row td {
      padding: 0;
      border-bottom: none; }
    #about_us #about_outline_main table.position th {
      letter-spacing: 0; }
    #about_us #about_rule_main .rule_box {
      padding: 6vw;
      margin: 8vw 0; }
      #about_us #about_rule_main .rule_box .flex {
        flex-wrap: wrap; }
        #about_us #about_rule_main .rule_box .flex p {
          margin-right: 0;
          font-size: 2.8vw;
          width: 100%; }
    #about_us #about_rule_main .about_ttl {
      margin-bottom: 2vw; }
    #about_us #about_rule_main .rule_txt {
      margin-bottom: 15vw; }
      #about_us #about_rule_main .rule_txt em {
        margin-left: 2.8vw; }
    #about_us #about_plan_main .about_ttl {
      margin-bottom: 2vw; }
    #about_us #about_plan_main .plan_txt01 {
      margin-bottom: 15vw; }
      #about_us #about_plan_main .plan_txt01 em {
        margin-left: 2.4vw; }
    #about_us #about_plan_main dl {
      margin-bottom: 10vw; }
      #about_us #about_plan_main dl dt, #about_us #about_plan_main dl dd {
        width: 100%;
        padding: 1.4vw 4vw;
        margin-bottom: 1.6vw; } }
/*=====================================================
活動報告
======================================================*/
#report #report_main {
  padding: 50px 0 50px; }
  #report #report_main .contents_wrap, #report #report_main .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #report #report_main {
      padding: 50px 0 50px 10%; }
      #report #report_main .contents_wrap, #report #report_main .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #report #report_main .category {
    padding-bottom: 20px; }
    #report #report_main .category .cat_list {
      width: 100%; }
      #report #report_main .category .cat_list li {
        display: inline-block;
        margin-right: 10px; }
        #report #report_main .category .cat_list li a {
          color: #191919;
          border: 1px #5FB119 solid;
          border-radius: 50px;
          padding: 8px 20px; }
          #report #report_main .category .cat_list li a:hover {
            opacity: 0.7;
            transition: 0.3s; }
        #report #report_main .category .cat_list li:first-child a {
          color: #5FB119; }
  #report #report_main .report_list ul {
    width: 100%; }
    #report #report_main .report_list ul li {
      padding: 15px 0;
      position: relative;
      border-bottom: 1px #BABABA solid; }
      #report #report_main .report_list ul li .link_wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        z-index: 4; }
      #report #report_main .report_list ul li dl {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: flex-start;
        height: auto;
        align-items: stretch;
        flex-wrap: nowrap; }
        #report #report_main .report_list ul li dl .date {
          display: inline-block;
          font-family: "Urbanist", sans-serif;
          color: #56B403;
          width: 150px;
          font-size: 18px; }
        #report #report_main .report_list ul li dl .cat_post {
          width: calc(100% - 160px);
          padding-right: 40px; }
        #report #report_main .report_list ul li dl .post_category {
          display: inline-block; }
          #report #report_main .report_list ul li dl .post_category a {
            color: #FFF;
            background: #5FB119;
            line-height: 1;
            border-radius: 30px;
            padding: 3px 10px;
            font-size: 12px;
            margin-right: 5px; }
        #report #report_main .report_list ul li dl .title {
          margin-top: 10px; }
          #report #report_main .report_list ul li dl .title a {
            color: #191919; }
            #report #report_main .report_list ul li dl .title a:hover {
              text-decoration: underline; }
      #report #report_main .report_list ul li:after {
        content: "";
        width: 18px;
        height: 18px;
        background: url("../img/common/btn_arrow.svg") no-repeat center;
        background-size: 100%;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        transition: 0.3s; }
      #report #report_main .report_list ul li:hover:after {
        transition: 0.3s;
        right: 0px; }
  #report #report_main .report_detail .post_detail .title {
    background: #E6F2DB;
    font-size: 24px;
    line-height: 1.4;
    padding: 20px 30px;
    color: #191919;
    margin-bottom: 30px; }
  #report #report_main .report_detail .post_detail dl {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px #5FB119 solid; }
    #report #report_main .report_detail .post_detail dl dd {
      display: inline-block;
      margin-right: 20px; }
  #report #report_main .report_detail .post_detail .date {
    font-family: "Urbanist", sans-serif;
    color: #56B403;
    font-size: 16px; }
  #report #report_main .report_detail .post_detail .post_category a {
    color: #FFF;
    background: #5FB119;
    line-height: 1;
    border-radius: 30px;
    padding: 3px 10px;
    font-size: 12px;
    margin-right: 5px; }
  #report #report_main .report_detail .post_detail .post_contents {
    padding: 0px 0 100px;
    margin-bottom: 30px;
    border-bottom: 1px #5FB119 solid;
    color: #2E2E2E; }
    #report #report_main .report_detail .post_detail .post_contents p {
      margin: 10px 0; }
    #report #report_main .report_detail .post_detail .post_contents a {
      background: #fff;
      border: 2px #56B403 solid;
      display: inline-block;
      position: relative;
      color: #56B403;
      padding: 10px 80px;
      border-radius: 50px;
      margin: 20px auto; }
      #report #report_main .report_detail .post_detail .post_contents a:after {
        content: "";
        width: 16px;
        height: 16px;
        background: url("../img/common/btn_arrow.svg") no-repeat center;
        background-size: 100%;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%); }
      #report #report_main .report_detail .post_detail .post_contents a:hover {
        background: #56B403;
        color: #fff;
        transition: 0.3s; }
    #report #report_main .report_detail .post_detail .post_contents img {
      max-width: 100%;
      height: auto;
      width: auto;
      margin: 15px 0; }
    #report #report_main .report_detail .post_detail .post_contents strong {
      font-weight: 500; }
    #report #report_main .report_detail .post_detail .post_contents blockquote {
      background: #eee;
      padding: 20px;
      color: #888;
      font-style: italic; }
    #report #report_main .report_detail .post_detail .post_contents em {
      font-style: italic; }
    #report #report_main .report_detail .post_detail .post_contents h1, #report #report_main .report_detail .post_detail .post_contents h2, #report #report_main .report_detail .post_detail .post_contents h3, #report #report_main .report_detail .post_detail .post_contents h4, #report #report_main .report_detail .post_detail .post_contents h5, #report #report_main .report_detail .post_detail .post_contents h6 {
      font-weight: 600; }
    #report #report_main .report_detail .post_detail .post_contents h1 {
      font-size: 40px; }
    #report #report_main .report_detail .post_detail .post_contents h2 {
      font-size: 32px;
      text-align: left;
      line-height: 1.3;
      color: #5FB119;
      margin: 50px 0 20px; }
    #report #report_main .report_detail .post_detail .post_contents h3 {
      font-size: 26px; }
    #report #report_main .report_detail .post_detail .post_contents h4 {
      font-size: 20px; }
    #report #report_main .report_detail .post_detail .post_contents h5 {
      font-size: 18px; }
    #report #report_main .report_detail .post_detail .post_contents h6 {
      font-size: 16px; }
    #report #report_main .report_detail .post_detail .post_contents ul {
      margin: 20px 0;
      padding: 0 20px; }
      #report #report_main .report_detail .post_detail .post_contents ul li {
        list-style-type: disc;
        list-style-position: inside;
        text-indent: -22px;
        margin-left: 22px; }
    #report #report_main .report_detail .post_detail .post_contents ol {
      margin: 20px 0;
      padding: 0 20px; }
      #report #report_main .report_detail .post_detail .post_contents ol li {
        list-style-type: decimal;
        list-style-position: inside;
        text-indent: -22px;
        margin-left: 22px; }
    #report #report_main .report_detail .post_detail .post_contents table td img {
      width: 99%;
      margin-bottom: 5px; }
    #report #report_main .report_detail .post_detail .post_contents img.alignright {
      display: block;
      margin: 0 0 0 auto; }
    #report #report_main .report_detail .post_detail .post_contents img.alignleft {
      display: block;
      margin: 0 auto 0 0; }
    #report #report_main .report_detail .post_detail .post_contents img.aligncenter {
      display: block;
      margin: 0 auto; }
#report .archive {
  background: #5FB119;
  padding: 50px 0;
  text-align: center; }
  #report .archive p {
    color: #fff;
    display: inline-block;
    margin-right: 20px; }
  #report .archive select {
    padding: 10px 20px;
    border-radius: 5px; }
#report .pagenavi {
  text-align: center;
  padding: 50px 0; }
  #report .pagenavi .pager {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: center; }
    #report .pagenavi .pager dd {
      display: inline-block;
      margin: 0 5px; }
      #report .pagenavi .pager dd a {
        font-size: 16px;
        font-weight: 400;
        text-decoration: none;
        padding: 15px 18px;
        display: inline-block;
        line-height: 1;
        margin: 0 10px;
        border-radius: 50px;
        line-height: 1;
        color: #2E2E2E; }
        #report .pagenavi .pager dd a:hover {
          opacity: 0.7; }
      #report .pagenavi .pager dd.to_list a {
        background: #707070;
        color: #fff;
        padding: 15px 40px; }

@media screen and (max-width: 767px) {
  #report #report_main {
    padding: 10vw 0 10vw 5%; }
    #report #report_main .contents_wrap, #report #report_main .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #report #report_main .category {
      padding-bottom: 4vw; }
      #report #report_main .category .cat_list li {
        margin-right: 1vw; }
        #report #report_main .category .cat_list li a {
          padding: 1vw 2vw;
          font-size: 2.8vw; }
    #report #report_main .report_list ul li {
      padding: 3vw 0; }
      #report #report_main .report_list ul li dl {
        flex-wrap: wrap; }
        #report #report_main .report_list ul li dl .date {
          display: block;
          width: 100%;
          font-size: 3.6vw; }
        #report #report_main .report_list ul li dl .cat_post {
          width: 100%;
          padding-right: 0; }
        #report #report_main .report_list ul li dl .post_category {
          display: block; }
          #report #report_main .report_list ul li dl .post_category a {
            padding: 0.4vw 2vw;
            font-size: 2.4vw;
            margin-right: 1vw; }
        #report #report_main .report_list ul li dl .title {
          margin-top: 2vw; }
      #report #report_main .report_list ul li:after {
        display: none; }
    #report #report_main .report_detail .post_detail .title {
      font-size: 4vw;
      padding: 4vw 6vw;
      margin-bottom: 6vw; }
    #report #report_main .report_detail .post_detail dl {
      padding-bottom: 4vw;
      margin-bottom: 4vw;
      border-bottom: 1px #5FB119 solid; }
      #report #report_main .report_detail .post_detail dl dd {
        display: inline-block;
        margin-right: 4vw; }
    #report #report_main .report_detail .post_detail .date {
      font-size: 3.2vw; }
    #report #report_main .report_detail .post_detail .post_category a {
      padding: 0.4vw 2vw;
      font-size: 2.4vw;
      margin-right: 1vw; }
    #report #report_main .report_detail .post_detail .post_contents {
      padding: 0px 0 15vw;
      margin-bottom: 6vw; }
      #report #report_main .report_detail .post_detail .post_contents p {
        margin: 2vw 0; }
      #report #report_main .report_detail .post_detail .post_contents a {
        padding: 2vw 12vw;
        margin: 4vw auto; }
        #report #report_main .report_detail .post_detail .post_contents a:after {
          width: 3.2vw;
          height: 3.2vw;
          right: 3vw; }
      #report #report_main .report_detail .post_detail .post_contents img {
        margin: 3vw 0; }
      #report #report_main .report_detail .post_detail .post_contents blockquote {
        padding: 4vw; }
      #report #report_main .report_detail .post_detail .post_contents h1 {
        font-size: 7vw; }
      #report #report_main .report_detail .post_detail .post_contents h2 {
        font-size: 6vw;
        margin: 6vw 0 4vw; }
      #report #report_main .report_detail .post_detail .post_contents h3 {
        font-size: 5vw; }
      #report #report_main .report_detail .post_detail .post_contents h4 {
        font-size: 4vw; }
      #report #report_main .report_detail .post_detail .post_contents h5 {
        font-size: 3.6vw; }
      #report #report_main .report_detail .post_detail .post_contents h6 {
        font-size: 3.2vw; }
      #report #report_main .report_detail .post_detail .post_contents ul {
        margin: 4vw 0;
        padding: 0 4vw; }
        #report #report_main .report_detail .post_detail .post_contents ul li {
          text-indent: -4.4vw;
          margin-left: 4.4vw; }
      #report #report_main .report_detail .post_detail .post_contents ol {
        margin: 4vw 0;
        padding: 0 4vw; }
        #report #report_main .report_detail .post_detail .post_contents ol li {
          text-indent: -4.4vw;
          margin-left: 4.4vw; }
      #report #report_main .report_detail .post_detail .post_contents table td img {
        width: 99%;
        margin-bottom: 1vw; }
  #report .archive {
    padding: 10vw 0; }
    #report .archive p {
      display: block;
      margin-right: 0;
      margin-bottom: 2vw; }
    #report .archive select {
      padding: 2vw 3vw;
      border-radius: 1vw; }
  #report .pagenavi {
    padding: 10vw 0; }
    #report .pagenavi .pager {
      flex-wrap: nowrap; }
      #report .pagenavi .pager dd {
        margin: 0 0.5vw; }
        #report .pagenavi .pager dd a {
          font-size: 3vw;
          padding: 3vw;
          margin: 0 0vw; }
          #report .pagenavi .pager dd a img {
            width: 3vw; }
        #report .pagenavi .pager dd.to_list a {
          padding: 3vw 4vw; } }
/*=====================================================
入会する
======================================================*/
#join #join_main {
  padding: 50px 0 50px; }
  #join #join_main .contents_wrap, #join #join_main .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #join #join_main {
      padding: 50px 0 50px 10%; }
      #join #join_main .contents_wrap, #join #join_main .contents_wrap02 {
        margin: 0 auto 0 0; } }
#join .price_flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  height: auto;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 50px; }
  #join .price_flex .box {
    width: 32%;
    background: #fff;
    border-radius: 16px;
    border: 1px #707070 solid;
    padding: 30px 0 0;
    text-align: center; }
    #join .price_flex .box .ttl {
      font-size: 18px;
      line-height: 1.3; }
      #join .price_flex .box .ttl span {
        color: #5FB119; }
    #join .price_flex .box .plan {
      background: #707070;
      margin: 20px 0;
      color: #fff;
      font-size: 24px;
      font-weight: 500;
      letter-spacing: 3px;
      padding: 15px 0; }
    #join .price_flex .box .price_area {
      padding: 0 20px 20px;
      border-bottom: 1px #707070 solid; }
      #join .price_flex .box .price_area .yearly {
        font-size: 20px;
        letter-spacing: 3px; }
      #join .price_flex .box .price_area .price {
        font-size: 32px;
        line-height: 1; }
        #join .price_flex .box .price_area .price span {
          font-size: 48px;
          font-family: "Urbanist", sans-serif;
          margin-right: 6px; }
    #join .price_flex .box .box_btn_area {
      padding: 30px 20px 0; }
      #join .price_flex .box .box_btn_area .btn_ttl {
        font-size: 18px;
        margin-top: 10px;
        font-weight: 500; }
    #join .price_flex .box .btn {
      display: block;
      background: #85BE78;
      border: 2px #85BE78 solid;
      color: #fff;
      padding: 10px;
      position: relative;
      margin: 10px 0 30px;
      border-radius: 50px; }
      #join .price_flex .box .btn:after {
        content: "";
        width: 16px;
        height: 16px;
        background: url("../img/common/icon_btn.svg") no-repeat center;
        background-size: 100%;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%); }
      #join .price_flex .box .btn:hover {
        background: #fff;
        color: #85BE78;
        transition: 0.3s; }
      #join .price_flex .box .btn.pdf:before {
        content: "";
        width: 21px;
        height: 28px;
        background: url("../img/join/icon_pdf.svg") no-repeat;
        background-size: 100%;
        position: absolute;
        top: 50%;
        left: 15px;
        transform: translateY(-50%);
        z-index: 2; }
    #join .price_flex .box.regular .ttl span {
      color: #ED765A; }
    #join .price_flex .box.regular .btn {
      background: #ED765A;
      border: 2px #ED765A solid; }
      #join .price_flex .box.regular .btn:hover {
        background: #fff;
        color: #ED765A; }
#join .price_txt {
  text-align: center;
  margin-bottom: 10px; }
  #join .price_txt span {
    font-weight: 500; }
#join .btn_area .pdf_btn {
  display: inline-block;
  background: #fff;
  border: 2px #5FB119 solid;
  color: #5FB119;
  padding: 15px;
  position: relative;
  margin: 10px 0 30px;
  width: 260px;
  border-radius: 50px; }
  #join .btn_area .pdf_btn:before {
    content: "";
    width: 21px;
    height: 28px;
    background: url("../img/join/icon_pdf02.svg") no-repeat;
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    z-index: 2;
    transition: 0.3s; }
  #join .btn_area .pdf_btn:hover {
    transition: 0.3s;
    background: #5FB119;
    color: #fff; }
    #join .btn_area .pdf_btn:hover:before {
      background: url("../img/join/icon_pdf.svg") no-repeat;
      transition: 0.3s; }
  #join .btn_area .pdf_btn.to_home:before {
    display: none; }
#join .fax_area {
  border: 1px #707070 solid;
  margin: 80px 0 100px;
  padding: 40px;
  border-radius: 16px;
  text-align: center; }
  #join .fax_area .txt01 {
    font-size: 18px; }
  #join .fax_area .txt02 {
    font-size: 32px;
    font-family: "Urbanist", sans-serif;
    letter-spacing: 3px; }
#join #flow {
  background: #F4F1ED;
  padding: 80px 0; }
  #join #flow .contents_wrap, #join #flow .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #join #flow {
      padding: 50px 0 50px 10%; }
      #join #flow .contents_wrap, #join #flow .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #join #flow .flow_ttl {
    padding: 20px 30px;
    background: #707070;
    color: #fff;
    border-radius: 16px;
    font-size: 24px;
    margin-bottom: 20px; }
    #join #flow .flow_ttl span {
      font-size: 18px; }
    #join #flow .flow_ttl.m_top {
      margin-top: 100px; }
  #join #flow .step_box, #join #flow .step_box02 {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    margin-bottom: 20px; }
    #join #flow .step_box .step_flex, #join #flow .step_box02 .step_flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      align-items: center;
      justify-content: space-between; }
      #join #flow .step_box .step_flex .step, #join #flow .step_box02 .step_flex .step {
        width: 140px; }
        #join #flow .step_box .step_flex .step .number, #join #flow .step_box02 .step_flex .step .number {
          position: relative;
          width: 130px;
          height: 130px;
          background: #FFE1D9;
          border-radius: 500px; }
          #join #flow .step_box .step_flex .step .number p, #join #flow .step_box02 .step_flex .step .number p {
            font-family: "Urbanist", sans-serif;
            letter-spacing: 2px;
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            text-align: center;
            transform: translateY(-50%);
            color: #ED765A;
            font-size: 16px; }
            #join #flow .step_box .step_flex .step .number p span, #join #flow .step_box02 .step_flex .step .number p span {
              font-size: 24px; }
      #join #flow .step_box .step_flex .detail, #join #flow .step_box02 .step_flex .detail {
        width: calc(100% - 180px); }
        #join #flow .step_box .step_flex .detail .ttl, #join #flow .step_box02 .step_flex .detail .ttl {
          font-size: 24px;
          font-weight: 500;
          margin-bottom: 15px; }
        #join #flow .step_box .step_flex .detail .btn_area, #join #flow .step_box02 .step_flex .detail .btn_area {
          margin-top: 20px;
          text-align: left; }
          #join #flow .step_box .step_flex .detail .btn_area .btn01, #join #flow .step_box02 .step_flex .detail .btn_area .btn01 {
            color: #fff;
            background: #ED765A;
            border: 2px #ED765A solid;
            padding: 10px 10px;
            width: 260px;
            text-align: center; }
            #join #flow .step_box .step_flex .detail .btn_area .btn01:after, #join #flow .step_box02 .step_flex .detail .btn_area .btn01:after {
              background-image: url("../img/common/icon_btn.svg"); }
            #join #flow .step_box .step_flex .detail .btn_area .btn01:hover, #join #flow .step_box02 .step_flex .detail .btn_area .btn01:hover {
              background: #fff;
              color: #ED765A; }
        #join #flow .step_box .step_flex .detail.flex, #join #flow .step_box02 .step_flex .detail.flex {
          display: -webkit-box;
          display: -moz-box;
          display: -ms-box;
          display: -webkit-flexbox;
          display: -moz-flexbox;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: flex;
          -webkit-box-lines: multiple;
          -moz-box-lines: multiple;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: flex-start;
          height: auto;
          justify-content: space-between; }
          #join #flow .step_box .step_flex .detail.flex .left, #join #flow .step_box02 .step_flex .detail.flex .left {
            width: calc(100% - 200px); }
          #join #flow .step_box .step_flex .detail.flex .qr, #join #flow .step_box02 .step_flex .detail.flex .qr {
            width: 130px; }
  #join #flow .step_box02 .step_flex .step .number {
    background: #DEF0CD; }
    #join #flow .step_box02 .step_flex .step .number p {
      color: #5FB119; }
  #join #flow .step_box02 .step_flex .detail .txt a {
    color: #5FB119; }
  #join #flow .step_box02 .step_flex .detail .txt span {
    font-weight: 500; }
  #join #flow .step_box02 .step_flex .detail .btn_area .btn01 {
    width: 325px;
    background: #85BE78;
    border: 2px #85BE78 solid; }
    #join #flow .step_box02 .step_flex .detail .btn_area .btn01:hover {
      color: #85BE78; }
#join #member_rule {
  background: #fff;
  padding: 80px 0; }
  #join #member_rule .contents_wrap, #join #member_rule .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #join #member_rule {
      padding: 50px 0 50px 10%; }
      #join #member_rule .contents_wrap, #join #member_rule .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #join #member_rule .btn_area {
    text-align: left; }
  #join #member_rule .rule_box {
    background: #F3F1ED;
    padding: 30px 50px;
    border-radius: 16px;
    margin: 50px 0; }
    #join #member_rule .rule_box .flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      flex-wrap: nowrap; }
      #join #member_rule .rule_box .flex p {
        margin-right: 3%;
        font-size: 14px; }
  #join #member_rule .rule_txt {
    color: #2E2E2E;
    margin-bottom: 100px; }
    #join #member_rule .rule_txt span {
      font-weight: 500; }
    #join #member_rule .rule_txt em {
      margin-left: 14px;
      display: block; }
#join .join_sub_image, #join .join_fax {
  background: #5FB119;
  padding: 50px 0;
  text-align: center; }
  #join .join_sub_image .price_txt, #join .join_fax .price_txt {
    color: #fff; }
  #join .join_sub_image .fax_area, #join .join_fax .fax_area {
    background: #fff;
    margin: 0; }
  #join .join_sub_image .btn_area .pdf_btn, #join .join_fax .btn_area .pdf_btn {
    border: 2px #fff solid; }
#join #join_form_main {
  padding: 80px 0; }
  #join #join_form_main .contents_wrap, #join #join_form_main .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #join #join_form_main {
      padding: 50px 0 50px 10%; }
      #join #join_form_main .contents_wrap, #join #join_form_main .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #join #join_form_main .btn_area {
    text-align: left;
    margin: 40px 0; }
#join #form_area {
  background: #F4F1ED;
  padding: 80px 0; }
  #join #form_area .contents_wrap, #join #form_area .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #join #form_area {
      padding: 50px 0 50px 10%; }
      #join #form_area .contents_wrap, #join #form_area .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #join #form_area .form_box {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    margin-bottom: 20px; }
    #join #form_area .form_box .form_flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      justify-content: space-between; }
      #join #form_area .form_box .form_flex .require {
        display: inline-block;
        font-size: 12px;
        color: #fff;
        background: #ED765A;
        border-radius: 20px;
        line-height: 1;
        padding: 2px 10px; }
      #join #form_area .form_box .form_flex span.require {
        margin-left: 10px; }
      #join #form_area .form_box .form_flex .left {
        width: 250px; }
        #join #form_area .form_box .form_flex .left .ttl {
          font-size: 24px;
          font-weight: 500;
          line-height: 1.2; }
      #join #form_area .form_box .form_flex .right {
        width: calc(100% - 260px); }
        #join #form_area .form_box .form_flex .right .form_ttl {
          font-size: 18px;
          font-weight: 500;
          margin-top: 20px; }
          #join #form_area .form_box .form_flex .right .form_ttl:first-child {
            margin-top: 0; }
        #join #form_area .form_box .form_flex .right input[type=text], #join #form_area .form_box .form_flex .right input[type=email], #join #form_area .form_box .form_flex .right input[type=tel], #join #form_area .form_box .form_flex .right select, #join #form_area .form_box .form_flex .right textarea {
          border: 1px #2E2E2E solid;
          border-radius: 4px;
          padding: 15px;
          font-size: 16px;
          box-sizing: border-box;
          margin-bottom: 10px;
          width: 100%; }
          #join #form_area .form_box .form_flex .right input[type=text].half_input, #join #form_area .form_box .form_flex .right input[type=email].half_input, #join #form_area .form_box .form_flex .right input[type=tel].half_input, #join #form_area .form_box .form_flex .right select.half_input, #join #form_area .form_box .form_flex .right textarea.half_input {
            width: 40%; }
          #join #form_area .form_box .form_flex .right input[type=text].membership_amount, #join #form_area .form_box .form_flex .right input[type=email].membership_amount, #join #form_area .form_box .form_flex .right input[type=tel].membership_amount, #join #form_area .form_box .form_flex .right select.membership_amount, #join #form_area .form_box .form_flex .right textarea.membership_amount {
            width: 70px;
            margin-right: 10px; }
        #join #form_area .form_box .form_flex .right .wpcf7-list-item {
          display: block; }
        #join #form_area .form_box .form_flex .right .send_address {
          margin-left: 25px;
          margin-top: 15px; }
  #join #form_area .privacy_area {
    text-align: center;
    padding: 50px 0; }
    #join #form_area .privacy_area a {
      color: #2E2E2E;
      text-decoration: underline; }
  #join #form_area .btn_area .btn01 {
    cursor: pointer; }
    #join #form_area .btn_area .btn01:disabled {
      opacity: 0.5; }
  #join #form_area .wpcf7-spinner {
    display: none; }

@media screen and (max-width: 767px) {
  #join #join_main {
    padding: 10vw 0 10vw 5%; }
    #join #join_main .contents_wrap, #join #join_main .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
  #join .price_flex {
    margin-bottom: 8vw; }
    #join .price_flex .box {
      width: 100%;
      padding: 6vw 0 0;
      margin-bottom: 6vw; }
      #join .price_flex .box .ttl {
        font-size: 3.6vw; }
      #join .price_flex .box .plan {
        margin: 3vw 0;
        font-size: 4vw;
        padding: 3vw 0; }
      #join .price_flex .box .price_area {
        padding: 0 4vw 4vw; }
        #join .price_flex .box .price_area .yearly {
          font-size: 4vw; }
        #join .price_flex .box .price_area .price {
          font-size: 5vw; }
          #join .price_flex .box .price_area .price span {
            font-size: 7vw;
            margin-right: 1vw; }
      #join .price_flex .box .box_btn_area {
        padding: 5vw 4vw 0; }
        #join .price_flex .box .box_btn_area .btn_ttl {
          font-size: 3.6vw;
          margin-top: 2vw; }
      #join .price_flex .box .btn {
        padding: 3vw;
        margin: 2vw 0 6vw; }
        #join .price_flex .box .btn:after {
          width: 3.2vw;
          height: 3.2vw;
          right: 3vw; }
        #join .price_flex .box .btn.pdf:before {
          width: 4.2vw;
          height: 5.6vw;
          left: 3vw; }
  #join .price_txt {
    margin-bottom: 2vw; }
  #join .btn_area .pdf_btn {
    padding: 3vw;
    margin: 2vw 0 6vw;
    width: 80vw; }
    #join .btn_area .pdf_btn:before {
      width: 4.2vw;
      height: 5.6vw;
      left: 3vw; }
  #join .fax_area {
    margin: 10vw 0 15vw;
    padding: 6vw; }
    #join .fax_area .txt01 {
      font-size: 3.6vw; }
    #join .fax_area .txt02 {
      font-size: 6vw; }
  #join #flow {
    padding: 10vw 0 10vw 5%; }
    #join #flow .contents_wrap, #join #flow .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #join #flow .flow_ttl {
      padding: 4vw 5vw;
      font-size: 4.5vw;
      margin-bottom: 4vw; }
      #join #flow .flow_ttl span {
        font-size: 3.2vw; }
      #join #flow .flow_ttl.m_top {
        margin-top: 15vw; }
    #join #flow .step_box, #join #flow .step_box02 {
      padding: 5vw;
      margin-bottom: 4vw;
      margin-top: 17vw; }
      #join #flow .step_box .step_flex, #join #flow .step_box02 .step_flex {
        justify-content: center; }
        #join #flow .step_box .step_flex .step, #join #flow .step_box02 .step_flex .step {
          width: 30%;
          margin-top: -17vw;
          margin-bottom: 3vw; }
          #join #flow .step_box .step_flex .step .number, #join #flow .step_box02 .step_flex .step .number {
            width: 26vw;
            height: 26vw; }
            #join #flow .step_box .step_flex .step .number p, #join #flow .step_box02 .step_flex .step .number p {
              font-size: 3.2vw; }
              #join #flow .step_box .step_flex .step .number p span, #join #flow .step_box02 .step_flex .step .number p span {
                font-size: 4.8vw; }
        #join #flow .step_box .step_flex .detail, #join #flow .step_box02 .step_flex .detail {
          width: 100%; }
          #join #flow .step_box .step_flex .detail .ttl, #join #flow .step_box02 .step_flex .detail .ttl {
            font-size: 4vw;
            margin-bottom: 3vw;
            text-align: center; }
          #join #flow .step_box .step_flex .detail .btn_area, #join #flow .step_box02 .step_flex .detail .btn_area {
            margin-top: 4vw;
            text-align: center; }
            #join #flow .step_box .step_flex .detail .btn_area .btn01, #join #flow .step_box02 .step_flex .detail .btn_area .btn01 {
              padding: 4vw 2vw;
              width: 80vw; }
          #join #flow .step_box .step_flex .detail.flex .left, #join #flow .step_box02 .step_flex .detail.flex .left {
            width: 100%; }
          #join #flow .step_box .step_flex .detail.flex .qr, #join #flow .step_box02 .step_flex .detail.flex .qr {
            display: none; }
  #join #member_rule {
    padding: 10vw 0 10vw 5%; }
    #join #member_rule .contents_wrap, #join #member_rule .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #join #member_rule .rule_box {
      padding: 6vw;
      margin: 8vw 0; }
      #join #member_rule .rule_box .flex {
        flex-wrap: wrap; }
        #join #member_rule .rule_box .flex p {
          margin-right: 0;
          font-size: 2.8vw;
          width: 100%; }
    #join #member_rule .rule_txt {
      margin-bottom: 15vw; }
      #join #member_rule .rule_txt em {
        margin-left: 2.8vw; }
  #join .join_sub_image, #join .join_fax {
    padding: 10vw 0; }
  #join #join_form_main {
    padding: 10vw 0 10vw 5%; }
    #join #join_form_main .contents_wrap, #join #join_form_main .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #join #join_form_main .btn_area {
      text-align: center;
      margin: 6vw 0; }
  #join #form_area {
    padding: 10vw 0 10vw 5%; }
    #join #form_area .contents_wrap, #join #form_area .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #join #form_area .form_box {
      padding: 5vw;
      margin-bottom: 4vw; }
      #join #form_area .form_box .form_flex .require {
        font-size: 2.4vw;
        padding: 0.4vw 2vw0; }
      #join #form_area .form_box .form_flex span.require {
        margin-left: 2vw; }
      #join #form_area .form_box .form_flex .left {
        width: 100%;
        margin-bottom: 4vw; }
        #join #form_area .form_box .form_flex .left .ttl {
          font-size: 4.2vw; }
      #join #form_area .form_box .form_flex .right {
        width: 100%; }
        #join #form_area .form_box .form_flex .right .form_ttl {
          font-size: 3.6vw;
          margin-top: 4vw; }
          #join #form_area .form_box .form_flex .right .form_ttl:first-child {
            margin-top: 0; }
        #join #form_area .form_box .form_flex .right input[type=text], #join #form_area .form_box .form_flex .right input[type=email], #join #form_area .form_box .form_flex .right input[type=tel], #join #form_area .form_box .form_flex .right select, #join #form_area .form_box .form_flex .right textarea {
          padding: 2vw;
          font-size: 3.2vw;
          margin-bottom: 2vw; }
          #join #form_area .form_box .form_flex .right input[type=text].half_input, #join #form_area .form_box .form_flex .right input[type=email].half_input, #join #form_area .form_box .form_flex .right input[type=tel].half_input, #join #form_area .form_box .form_flex .right select.half_input, #join #form_area .form_box .form_flex .right textarea.half_input {
            width: 50%; }
          #join #form_area .form_box .form_flex .right input[type=text].membership_amount, #join #form_area .form_box .form_flex .right input[type=email].membership_amount, #join #form_area .form_box .form_flex .right input[type=tel].membership_amount, #join #form_area .form_box .form_flex .right select.membership_amount, #join #form_area .form_box .form_flex .right textarea.membership_amount {
            width: 40%;
            margin-right: 2vw; }
        #join #form_area .form_box .form_flex .right .send_address {
          margin-left: 4vw;
          margin-top: 3vw; }
    #join #form_area .privacy_area {
      padding: 8vw 0; } }
/*=====================================================
お問い合わせ
======================================================*/
#contact #contact_main {
  padding: 50px 0 50px; }
  #contact #contact_main .contents_wrap, #contact #contact_main .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #contact #contact_main {
      padding: 50px 0 50px 10%; }
      #contact #contact_main .contents_wrap, #contact #contact_main .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #contact #contact_main table {
    margin-bottom: 20px; }
    #contact #contact_main table th, #contact #contact_main table td {
      border: 1px #707070 solid;
      padding: 10px 20px;
      font-size: 18px;
      color: #2E2E2E; }
      #contact #contact_main table th a, #contact #contact_main table td a {
        color: #2E2E2E; }
    #contact #contact_main table th {
      background: #E6E4D8; }
#contact #form_area {
  background: #F4F1ED;
  padding: 80px 0; }
  #contact #form_area .contents_wrap, #contact #form_area .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #contact #form_area {
      padding: 50px 0 50px 10%; }
      #contact #form_area .contents_wrap, #contact #form_area .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #contact #form_area .form_box {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    margin-bottom: 20px; }
    #contact #form_area .form_box .form_flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: flex-start;
      height: auto;
      justify-content: space-between; }
      #contact #form_area .form_box .form_flex .require {
        display: inline-block;
        font-size: 12px;
        color: #fff;
        background: #ED765A;
        border-radius: 20px;
        line-height: 1;
        padding: 2px 10px; }
      #contact #form_area .form_box .form_flex span.require {
        margin-left: 10px; }
      #contact #form_area .form_box .form_flex .left {
        width: 250px; }
        #contact #form_area .form_box .form_flex .left .ttl {
          font-size: 24px;
          font-weight: 500;
          line-height: 1.2; }
      #contact #form_area .form_box .form_flex .right {
        width: calc(100% - 260px); }
        #contact #form_area .form_box .form_flex .right .form_ttl {
          font-size: 18px;
          font-weight: 500;
          margin-top: 20px; }
          #contact #form_area .form_box .form_flex .right .form_ttl:first-child {
            margin-top: 0; }
        #contact #form_area .form_box .form_flex .right input[type=text], #contact #form_area .form_box .form_flex .right input[type=email], #contact #form_area .form_box .form_flex .right input[type=tel], #contact #form_area .form_box .form_flex .right select, #contact #form_area .form_box .form_flex .right textarea {
          border: 1px #2E2E2E solid;
          border-radius: 4px;
          padding: 15px;
          font-size: 16px;
          box-sizing: border-box;
          margin-bottom: 10px;
          width: 100%; }
          #contact #form_area .form_box .form_flex .right input[type=text].half_input, #contact #form_area .form_box .form_flex .right input[type=email].half_input, #contact #form_area .form_box .form_flex .right input[type=tel].half_input, #contact #form_area .form_box .form_flex .right select.half_input, #contact #form_area .form_box .form_flex .right textarea.half_input {
            width: 40%; }
          #contact #form_area .form_box .form_flex .right input[type=text].membership_amount, #contact #form_area .form_box .form_flex .right input[type=email].membership_amount, #contact #form_area .form_box .form_flex .right input[type=tel].membership_amount, #contact #form_area .form_box .form_flex .right select.membership_amount, #contact #form_area .form_box .form_flex .right textarea.membership_amount {
            width: 70px;
            margin-right: 10px; }
        #contact #form_area .form_box .form_flex .right .wpcf7-list-item {
          display: block; }
        #contact #form_area .form_box .form_flex .right .send_address {
          margin-left: 25px;
          margin-top: 15px; }
  #contact #form_area .privacy_area {
    text-align: center;
    padding: 50px 0; }
    #contact #form_area .privacy_area a {
      color: #2E2E2E;
      text-decoration: underline; }
  #contact #form_area .btn_area .btn01 {
    cursor: pointer; }
    #contact #form_area .btn_area .btn01:disabled {
      opacity: 0.5; }
  #contact #form_area .wpcf7-spinner {
    display: none; }
#contact .contact_blank {
  padding: 40px 0;
  background: #5FB119; }
  #contact .contact_blank .btn_area .to_home {
    display: inline-block;
    background: #fff;
    border: 2px #5FB119 solid;
    color: #5FB119;
    padding: 15px;
    position: relative;
    margin: 10px 0 30px;
    width: 260px;
    border-radius: 50px;
    border: 2px #fff solid; }
    #contact .contact_blank .btn_area .to_home:hover {
      transition: 0.3s;
      background: #5FB119;
      color: #fff; }

@media screen and (max-width: 767px) {
  #contact #contact_main {
    padding: 10vw 0 10vw 5%; }
    #contact #contact_main .contents_wrap, #contact #contact_main .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
  #contact #form_area {
    padding: 10vw 0 10vw 5%; }
    #contact #form_area .contents_wrap, #contact #form_area .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #contact #form_area .form_box {
      padding: 5vw;
      margin-bottom: 4vw; }
      #contact #form_area .form_box .form_flex .require {
        font-size: 2.4vw;
        padding: 0.4vw 2vw0; }
      #contact #form_area .form_box .form_flex span.require {
        margin-left: 2vw; }
      #contact #form_area .form_box .form_flex .left {
        width: 100%;
        margin-bottom: 4vw; }
        #contact #form_area .form_box .form_flex .left .ttl {
          font-size: 4.2vw; }
      #contact #form_area .form_box .form_flex .right {
        width: 100%; }
        #contact #form_area .form_box .form_flex .right .form_ttl {
          font-size: 3.6vw;
          margin-top: 4vw; }
          #contact #form_area .form_box .form_flex .right .form_ttl:first-child {
            margin-top: 0; }
        #contact #form_area .form_box .form_flex .right input[type=text], #contact #form_area .form_box .form_flex .right input[type=email], #contact #form_area .form_box .form_flex .right input[type=tel], #contact #form_area .form_box .form_flex .right select, #contact #form_area .form_box .form_flex .right textarea {
          padding: 2vw;
          font-size: 3.2vw;
          margin-bottom: 2vw; }
          #contact #form_area .form_box .form_flex .right input[type=text].half_input, #contact #form_area .form_box .form_flex .right input[type=email].half_input, #contact #form_area .form_box .form_flex .right input[type=tel].half_input, #contact #form_area .form_box .form_flex .right select.half_input, #contact #form_area .form_box .form_flex .right textarea.half_input {
            width: 50%; }
          #contact #form_area .form_box .form_flex .right input[type=text].membership_amount, #contact #form_area .form_box .form_flex .right input[type=email].membership_amount, #contact #form_area .form_box .form_flex .right input[type=tel].membership_amount, #contact #form_area .form_box .form_flex .right select.membership_amount, #contact #form_area .form_box .form_flex .right textarea.membership_amount {
            width: 40%;
            margin-right: 2vw; }
        #contact #form_area .form_box .form_flex .right .send_address {
          margin-left: 4vw;
          margin-top: 3vw; }
    #contact #form_area .privacy_area {
      padding: 8vw 0; }
  #contact .contact_blank {
    padding: 8vw 0; }
    #contact .contact_blank .btn_area .to_home {
      padding: 3vw;
      margin: 0;
      width: 80vw; } }
/*=====================================================
プライバシーポリシー
======================================================*/
#privacy #privacy_main {
  padding: 50px 0 100px; }
  #privacy #privacy_main .contents_wrap, #privacy #privacy_main .contents_wrap02 {
    margin: 0 auto 0; }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #privacy #privacy_main {
      padding: 50px 0 100px 10%; }
      #privacy #privacy_main .contents_wrap, #privacy #privacy_main .contents_wrap02 {
        margin: 0 auto 0 0; } }
  #privacy #privacy_main .privacy_ttl {
    font-size: 32px;
    text-align: left;
    font-weight: 500;
    color: #5FB119;
    margin-top: 60px;
    margin-bottom: 10px; }
  #privacy #privacy_main .privacy_txt {
    color: #2E2E2E; }
    #privacy #privacy_main .privacy_txt span {
      font-weight: 500; }
    #privacy #privacy_main .privacy_txt em {
      margin-left: 14px;
      display: block; }
#privacy .privacy_blank {
  padding: 40px 0;
  background: #5FB119; }

@media screen and (max-width: 767px) {
  #privacy #privacy_main {
    padding: 10vw 0 10vw 5%; }
    #privacy #privacy_main .contents_wrap, #privacy #privacy_main .contents_wrap02 {
      margin: 0 auto 0 0;
      width: 95%; }
    #privacy #privacy_main .privacy_ttl {
      font-size: 5vw;
      margin-top: 8vw;
      margin-bottom: 2vw; }
    #privacy #privacy_main .privacy_txt em {
      margin-left: 2.8vw;
      display: block; }
  #privacy .privacy_blank {
    padding: 8vw 0; } }
