@charset "UTF-8";
/*---------------------------
basic setting
---------------------------*/
@media screen and (min-width: 769px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 768px) {
  .pc {
    display: none !important; } }
/*---------------------------
下層ページ設定
---------------------------*/
body.single .title, body#confirm .title {
  margin: 60px auto 20px; }
  @media (max-width: 768px) {
    body.single .title, body#confirm .title {
      margin: 80px auto 50px; } }
body.single p, body#confirm p {
  line-height: 1.7; }

/*single*/
body.single .title {
  color: #181878;
  text-align: center;
  font-size: 2rem;
  font-weight: normal;
  margin: 180px 0 80px;
  font-weight: bold; }
  @media (max-width: 768px) {
    body.single .title {
      font-size: 5.5vw;
      line-height: 0.7;
      margin-top: 40px; } }
  body.single .title .small {
    font-size: 55%;
    letter-spacing: 0.1em; }
    @media (max-width: 768px) {
      body.single .title .small {
        font-size: 50%; } }
body.single article.news {
  line-height: 1.65; }
  body.single article.news .newsheading {
    height: 100%; }
    body.single article.news .newsheading h1 {
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0; }
      @media (max-width: 768px) {
        body.single article.news .newsheading h1 {
          line-height: 1.2; } }
    body.single article.news .newsheading .meta {
      margin-bottom: 0.5em; }
      @media (max-width: 768px) {
        body.single article.news .newsheading .meta {
          margin-top: 2rem; } }
    body.single article.news .newsheading .meta {
      display: flex;
      align-items: center; }
      body.single article.news .newsheading .meta .date {
        font-size: 1em;
        vertical-align: middle;
        margin-right: 1em; }
      body.single article.news .newsheading .meta .category {
        border: 1px solid #181878;
        font-size: 0.8rem;
        padding: 0.1em 1em; }
  body.single article.news .newsimage {
    margin-top: 40px;
    text-align: center; }
    body.single article.news .newsimage img {
      vertical-align: middle; }
      @media (max-width: 768px) {
        body.single article.news .newsimage img {
          width: 100%;
          height: auto; } }
  body.single article.news .newscontent {
    margin-top: 40px;
    font-size: 1em;
    padding-bottom: 60px; }
    body.single article.news .newscontent h1 {
      font-size: 2rem;
      font-weight: bold; }
    body.single article.news .newscontent h2 {
      font-size: 1.7rem;
      font-weight: bold; }
    body.single article.news .newscontent h3 {
      font-size: 1.5rem;
      font-weight: bold; }
    body.single article.news .newscontent h4 {
      font-size: 1.3rem;
      font-weight: bold; }
    body.single article.news .newscontent h5 {
      font-size: 1.2rem;
      font-weight: bold; }
    body.single article.news .newscontent h6 {
      font-size: 1.1rem;
      font-weight: bold; }
    body.single article.news .newscontent p strong {
      font-weight: bold; }
    body.single article.news .newscontent ul {
      list-style: disc; }
      body.single article.news .newscontent ul li {
        list-style: disc; }
    body.single article.news .newscontent ol {
      list-style: decimal; }
      body.single article.news .newscontent ol li {
        list-style: decimal; }
    body.single article.news .newscontent p {
      margin-bottom: 1.5em; }
    body.single article.news .newscontent > *:last-child {
      margin-bottom: 0; }
    body.single article.news .newscontent img {
      max-width: 100%;
      height: auto; }
body.single .newsfooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: bold;
  margin-top: 50px;
  padding-top: 30px;
  border-top: 1px dotted #1c2469;
  padding-bottom: 150px; }
  body.single .newsfooter .prev, body.single .newsfooter .index, body.single .newsfooter .next {
    width: 33.3%;
    color: #cccccc; }
  body.single .newsfooter .prev {
    text-align: left; }
  body.single .newsfooter .index {
    text-align: center; }
  body.single .newsfooter .next {
    text-align: right; }

#company .sec01 .cts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between; }
  #company .sec01 .cts .box {
    position: relative;
    width: 48%; }
    #company .sec01 .cts .box:nth-child(n+3) {
      margin-top: 30px; }
    #company .sec01 .cts .box img {
      width: 100%;
      height: auto; }
    #company .sec01 .cts .box .box_title {
      font-size: 1.1rem;
      text-align: center;
      color: #45B035;
      margin-top: 1rem; }
      @media (max-width: 768px) {
        #company .sec01 .cts .box .box_title {
          font-size: 0.9rem;
          margin-top: 0.5rem; } }
    #company .sec01 .cts .box a.link {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
#company .sec02 .cts .block {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 768px) {
    #company .sec02 .cts .block {
      display: block; } }
  #company .sec02 .cts .block .box {
    width: 48%; }
    @media (max-width: 768px) {
      #company .sec02 .cts .block .box {
        width: 90%;
        margin: auto; } }
    #company .sec02 .cts .block .box img {
      width: 100%;
      height: auto; }
    #company .sec02 .cts .block .box .textwrap {
      margin-top: 1rem;
      display: flex;
      justify-content: space-around;
      font-size: 0.9rem;
      line-height: 1.5; }
      #company .sec02 .cts .block .box .textwrap .small {
        font-size: 90%; }
      @media (max-width: 768px) {
        #company .sec02 .cts .block .box .textwrap {
          margin-top: 0.5rem;
          font-size: 0.8rem; } }
  #company .sec02 .cts .block .text {
    font-size: 1.1rem;
    width: 48%;
    line-height: 1.8;
    letter-spacing: 0.1rem; }
    @media (max-width: 768px) {
      #company .sec02 .cts .block .text {
        width: 90%;
        margin: 2rem auto 0;
        font-size: 0.9rem; } }
@media (max-width: 768px) {
  #company .sec03 {
    padding-left: 0; } }
#company .sec03 .cts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  margin: auto; }
  #company .sec03 .cts .box {
    width: 20%;
    position: relative; }
    @media (max-width: 768px) {
      #company .sec03 .cts .box {
        width: 30%; } }
    #company .sec03 .cts .box img {
      width: 100%;
      height: auto;
      margin-top: 5px; }
      @media (max-width: 768px) {
        #company .sec03 .cts .box img {
          margin-top: 0; } }
    #company .sec03 .cts .box .name {
      font-size: 1.3rem;
      text-align: center;
      color: #231815;
      margin-top: 1rem;
      min-height: 3.6em; }
      @media (max-width: 768px) {
        #company .sec03 .cts .box .name {
          font-size: 0.9rem;
          min-height: 4.2em; } }
      #company .sec03 .cts .box .name .small {
        display: block;
        font-size: 0.7rem;
        margin-bottom: 5px; }
        @media (max-width: 768px) {
          #company .sec03 .cts .box .name .small {
            font-size: 0.5rem; } }
      #company .sec03 .cts .box .name .small02 {
        font-size: 65%;
        margin-bottom: 0; }
    #company .sec03 .cts .box a.modal {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #company .sec03 .cts .modalbox {
    display: none; }
#company .sec03 .cts02 .modalbox {
  display: none; }
@media (max-width: 768px) {
  #company .sec03 .cts02 {
    display: block; } }
#company .sec03 .cts02 .title.small {
  color: #bfc0c0;
  font-size: 1.1rem; }
  @media (max-width: 768px) {
    #company .sec03 .cts02 .title.small {
      font-size: 0.9rem; } }
#company .sec03 .cts02 .block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: auto; }
  @media (max-width: 768px) {
    #company .sec03 .cts02 .block {
      width: 70%; } }
  #company .sec03 .cts02 .block .box {
    width: 20%; }
    @media (max-width: 768px) {
      #company .sec03 .cts02 .block .box {
        width: 40%; }
        #company .sec03 .cts02 .block .box:nth-child(n+5) {
          margin-top: 2rem; } }
    #company .sec03 .cts02 .block .box .name {
      font-size: 1.3rem;
      text-align: center;
      color: #231815;
      margin-top: 1rem; }
      @media (max-width: 768px) {
        #company .sec03 .cts02 .block .box .name {
          font-size: 0.9rem;
          text-align: left; } }
      #company .sec03 .cts02 .block .box .name .small {
        display: block;
        font-size: 0.7rem; }
        @media (max-width: 768px) {
          #company .sec03 .cts02 .block .box .name .small {
            font-size: 0.5rem; } }
        #company .sec03 .cts02 .block .box .name .small.position {
          margin-bottom: 5px; }
        #company .sec03 .cts02 .block .box .name .small.kana {
          margin-top: 5px; }
#company .modaal-container {
  max-width: 750px;
  width: 70%; }
  @media (max-width: 768px) {
    #company .modaal-container {
      width: 100%; } }
  @media (max-width: 768px) {
    #company .modaal-container .modaal-content-container {
      padding: 20px; } }
  #company .modaal-container .modaal-content-container .inbox_wrap {
    display: flex;
    justify-content: space-between;
    align-content: flex-start;
    padding: 8%; }
    @media (max-width: 768px) {
      #company .modaal-container .modaal-content-container .inbox_wrap {
        padding: 0; } }
    #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 {
      width: 30%; }
      #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 img {
        width: 100%;
        height: auto; }
      #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name {
        font-size: 1.3rem;
        text-align: center;
        color: #231815;
        margin-top: 1rem; }
        @media (max-width: 768px) {
          #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name {
            font-size: 0.9rem; } }
        #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small {
          display: block;
          font-size: 0.7rem; }
          @media (max-width: 768px) {
            #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small {
              font-size: 0.5rem; } }
          #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small.position {
            margin-bottom: 5px; }
          #company .modaal-container .modaal-content-container .inbox_wrap .inbox01 .name .small.kana {
            margin-top: 5px; }
      #company .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly {
        width: 100%; }
        #company .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .name {
          text-align: left; }
        #company .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile {
          margin-top: 2rem;
          font-size: 0.8rem;
          line-height: 1.5; }
          @media (max-width: 768px) {
            #company .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .profile {
              font-size: 0.6rem; } }
        #company .modaal-container .modaal-content-container .inbox_wrap .inbox01.textonly .text {
          margin-top: 50px;
          text-align: justify;
          text-justify: inter-ideograph; }
    #company .modaal-container .modaal-content-container .inbox_wrap .inbox02 {
      width: 65%; }
      #company .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile {
        font-size: 0.8rem;
        line-height: 1.5; }
        @media (max-width: 768px) {
          #company .modaal-container .modaal-content-container .inbox_wrap .inbox02 .profile {
            font-size: 0.5rem; } }
      #company .modaal-container .modaal-content-container .inbox_wrap .inbox02 .text {
        margin-top: 50px;
        text-align: justify;
        text-justify: inter-ideograph; }
        @media (max-width: 768px) {
          #company .modaal-container .modaal-content-container .inbox_wrap .inbox02 .text {
            margin-top: 1rem;
            font-size: 0.6rem; } }
  #company .modaal-container .modaal-close:hover:before, #company .modaal-container .modaal-close:hover:after {
    background: #45B035; }
#company .sec04 {
  margin-top: 250px;
  padding-top: 0; }
  #company .sec04.sec {
    width: 95%; }
  @media (max-width: 768px) {
    #company .sec04 {
      margin-top: 100px; } }
  #company .sec04 dl {
    width: 74%;
    margin: auto;
    line-height: 1.8;
    font-size: 1rem;
    letter-spacing: 0.1rem; }
    @media (max-width: 768px) {
      #company .sec04 dl {
        width: 100%;
        font-size: 0.5rem;
        letter-spacing: normal; } }
    #company .sec04 dl .row {
      display: flex;
      align-items: flex-start;
      border-bottom: 1px solid #dcdddd;
      padding: 30px 0; }
      #company .sec04 dl .row.last {
        border-bottom: none; }
      @media (max-width: 768px) {
        #company .sec04 dl .row {
          padding: 20px 0; } }
      #company .sec04 dl .row dt {
        width: 20%;
        color: #181878; }
        @media (max-width: 768px) {
          #company .sec04 dl .row dt {
            width: 20%; } }
      #company .sec04 dl .row dd {
        width: 90%; }
        #company .sec04 dl .row dd.place span.name {
          font-weight: bold; }
        @media (max-width: 768px) {
          #company .sec04 dl .row dd.place span.name {
            display: block;
            font-size: 0.7rem;
            margin-top: 5px; }
            #company .sec04 dl .row dd.place span.name:first-child {
              margin-top: 0; } }
        #company .sec04 dl .row dd.officer {
          display: flex;
          align-items: flex-start; }
          #company .sec04 dl .row dd.officer .box01 {
            width: 40%; }
            @media (max-width: 768px) {
              #company .sec04 dl .row dd.officer .box01 {
                width: 50%; } }
          #company .sec04 dl .row dd.officer .box02 {
            width: 70%; }
            #company .sec04 dl .row dd.officer .box02 .small {
              font-size: 0.9rem; }
              @media (max-width: 768px) {
                #company .sec04 dl .row dd.officer .box02 .small {
                  font-size: 0.5rem; } }
        #company .sec04 dl .row dd.businessDescription .block {
          margin-top: 80px; }
          #company .sec04 dl .row dd.businessDescription .block:first-child {
            margin-top: 0; }
          #company .sec04 dl .row dd.businessDescription .block .serviceTitle {
            font-size: 1.3rem;
            font-weight: bold; }
            #company .sec04 dl .row dd.businessDescription .block .serviceTitle.tsukigime {
              color: #181878; }
            #company .sec04 dl .row dd.businessDescription .block .serviceTitle.building {
              color: #006934; }
            @media (max-width: 768px) {
              #company .sec04 dl .row dd.businessDescription .block .serviceTitle {
                font-size: 0.8rem; } }
          #company .sec04 dl .row dd.businessDescription .block .box {
            margin-top: 15px; }
            #company .sec04 dl .row dd.businessDescription .block .box .copy {
              font-size: 1rem; }
              @media (max-width: 768px) {
                #company .sec04 dl .row dd.businessDescription .block .box .copy {
                  font-size: 0.5rem; } }
            #company .sec04 dl .row dd.businessDescription .block .box .serviceName {
              font-size: 1.2rem;
              color: #181878;
              margin-top: 2px;
              font-weight: bold; }
              #company .sec04 dl .row dd.businessDescription .block .box .serviceName.tsukigime {
                color: #181878; }
              #company .sec04 dl .row dd.businessDescription .block .box .serviceName.building {
                color: #006934; }
              @media (max-width: 768px) {
                #company .sec04 dl .row dd.businessDescription .block .box .serviceName {
                  font-size: 0.7rem; } }
            #company .sec04 dl .row dd.businessDescription .block .box .gotoLink {
              margin-top: 10px;
              font-size: 0.8rem;
              display: block;
              width: 40%;
              padding: 1px 0;
              text-align: center;
              border-radius: 8px;
              display: flex;
              align-items: center;
              justify-content: center;
              border: 1px solid #cdc8e1;
              font-weight: bold; }
              #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.tsukigime {
                color: #181878;
                background-color: #cdc8e1; }
                #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.tsukigime:link, #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.tsukigime:visited {
                  color: #181878; }
                #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.tsukigime:hover {
                  background-color: #181878;
                  color: #fff; }
              #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.building {
                color: #006934;
                background-color: #ceddcd; }
                #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.building:link, #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.building:visited {
                  color: #006934; }
                #company .sec04 dl .row dd.businessDescription .block .box .gotoLink.building:hover {
                  background-color: #006934;
                  color: #fff; }
              @media (max-width: 768px) {
                #company .sec04 dl .row dd.businessDescription .block .box .gotoLink {
                  font-size: 0.5rem;
                  width: 60%;
                  padding: 0;
                  margin-top: 5px; } }
              #company .sec04 dl .row dd.businessDescription .block .box .gotoLink:link, #company .sec04 dl .row dd.businessDescription .block .box .gotoLink:visited {
                color: #181878; }
              #company .sec04 dl .row dd.businessDescription .block .box .gotoLink:hover {
                color: #fff;
                transition: 1s; }
        #company .sec04 dl .row dd.suppliers {
          font-size: 0.8rem;
          display: flex;
          letter-spacing: 0; }
          @media (max-width: 768px) {
            #company .sec04 dl .row dd.suppliers {
              font-size: 7px; } }
          #company .sec04 dl .row dd.suppliers .box:first-child {
            width: 47%;
            margin-right: 3%; }
            @media (max-width: 768px) {
              #company .sec04 dl .row dd.suppliers .box:first-child {
                width: 50%;
                margin-right: 3%; } }
      #company .sec04 dl .row:first-child {
        padding-top: 0; }
    #company .sec04 dl p.caption {
      font-size: 0.8rem;
      text-align: right; }
      @media (max-width: 768px) {
        #company .sec04 dl p.caption {
          font-size: 7px; } }
#company .sec05 {
  padding-bottom: 100px;
  font-size: 0.9rem; }
  @media (max-width: 768px) {
    #company .sec05 {
      font-size: 0.7rem; } }
  #company .sec05 .historyBox {
    width: 80%;
    margin: auto; }
    @media (max-width: 768px) {
      #company .sec05 .historyBox {
        width: 95%; } }
    #company .sec05 .historyBox .row {
      display: flex;
      align-items: flex-start;
      margin-top: 20px;
      line-height: 1.5; }
      #company .sec05 .historyBox .row:first-child {
        margin-top: 0; }
      #company .sec05 .historyBox .row dt {
        width: 15%; }
        @media (max-width: 768px) {
          #company .sec05 .historyBox .row dt {
            widows: 18%; } }
      #company .sec05 .historyBox .row dd.description p:first-child {
        margin-bottom: 20px; }

#access {
  padding-top: 0; }
  #access .map_detail {
    margin-top: 200px; }
    @media (max-width: 768px) {
      #access .map_detail {
        margin-top: 100px; } }
    #access .map_detail .block {
      width: 80%;
      margin: 80px auto 0;
      display: flex;
      justify-content: space-between; }
      #access .map_detail .block:first-child {
        margin-top: 0; }
      @media (max-width: 768px) {
        #access .map_detail .block {
          width: 100%; } }
      #access .map_detail .block .box.box01 {
        width: 58%; }
        @media (max-width: 768px) {
          #access .map_detail .block .box.box01 {
            width: 50%; } }
      #access .map_detail .block .box.box02 {
        width: 42%; }
        @media (max-width: 768px) {
          #access .map_detail .block .box.box02 {
            width: 50%; } }
      #access .map_detail .block .box .address {
        letter-spacing: 0.1rem;
        color: #181878; }
        #access .map_detail .block .box .address .name {
          font-size: 1.3rem; }
          @media (max-width: 768px) {
            #access .map_detail .block .box .address .name {
              font-size: 0.9rem; } }
          #access .map_detail .block .box .address .name .small {
            font-size: 0.9rem;
            color: #8d81b5; }
            @media (max-width: 768px) {
              #access .map_detail .block .box .address .name .small {
                font-size: 0.6em; } }
        #access .map_detail .block .box .address .text {
          margin-top: 10px;
          color: #181878;
          font-size: 0.9rem;
          line-height: 1.2; }
          @media (max-width: 768px) {
            #access .map_detail .block .box .address .text {
              font-size: 0.6rem; } }
        #access .map_detail .block .box .address .detail_btn {
          display: block;
          background: #181878;
          color: #fff;
          font-size: 0.8rem;
          border-radius: 50px;
          border: 1px solid #181878;
          width: 60%;
          padding: 5px 0;
          text-align: center;
          margin-top: 10px; }
          #access .map_detail .block .box .address .detail_btn:hover {
            background-color: #fff;
            color: #181878;
            transition: 1s; }
          @media (max-width: 768px) {
            #access .map_detail .block .box .address .detail_btn {
              width: 80%;
              font-size: 0.5rem;
              padding: 2px 0;
              margin-top: 5px; } }
      #access .map_detail .block .box .gmap {
        width: 100%;
        height: 0;
        overflow: hidden;
        padding-bottom: 61.7%;
        position: relative; }
        @media (max-width: 768px) {
          #access .map_detail .block .box .gmap {
            padding-bottom: 70%; } }
        #access .map_detail .block .box .gmap iframe {
          position: absolute;
          left: 0;
          top: 0;
          height: 100%;
          width: 100%; }

#contact .sec01 .formwrap {
  width: 100%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 768px) {
    #contact .sec01 .formwrap {
      display: block; } }
  #contact .sec01 .formwrap .form {
    width: 70%;
    margin: auto; }
    @media (max-width: 768px) {
      #contact .sec01 .formwrap .form {
        width: 100%; }
        #contact .sec01 .formwrap .form:first-child {
          margin-bottom: 100px; } }
    #contact .sec01 .formwrap .form h3 {
      font-size: 1.3rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 30px;
      color: #181878; }
    #contact .sec01 .formwrap .form .text {
      font-size: 1.1rem;
      line-height: 1.8; }
      @media (max-width: 768px) {
        #contact .sec01 .formwrap .form .text {
          font-size: 0.9rem; } }
    #contact .sec01 .formwrap .form .case_box {
      position: relative;
      border: 2px solid #181878;
      padding: 8%;
      border-radius: 20px; }
      @media (max-width: 768px) {
        #contact .sec01 .formwrap .form .case_box {
          padding: 5%; } }
      #contact .sec01 .formwrap .form .case_box .case_box_title {
        display: inline-block;
        position: absolute;
        color: #45B035;
        background-color: #fff;
        top: -5%;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
        width: 28rem; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .case_box .case_box_title {
            font-size: 0.7rem;
            width: 19rem; } }
      #contact .sec01 .formwrap .form .case_box .list_wrap {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #contact .sec01 .formwrap .form .case_box .list_wrap ul {
          width: 50%; }
          #contact .sec01 .formwrap .form .case_box .list_wrap ul li {
            font-size: 1rem;
            margin-bottom: 8px;
            padding-left: 25px;
            line-height: 1.6em;
            background: url("../images/egg.png") left 0px top 3px no-repeat;
            background-size: 15px auto; }
            @media (max-width: 768px) {
              #contact .sec01 .formwrap .form .case_box .list_wrap ul li {
                padding-left: 10%;
                font-size: 0.5rem;
                background-size: 10px auto;
                margin-bottom: 3px; } }
            #contact .sec01 .formwrap .form .case_box .list_wrap ul li:last-child {
              margin-bottom: 0; }
        #contact .sec01 .formwrap .form .case_box .list_wrap img {
          width: 45%;
          height: auto; }
    #contact .sec01 .formwrap .form .block {
      width: 90%;
      margin: 70px auto 0; }
      @media (max-width: 768px) {
        #contact .sec01 .formwrap .form .block {
          width: 100%; } }
      #contact .sec01 .formwrap .form .block .box {
        display: flex;
        margin-bottom: 25px;
        font-size: 1rem; }
        #contact .sec01 .formwrap .form .block .box label {
          display: block;
          width: 25%;
          text-align: center;
          background: #dad6e9;
          color: #181878;
          display: flex;
          justify-content: center;
          align-items: center;
          margin-right: 3%;
          font-size: 0.8rem;
          font-weight: bold; }
          #contact .sec01 .formwrap .form .block .box label .labelin {
            display: block; }
        #contact .sec01 .formwrap .form .block .box input {
          width: 72%;
          display: block;
          height: 2.5rem;
          padding: 0 10px;
          font-size: 1.2rem; }
        #contact .sec01 .formwrap .form .block .box textarea {
          width: 72%;
          height: 180px;
          padding: 10px;
          font-size: 1.2rem; }
    #contact .sec01 .formwrap .form .acceptance {
      text-align: center;
      margin-top: 60px; }
      #contact .sec01 .formwrap .form .acceptance #agree {
        line-height: 1.5;
        margin-top: 5px; }
      @media (max-width: 768px) {
        #contact .sec01 .formwrap .form .acceptance {
          margin-top: 30px;
          font-size: 0.9rem; } }
    #contact .sec01 .formwrap .form .submitbtn {
      margin-top: 30px; }
      #contact .sec01 .formwrap .form .submitbtn input {
        display: block;
        width: 45%;
        margin: auto;
        background-color: #45B035;
        color: #fff;
        padding: 8px 0;
        border: 1px solid #45B035;
        font-size: 0.9rem; }
        @media (max-width: 768px) {
          #contact .sec01 .formwrap .form .submitbtn input {
            width: 100%; } }
        #contact .sec01 .formwrap .form .submitbtn input:hover {
          background-color: #fff;
          color: #45B035;
          transition: 1s; }

/*確認画面*/
#confirm .text {
  text-align: center;
  margin-top: 100px;
  font-size: 0.9rem; }
  @media (max-width: 768px) {
    #confirm .text {
      margin-top: 50px; } }
#confirm .form {
  width: 60%;
  margin: 100px auto 0;
  font-size: 0.9rem; }
  @media (max-width: 768px) {
    #confirm .form {
      width: 100%;
      margin-top: 50px; } }
  #confirm .form .formTable {
    width: 100%; }
    #confirm .form .formTable tr {
      border-bottom: 1px solid #333; }
      #confirm .form .formTable tr:first-child {
        border-top: 1px solid #333; }
      #confirm .form .formTable tr th {
        font-weight: normal; }
      #confirm .form .formTable tr td {
        padding: 20px 0; }
  #confirm .form .btn_box {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #confirm .form .btn_box .btn {
      background-color: #45B035;
      color: #fff;
      padding: 10px 0;
      border: 1px solid #45B035;
      width: 45%;
      margin: 80px 0; }
      #confirm .form .btn_box .btn.back {
        background: gray;
        border: 1px solid gray; }
      #confirm .form .btn_box .btn:hover {
        background-color: #fff;
        color: #45B035;
        transition: 1s; }

/*サンクスページ*/
/*個人情報保護方針*/
#privacy-policy .title_header, #privacy .title_header {
  display: flex;
  position: relative;
  margin-top: 100px; }
  @media (max-width: 768px) {
    #privacy-policy .title_header, #privacy .title_header {
      margin-top: 50px; } }
  #privacy-policy .title_header .title, #privacy .title_header .title {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 1rem;
    color: #231815; }
  #privacy-policy .title_header .date, #privacy .title_header .date {
    margin-left: auto;
    margin-top: 80px;
    text-align: right;
    font-size: 0.8rem; }
    @media (max-width: 768px) {
      #privacy-policy .title_header .date, #privacy .title_header .date {
        font-size: 0.6rem; } }
#privacy-policy .cts, #privacy .cts {
  margin-top: 100px; }
  @media (max-width: 768px) {
    #privacy-policy .cts, #privacy .cts {
      margin-top: 50px; } }
  #privacy-policy .cts .text, #privacy .cts .text {
    margin-top: 80px;
    font-size: 0.9rem; }
    @media (max-width: 768px) {
      #privacy-policy .cts .text, #privacy .cts .text {
        margin-top: 50px;
        font-size: 0.7rem; } }
    #privacy-policy .cts .text:first-child, #privacy .cts .text:first-child {
      margin-top: 0; }
  #privacy-policy .cts .address_box, #privacy .cts .address_box {
    margin-top: 50px;
    width: 38%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 0.9rem;
    line-height: 1.5; }
    @media (max-width: 768px) {
      #privacy-policy .cts .address_box, #privacy .cts .address_box {
        margin-top: 20px;
        width: 100%;
        justify-content: flex-start; } }
    #privacy-policy .cts .address_box .pmark, #privacy .cts .address_box .pmark {
      width: 10%; }
      #privacy-policy .cts .address_box .pmark img, #privacy .cts .address_box .pmark img {
        width: 100%;
        height: auto; }
      @media (max-width: 768px) {
        #privacy-policy .cts .address_box .pmark, #privacy .cts .address_box .pmark {
          margin-left: 10px; } }
  #privacy-policy .cts .subtitle, #privacy .cts .subtitle {
    color: #231815;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 30px; }
    @media (max-width: 768px) {
      #privacy-policy .cts .subtitle, #privacy .cts .subtitle {
        font-size: 0.9rem; } }
    #privacy-policy .cts .subtitle.first, #privacy .cts .subtitle.first {
      margin-top: 0; }
  #privacy-policy .cts ol, #privacy .cts ol {
    color: #231815;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 15px; }
    @media (max-width: 768px) {
      #privacy-policy .cts ol, #privacy .cts ol {
        font-size: 0.7rem; } }
    #privacy-policy .cts ol li, #privacy .cts ol li {
      list-style-type: none;
      list-style-position: inside;
      counter-increment: cnt;
      line-height: 1.5;
      margin-top: 10px; }
      #privacy-policy .cts ol li:first-child, #privacy .cts ol li:first-child {
        margin-top: 0; }
    #privacy-policy .cts ol.list_parentheses li, #privacy .cts ol.list_parentheses li {
      text-indent: -1.5rem;
      padding-left: 1.5rem; }
      #privacy-policy .cts ol.list_parentheses li:before, #privacy .cts ol.list_parentheses li:before {
        display: marker;
        content: "(" counter(cnt) ") "; }
    #privacy-policy .cts ol.list_lowerAlpha, #privacy .cts ol.list_lowerAlpha {
      counter-reset: cnt 0; }
      #privacy-policy .cts ol.list_lowerAlpha li, #privacy .cts ol.list_lowerAlpha li {
        text-indent: -1rem;
        padding-left: 1rem;
        counter-increment: cnt 1; }
        #privacy-policy .cts ol.list_lowerAlpha li:before, #privacy .cts ol.list_lowerAlpha li:before {
          display: marker;
          content: counter(cnt,lower-alpha) ") "; }
    #privacy-policy .cts ol.list_lowerAlpha02, #privacy .cts ol.list_lowerAlpha02 {
      counter-reset: cnt 3; }
      #privacy-policy .cts ol.list_lowerAlpha02 li, #privacy .cts ol.list_lowerAlpha02 li {
        text-indent: -1rem;
        padding-left: 1rem;
        counter-increment: cnt 1; }
        #privacy-policy .cts ol.list_lowerAlpha02 li:before, #privacy .cts ol.list_lowerAlpha02 li:before {
          display: marker;
          content: counter(cnt,lower-alpha) ") "; }
        #privacy-policy .cts ol.list_lowerAlpha02 li .list_parentheses02, #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 {
          counter-reset: cnt 0; }
          #privacy-policy .cts ol.list_lowerAlpha02 li .list_parentheses02 li, #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 li {
            text-indent: -1rem;
            padding-left: 1rem;
            counter-increment: cnt 1; }
            #privacy-policy .cts ol.list_lowerAlpha02 li .list_parentheses02 li:before, #privacy .cts ol.list_lowerAlpha02 li .list_parentheses02 li:before {
              display: marker;
              content: counter(cnt,decimal) ") "; }

/*個人情報の取り扱いについて*/
#privacy .sec {
  padding-bottom: 100px; }
  @media (max-width: 768px) {
    #privacy .sec {
      padding-bottom: 50px; } }
  #privacy .sec .title_header {
    display: block;
    position: inherit; }
    #privacy .sec .title_header .title {
      position: inherit; }
  #privacy .sec .privacy_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 67%;
    margin: 60px auto 0; }
    @media (max-width: 768px) {
      #privacy .sec .privacy_box {
        width: 100%; } }
    #privacy .sec .privacy_box .text {
      font-size: 0.9rem; }
      @media (max-width: 768px) {
        #privacy .sec .privacy_box .text {
          font-size: 0.7rem; } }
    #privacy .sec .privacy_box .pmark {
      width: 10%; }
      #privacy .sec .privacy_box .pmark img {
        width: 100%;
        height: auto; }
  #privacy .sec .cts .text {
    margin-top: 10px; }
  #privacy .sec .cts .table {
    margin-top: 20px;
    width: 90%;
    border: 1px solid #9fa0a0;
    text-align: left;
    font-size: 0.9rem; }
    @media (max-width: 768px) {
      #privacy .sec .cts .table {
        width: 100%;
        font-size: 0.7rem; } }
    #privacy .sec .cts .table tr th {
      font-weight: normal; }
    #privacy .sec .cts .table tr th, #privacy .sec .cts .table tr td {
      border: 1px solid #9fa0a0;
      padding: 15px;
      width: 50%;
      line-height: 1.5; }

/*月極イノベーション事業*/
#tsukigime_onlinesystem .sec01 {
  padding: 100px 0; }
  @media (max-width: 768px) {
    #tsukigime_onlinesystem .sec01 {
      padding: 80px 0 60px; } }
  #tsukigime_onlinesystem .sec01 .cts {
    width: 70%;
    margin: auto; }
    @media (max-width: 768px) {
      #tsukigime_onlinesystem .sec01 .cts {
        width: 100%; } }
    #tsukigime_onlinesystem .sec01 .cts .ctsimg {
      width: 100%;
      height: auto;
      margin-bottom: 60px; }
    #tsukigime_onlinesystem .sec01 .cts .text span {
      font-size: 90%; }
      @media (max-width: 768px) {
        #tsukigime_onlinesystem .sec01 .cts .text span {
          font-size: 2.7vw; } }
    #tsukigime_onlinesystem .sec01 .cts .btn_box {
      text-align: center; }

#buildingdiv .sec01 .cts .cts_title {
  color: #45B035; }
#buildingdiv .sec01 .cts .business3 {
  align-items: stretch; }
  #buildingdiv .sec01 .cts .business3 .box {
    color: #45B035;
    display: flex;
    flex-direction: column; }
    #buildingdiv .sec01 .cts .business3 .box:nth-child(-n+2) {
      padding-top: 1.5rem; }
      @media (max-width: 768px) {
        #buildingdiv .sec01 .cts .business3 .box:nth-child(-n+2) {
          padding-top: 0.7rem; } }
    #buildingdiv .sec01 .cts .business3 .box i {
      display: block;
      margin-top: auto;
      color: rgba(69, 176, 53, 0.5); }
#buildingdiv .sec01 .cts .block {
  border: 2px solid #c6d3c1; }
  #buildingdiv .sec01 .cts .block .block_title {
    color: #45B035; }
  #buildingdiv .sec01 .cts .block .box_wrap {
    align-items: stretch; }
    #buildingdiv .sec01 .cts .block .box_wrap img {
      align-self: flex-start; }
    #buildingdiv .sec01 .cts .block .box_wrap .box {
      display: flex;
      flex-direction: column; }
      #buildingdiv .sec01 .cts .block .box_wrap .box img {
        width: 100%;
        height: auto; }
        #buildingdiv .sec01 .cts .block .box_wrap .box img.img01a {
          margin-top: 40px; }
          @media (max-width: 768px) {
            #buildingdiv .sec01 .cts .block .box_wrap .box img.img01a {
              margin-top: 25px; } }
        @media (max-width: 768px) {
          #buildingdiv .sec01 .cts .block .box_wrap .box img {
            margin-top: 25px; } }
      #buildingdiv .sec01 .cts .block .box_wrap .box .box_title {
        color: #45B035; }
      #buildingdiv .sec01 .cts .block .box_wrap .box .img_box {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50px; }
        @media (max-width: 768px) {
          #buildingdiv .sec01 .cts .block .box_wrap .box .img_box {
            margin-bottom: 15px; } }
        #buildingdiv .sec01 .cts .block .box_wrap .box .img_box img {
          width: 48%;
          height: auto; }
        #buildingdiv .sec01 .cts .block .box_wrap .box .img_box.img_box02 {
          margin-top: 40px;
          margin-bottom: 0; }
          @media (max-width: 768px) {
            #buildingdiv .sec01 .cts .block .box_wrap .box .img_box.img_box02 {
              margin-top: 0px; } }
          #buildingdiv .sec01 .cts .block .box_wrap .box .img_box.img_box02 img {
            width: 31%; }
      #buildingdiv .sec01 .cts .block .box_wrap .box .text {
        margin-bottom: 0; }
      #buildingdiv .sec01 .cts .block .box_wrap .box .caption {
        margin: 10px auto; }
  #buildingdiv .sec01 .cts .block .btn {
    margin-top: auto;
    width: 70%;
    margin-left: 0;
    color: #45B035;
    background-color: #ceddcd;
    border: 1px solid #ceddcd; }
    @media (max-width: 768px) {
      #buildingdiv .sec01 .cts .block .btn {
        margin-top: 30px;
        margin-left: auto; } }
    #buildingdiv .sec01 .cts .block .btn:link, #buildingdiv .sec01 .cts .block .btn:visited {
      color: #45B035; }
    #buildingdiv .sec01 .cts .block .btn:hover {
      background-color: #45B035;
      color: #fff; }

.error404 h2 {
  margin-top: 100px;
  font-size: 2rem;
  text-align: center; }
.error404 .text {
  margin-top: 100px;
  text-align: center; }
.error404 .btn {
  margin-bottom: 150px; }

#kakuyaku {
  line-height: 1.5; }
  #kakuyaku p {
    margin-bottom: 1.5em; }
    @media (max-width: 768px) {
      #kakuyaku p {
        font-size: 0.8rem; } }
  #kakuyaku dl {
    margin-bottom: 2.5em; }
    @media (max-width: 768px) {
      #kakuyaku dl {
        font-size: 0.8rem; } }
  #kakuyaku ul li {
    margin-bottom: 1.5em; }
    @media (max-width: 768px) {
      #kakuyaku ul li {
        font-size: 0.8rem; } }

/*DXページスタイル*/
#dx .dxmv {
  background: url("../images/dx_mvbg_pc.png") top center no-repeat;
  background-size: cover;
  padding: 6% 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 150px; }
  @media (max-width: 768px) {
    #dx .dxmv {
      background: none;
      padding: 0;
      display: block;
      margin-bottom: 120px; } }
  #dx .dxmv .top_title {
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 3%;
    width: 25%;
    margin: 0 auto; }
    @media (max-width: 768px) {
      #dx .dxmv .top_title {
        width: 100%;
        padding: 0; } }
    #dx .dxmv .top_title img {
      width: 100%;
      height: auto; }
#dx .sec {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  border: none;
  margin-top: 108px; }
  @media (max-width: 768px) {
    #dx .sec {
      width: 90%;
      margin: 0 auto;
      margin-top: 78px; } }
  #dx .sec .cts_title {
    background-color: #45b035;
    padding: 4% 0;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    border-radius: 50px;
    margin-bottom: 60px;
    letter-spacing: 0.1rem; }
    @media (max-width: 768px) {
      #dx .sec .cts_title {
        font-size: 1.1rem;
        margin-bottom: 48px; } }
  #dx .sec .cts {
    margin: 0;
    padding: 0;
    border: none;
    width: 100%; }
    #dx .sec .cts .text {
      font-size: 1.1rem;
      margin-bottom: 60px;
      line-height: 2;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media all and (-ms-high-contrast: none) {
        #dx .sec .cts .text {
          font-feature-settings: normal; } }
      @media (max-width: 768px) {
        #dx .sec .cts .text {
          font-size: 0.9rem;
          margin-bottom: 30px; } }
      #dx .sec .cts .text.caption {
        font-size: 90%; }
        @media (max-width: 768px) {
          #dx .sec .cts .text.caption {
            font-size: 80%; } }
    #dx .sec .cts .dximg {
      width: 100%;
      height: auto;
      margin-bottom: 60px; }
      @media (max-width: 768px) {
        #dx .sec .cts .dximg {
          margin-bottom: 30px; } }
    #dx .sec .cts .half_margin {
      margin-bottom: 30px; }
    #dx .sec .cts ul {
      width: 70%;
      margin: 0 auto; }
      @media (max-width: 768px) {
        #dx .sec .cts ul {
          width: 80%; } }
      #dx .sec .cts ul li {
        font-size: 1.1rem;
        list-style: none;
        margin-bottom: 1.2em;
        padding-left: 1.3em;
        text-indent: -1.3em;
        line-height: 1.7; }
        #dx .sec .cts ul li:last-child {
          margin-bottom: 0; }
        @media (max-width: 768px) {
          #dx .sec .cts ul li {
            font-size: 0.9rem; } }
        #dx .sec .cts ul li:before {
          display: inline-block;
          content: '';
          width: 0.8em;
          height: 0.8em;
          border-radius: 100%;
          background-color: #45b035;
          margin-right: 10px; }
  #dx .sec.sec06 {
    margin-bottom: 150px; }
#dx .footer_sec {
  max-width: 1000px; }

#actionplan .idt {
  text-indent: 1em; }
#actionplan .indent2 {
  padding-left: 3em;
  text-indent: -3em; }
#actionplan .sec {
  padding-bottom: 100px; }
  #actionplan .sec.mainsec {
    max-width: 650px; }
  @media (max-width: 768px) {
    #actionplan .sec {
      padding-bottom: 50px; } }
  #actionplan .sec .title_header {
    display: block;
    position: inherit; }
    #actionplan .sec .title_header .title {
      position: inherit;
      color: #231815;
      letter-spacing: 0.1em;
      font-weight: bold;
      font-size: 1.3rem; }
  #actionplan .sec .cts .subtitle {
    margin-top: 80px;
    font-weight: bold;
    font-size: 1.3rem; }
    @media (max-width: 768px) {
      #actionplan .sec .cts .subtitle {
        font-size: 1.1rem; } }
  #actionplan .sec .cts .title {
    color: #231815;
    text-align: left;
    margin: 0 0 20px;
    letter-spacing: 0;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1.2rem; }
  #actionplan .sec .cts .text {
    padding-left: 1em;
    margin-top: 10px;
    line-height: 1.8;
    font-size: 1.1rem; }
    #actionplan .sec .cts .text span {
      display: block; }
    @media (max-width: 768px) {
      #actionplan .sec .cts .text {
        font-size: 1rem; } }
    #actionplan .sec .cts .text.top {
      padding: 0; }
  #actionplan .sec .cts .box {
    margin-top: 30px;
    border: 1px solid #231815;
    padding: 1em;
    line-height: 1.7; }
    #actionplan .sec .cts .box .boxtitle {
      font-size: 1.1rem; }
      @media (max-width: 768px) {
        #actionplan .sec .cts .box .boxtitle {
          font-size: 1rem; } }
    #actionplan .sec .cts .box .text {
      margin-top: 0;
      padding: 0; }
