@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
/* font */
/* color */
@media only screen and (max-width: 768px) {
  section {
    padding: 88px 0; }
  .sp-hidden {
    display: none; }
  .sp-show {
    display: block; }
  #header {
    padding: 16px 0; }
    #header .logo {
      max-width: 128px; }
    #header .mobile-nav .button_container {
      position: fixed;
      top: 13px;
      right: 3%; }
  #first-view {
    height: calc(100vh - 60px);
    padding: 12px; }
    #first-view .info .txt001 {
      font-size: 24px;
      line-height: 44px;
      letter-spacing: 2px;
      margin-bottom: 32px; }
    #first-view .info .txt002 {
      line-height: 32px;
      letter-spacing: 1px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 48px; }
  .sec-title {
    font-size: 36px;
    letter-spacing: 6px; }
  .page-title {
    font-size: 36px;
    letter-spacing: 6px;
    margin-bottom: 110px; }
  .page-heading {
    height: 340px; }
    .page-heading h2 {
      font-size: 38px;
      letter-spacing: 8px; }
      .page-heading h2 span {
        letter-spacing: 8px; }
  .top-about .title {
    font-size: 26px;
    letter-spacing: 2px;
    line-height: 44px;
    margin-top: 42px;
    margin-bottom: 32px; }
  .top-service-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; }
    .top-service-list li {
      width: 100%;
      margin: 0 auto 32px; }
  .news-box .news-info .title {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 16px; }
  .property-list li span {
    font-size: 38px; }
  .bg-nav {
    padding: 0; }
    .bg-nav .list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column;
      flex-flow: column; }
      .bg-nav .list li {
        height: 240px; }
        .bg-nav .list li a .txt {
          margin-bottom: 18px; }
  #footer {
    padding-top: 60px; }
    #footer .flex {
      display: block; }
    #footer .footer-logo {
      margin: 0 auto 40px; }
    #footer .footer-navi ul {
      margin: 0;
      padding: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #footer .footer-navi ul li {
        margin-left: 0 !important;
        margin-bottom: 8px;
        display: inline-block; }
        #footer .footer-navi ul li a {
          margin: 0 7px;
          display: inline-block;
          word-break: keep-all; }
  #page {
    padding-top: 69px; }
  .service-list li {
    display: block; }
    .service-list li:not(:last-child) {
      margin-bottom: 90px; }
    .service-list li figure {
      width: 100%;
      max-width: 320px;
      margin: 0 auto 32px; }
    .service-list li .info {
      width: 100%; }
      .service-list li .info .title {
        font-size: 22px;
        line-height: 32px; }
  .voice-list {
    padding: 0; }
    .voice-list li {
      display: block; }
      .voice-list li:not(:last-child) {
        border: none;
        padding-bottom: 0; }
      .voice-list li .box {
        width: 100%;
        max-width: 220px;
        margin: 0 auto 24px; }
    .voice-list .info .txt {
      line-height: 24px; }
    .voice-list .info .txt::before,
    .voice-list .info .txt::after {
      display: none; }
  /** faq **/
  .faq-list {
    width: 100%;
    left: 0px;
    font-size: 16px;
    margin-bottom: 90px; }
    .faq-list .txt {
      line-height: 26px; }
  .faq-list .question,
  .faq-list .answer {
    padding-left: 60px; }
  .faq-list .question {
    margin-bottom: 0;
    min-height: auto;
    padding-bottom: 20px; }
    .faq-list .question p {
      font-size: 18px;
      line-height: 32px; }
  .faq-list .question::before,
  .faq-list .answer::before {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 36px;
    font-size: 16px; }
  .contact-box {
    padding: 25px 15px; }
    .contact-box .heading001 {
      font-size: 18px; }
    .contact-box .txt {
      width: 100%;
      padding: 15px; } }
