/* fv
=========================================== */
#fv {
  background-color: #f2f6f5; }
  #fv .container {
    max-width: 1260px;
    height: 480px;
    background-image: url(../img/top/main_visual.jpg);
    background-repeat: no-repeat;
    background-position: right center; }
    @media only screen and (max-width: 1350px) {
      #fv .container {
        max-width: none;
        width: 100%;
        /*padding-left: 5%;
      padding-right: 5%;*/
        background-position: right 60% center; } }
    @media only screen and (max-width: 1000px) {
      #fv .container {
        background-position: right 70% center; } }
    @media only screen and (max-width: 768px) {
      #fv .container {
        padding-left: 8px;
        padding-right: 10px; } }
    @media only screen and (max-width: 414px) {
      #fv .container {
        background-image: url(/img/top/main_visual_sp.jpg);
        background-position: left center;
        height: 510;
        background-size: 100% auto;
        position: relative; } }
    #fv .container .flex {
      align-items: center;
      height: 100%; }
      @media only screen and (max-width: 414px) {
        #fv .container .flex {
          align-items: flex-start;
          padding-top: 1em; } }
      #fv .container .flex .catch_copy {
        font-size: 36px;
        color: #00597b;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 1.9;
        white-space: nowrap; }
        @media only screen and (max-width: 1350px) {
          #fv .container .flex .catch_copy {
            padding-left: 5%; } }
        @media only screen and (max-width: 767px) {
          #fv .container .flex .catch_copy {
            font-size: 28px;
            text-align: left;
            padding-left: 0; } }
        @media only screen and (max-width: 414px) {
          #fv .container .flex .catch_copy {
            font-size: 20px; } }
      @media only screen and (max-width: 414px) {
        #fv .container .flex .intro_btn {
          position: absolute;
          bottom: 20px; } }
      #fv .container .flex .more {
        margin-top: 34px; }
        #fv .container .flex .more a {
          font-weight: bold;
          min-width: 342px;
          text-align: center;
          display: inline-block;
          padding: 14px 0; }
          @media only screen and (max-width: 414px) {
            #fv .container .flex .more a {
              font-size: 15px; } }

/* news
=========================================== */
#news h2 {
  font-size: 23px;
  color: #00597b; }

#news dl dt, #news dl dd {
  line-height: 1;
  padding: 10px 0; }

#news dl dt {
  float: left;
  width: 27%;
  clear: both;
  line-height: 1.5;
  display: flex; }
  @media only screen and (max-width: 1024px) {
    #news dl dt {
      width: 100%;
      padding-bottom: 0; } }
  #news dl dt p.category {
    font-size: 12px;
    color: #00597b;
    border: 1px #00597b solid;
    border-radius: 4px;
    width: 133px;
    margin-right: 30px;
    text-align: center;
    font-weight: bold;
    padding: 6px 0;
    line-height: 1;
    margin-left: 26px; }
    @media only screen and (max-width: 800px) {
      #news dl dt p.category {
        width: auto;
        min-width: 150px;
        margin-left: 18px; } }

#news dl dd {
  width: 73%;
  float: left;
  display: flex;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.6; }
  #news dl dd a {
    color: #333; }
  @media only screen and (max-width: 1050px) {
    #news dl dd {
      width: 100%; } }
  @media only screen and (max-width: 800px) {
    #news dl dd {
      padding-top: 5px; } }

/* about
=========================================== */
#about {
  background-color: #F2F6F5; }
  #about h2 {
    font-size: 32px;
    color: #00597b;
    line-height: 1.8;
    margin-bottom: 15px; }
    @media only screen and (max-width: 767px) {
      #about h2 {
        font-size: 26px; } }
  #about p.note {
    font-size: 14px;
    text-align: left; }
  #about .addBtn {
    margin-bottom: 30px; }
  #about .container > p {
    text-align: center; }
  #about .table_img {
    margin-top: 15px;
    text-align: center; }
  #about .white_box {
    background-color: #fff;
    padding: 2.5em 3em 1.5em 3em;
    border-radius: 20px;
    max-width: 760px;
    margin: auto; }
    @media only screen and (max-width: 800px) {
      #about .white_box {
        padding: 26px; } }
    #about .white_box h3 {
      font-size: 26px;
      color: #00597b;
      margin-bottom: 10px;
      line-height: 1.4; }
      @media only screen and (max-width: 800px) {
        #about .white_box h3 {
          font-size: 20px;
          line-height: 1.6; } }
    #about .white_box .flex > div:nth-child(1) {
      width: 16%; }
      @media only screen and (max-width: 800px) {
        #about .white_box .flex > div:nth-child(1) {
          width: 8%; } }
      @media only screen and (max-width: 414px) {
        #about .white_box .flex > div:nth-child(1) {
          width: 20%; } }
    #about .white_box .flex > div:nth-child(2) {
      width: 82%; }
      @media only screen and (max-width: 800px) {
        #about .white_box .flex > div:nth-child(2) {
          width: 91%; } }
      @media only screen and (max-width: 414px) {
        #about .white_box .flex > div:nth-child(2) {
          width: 78%; } }
    @media only screen and (max-width: 800px) {
      #about .white_box img {
        width: 39px; } }
  #about .sinsei,
  #about .houkoku {
    margin-top: 30px;
    margin-bottom: 26px; }
  #about .btn_box {
    max-width: 932px;
    margin: 30px auto 0 auto; }
    @media only screen and (max-width: 988px) {
      #about .btn_box {
        flex-direction: column; } }
    @media only screen and (max-width: 800px) {
      #about .btn_box {
        margin-top: 0; } }
  #about .more a {
    min-width: 450px;
    padding: 14px 0; }
    @media only screen and (max-width: 470px) {
      #about .more a {
        min-width: auto;
        width: 100%; } }

/* regist_login_area
=========================================== */
#regist_login_area .flex {
  max-width: 732px;
  margin-left: auto;
  margin-right: auto; }
  #regist_login_area .flex > div {
    text-align: center;
    width: 50%;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      #regist_login_area .flex > div {
        width: 100%; } }
    #regist_login_area .flex > div p {
      font-size: 23px;
      font-weight: bold;
      color: #000; }
      @media only screen and (max-width: 767px) {
        #regist_login_area .flex > div p {
          font-size: 20px; } }
    #regist_login_area .flex > div .more {
      margin-top: 15px;
      margin-left: auto;
      margin-right: auto; }
      #regist_login_area .flex > div .more a {
        background-color: #fff;
        border: 2px #00597b solid;
        color: #00597b; }
        #regist_login_area .flex > div .more a:before, #regist_login_area .flex > div .more a:after {
          border-color: #00597b; }
    #regist_login_area .flex > div:nth-child(1) {
      position: relative; }
      @media only screen and (max-width: 767px) {
        #regist_login_area .flex > div:nth-child(1) {
          margin-bottom: 32px; } }
      #regist_login_area .flex > div:nth-child(1):before {
        content: "";
        display: block;
        width: 1px;
        height: 140px;
        background-color: #C6C6C6;
        position: absolute;
        right: 0;
        top: -10px; }
        @media only screen and (max-width: 767px) {
          #regist_login_area .flex > div:nth-child(1):before {
            display: none; } }

/*# sourceMappingURL=top.css.map */