/* ==========================
   Responsive
========================== */

@media screen and (max-width: 768px) {

  /* ==========================
     Header
  ========================== */

  .header{
    height:75px;
  }

  .header__inner{
    width:100%;
    height:100%;
    padding:0 24px;

    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .header__logo{
    width:80px;
    flex-shrink:0;
  }

  .header__nav{
    position:fixed;
    top:0;
    right:-100%;
    width:100%;
    height:100vh;
    background:#030303;
    transition:.5s;
    z-index:1500;
  }
.header__nav-list a {
  font-family: "Cinzel", serif;
  font-size: 15px;
  letter-spacing: 0.12em;
  color: #fcfcfc;
  line-height: 25px;
}
  .header__nav.active{
    right:0;
  }

  .header__nav-list{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:40px;
  }

  .hamburger{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;

    width:44px;
    height:44px;

    margin-left:auto;

    position:relative;
    z-index:3000;

    flex-shrink:0;
  }

  .hamburger span{
    display:block !important;
    width:32px;
    height:2px;
    background:#fcfcfc !important;
    transition:.4s;
  }

  .hamburger.active span:nth-child(1){
    transform:
      translateY(9px)
      rotate(45deg);
  }

  .hamburger.active span:nth-child(2){
    opacity:0;
  }

  .hamburger.active span:nth-child(3){
    transform:
      translateY(-9px)
      rotate(-45deg);
  }

  .fv{
    height:100vh;
    min-height:100vh;
}

  .fv__content{
    width:90%;
}

  .fv__script{
    font-size:30px;
    line-height:1.3;
}

  .fv__sub-en{
    font-size:8px;
    line-height:1.8;
}

  .fv__title{
    font-size:12px;
}

/* 共通 */
.inner {
    width: calc(100% - 70px);
    margin: 0 auto;
}

  .service,
  .company,
  .blog,
  .contact_cta{
    padding: 80px 0;
  }
  .section_title {
    margin-bottom: 50px;
    text-align: left;
  }

  .section_title_en {
    font-size: 10px;
  }

  .section_title_ja {
    font-size: 24px;
  }

  .service_list,
  .company__inner,
  .blog_list,
  .message_inner {
    display: block;
  }

  .service_item,
  .blog_item {
    margin-bottom: 70px;
  }
.service_body h3 {
  margin-bottom: 10px;
  font-size: 20px;
}
  .service_body p {
  font-size: 12px;
  line-height: 1.7;
}
.service_body::before {
  width: 1.5px;
  height: 135px;
}
  .company__images {
    margin-top:40px;
    display:flex;
    gap:12px;
  }
  .company__image{
    flex:1;
}

  .company__image,
  .company__image:nth-child(1),
  .company__image:nth-child(2) {
    width: 100%;
  }
  .company__row{
    gap: 0;
}
  .company__row dd{
    font-size: 12px;
  }

  .blog__body {
    min-height: auto;
  }

  .blog_inner {
  width: min(100% - 70px, 1200px);
}
  .img-hover.is-inview img {
  filter: grayscale(0%);
}

  .img-hover.is-inview::after {
  opacity: 0;
}

 .message_inner {
    display: flex;
    flex-direction: column;
    width: calc(100% - 70px);
  }

  .message_image_wrap {
    order: 1;
    width: 100%;
    margin-bottom: 54px;
  }

  .message_content {
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .message__copy {
    order: 1;
    writing-mode: horizontal-tb;
    white-space: normal;
    margin: 0 0 48px;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    text-align: left;
  }

  .message_text {
    order: 2;
    max-width: none;
    width: 100%;
  }

  .message_text .section_title_en {
    margin-bottom: 36px;
  }

  .message_text p {
    font-size: 15px;
    line-height: 2.4;
    letter-spacing: 0.08em;
  }
.contact_cta_link{
  width: min(100% - 40px, 1250px);
  height: 200px;
}
.contact_cta_link h2 {
  font-size: 24px;
}
  footer {
    padding: 80px 0 32px;
    overflow: hidden;
  }

  .footer_inner {
    width: calc(100% - 70px);
    margin: 0 auto;

    display: block;
    gap: 0;
  }

  .footer_logo {
    margin-bottom: 36px;
    font-size: 28px;
    letter-spacing: 0.14em;
  }

  .footer_name,
  .footer_adress,
  .footer_tel {
    font-size: 12px;
    line-height: 2;
  }

  .footer_tel {
    margin-bottom: 32px;
  }

  .footer_sns {
    gap: 24px;
    margin-bottom: 64px;
  }

  .footer_nav {
    padding-top: 0;
  }

  .footer_nav_title {
    margin-bottom: 28px;
  }

  .footer_nav ul {
    gap: 20px;
  }

  .footer-copy {
    width: calc(100% - 48px);
    margin: 80px auto 0;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }



/* ==========================
   ここからService Page
========================== */

    /* FV */
    .page-fv {
        height: 360px;
    }

    .page-fv__en {
        font-size: 12px;
        letter-spacing: 0.4em;
    }

    .page-fv__title {
        font-size: 21px;
    }

    /* LEAD */
    .page-lead {
        padding: 72px 0 80px;
    }
    .page-lead .inner {
        text-align: left;
        padding: 0;
    }
    .page-lead__title {
        font-size: 18px;
        margin-bottom: 28px;
    }

    .page-lead__text {
        font-size: 14px;
        line-height: 2;
        text-align: left;
    }
      .page-lead__text br{
    display:none;
  }

    /* REAL ESTATE */
    .business_block {
        padding-top: 72px;
    }

    .business_intro {
        display: block;
        margin-bottom: 64px;
    }

    .business_intro_image {
        margin-bottom: 36px;
    }

    .business_intro_title {
        font-size: 28px;
        margin-bottom: 28px;
    }

    .business_intro_text {
        font-size: 13px;
        line-height: 2;
    }

    .business_intro_points {
        gap: 22px;
    }

    .business_heading {
        gap: 18px;
        margin-bottom: 36px;
    }

    .business_heading h3 {
        font-size: 13px;
    }

    .business_cards {
        display: block;
        margin-bottom: 48px;
    }

    .business_card {
        margin-bottom: 40px;
    }

    .business_card_title {
        font-size: 22px;
    }

    .business_card_body {
        padding: 28px 24px;
    }

    .business_card_text {
        font-size: 13px;
        line-height: 2;
    }

    .business_card_list li,
    .housing_list li {
        font-size: 12px;
    }

    /* 住宅賃貸 */
    .housing {
        padding: 32px 24px;
        margin-bottom: 50px;
    }

    .housing_content {
        display: block;
    }

    .housing_title {
        font-size: 24px;
    }

    .housing_sub {
        margin-bottom: 28px;
    }

    .housing_image {
        margin-bottom: 28px;
    }

    .housing_text {
        font-size: 13px;
        line-height: 2;
    }

    /* FOOD */
    .business_block--food {
        padding: 72px 0 88px;
    }
    .business_block--food .inner {
    width: min(100% - 70px, 1200px);
    }
    .food-business__inner {
        display: block;
    }

    .food-business__content {
        max-width: none;
        margin-bottom: 36px;
    }

    .food-business__number {
        font-size: 12px;
    }

    .food-business__title {
        font-size: 24px;
        margin-bottom: 28px;
    }

    .food-business__concept {
        display: block;
        font-size: 12px;
        line-height: 1.8;
    }

    .food-business__concept span {
        display: block;
        margin-left: 0;
    }

    .food-business__text {
        font-size: 13px;
        line-height: 2;
    }

    .food-business__text + .food-business__text {
        margin-top: 32px;
    }

    /* STRENGTH */
    .strength {
        padding: 72px 0 88px;
    }

    .strength_list {
        display: block;
    }

    .strength_item {
        padding: 36px 28px;
        min-height: auto;
    }

    .strength_item + .strength_item {
        margin-top: 28px;
    }

    .strength_icon {
        margin-bottom: 34px;
    }

    .strength_icon img {
        width: 38px;
    }

    .strength_title {
        font-size: 18px;
        margin-bottom: 24px;
    }

    .strength_text {
        font-size: 13px;
        line-height: 2;
    }
/* LIFELINE */

.business_block--lifeline {
    padding: 0 0 88px;
}
.business_block--lifeline .inner {
  width: min(100% - 70px, 1200px);
}
.lifeline-business__inner {
    display: block;
}

.lifeline-business__image {
    order: 1;
}

.lifeline-business__content {
    max-width:none;
    margin-bottom:36px;
}

.lifeline-business__number {
    font-size: 12px;
}

.lifeline-business__title {
    font-size: 24px;
    margin-bottom: 28px;
}

.lifeline-business__concept {
    display: block;
    font-size: 12px;
    line-height: 1.8;
}

.lifeline-business__concept span {
    display: block;
    margin-left: 0;
}

.lifeline-business__text {
    font-size: 13px;
    line-height: 2;
}

.lifeline-business__text + .lifeline-business__text {
    margin-top: 32px;
}


/* ==========================
   ここからCOMPANY Page
========================== */


/* MESSAGE */
.company-message {
  padding: 72px 0 88px;
}

.company-message .inner {
  width: calc(100% - 70px);
}

.company-message__inner {
  display: block;
}

.company-message__image {
  margin-bottom: 48px;
  padding: 0 14px 14px 0;
}

.company-message__image::after {
  width: calc(100% - 14px);
  height: calc(100% - 14px);
}

.company-message__en {
  font-size: 10px;
  margin-bottom: 16px;
}

.company-message__title {
  font-size: 24px;
  line-height: 1.7;
  margin-bottom: 36px;
}

.company-message__text p {
  font-size: 14px;
  line-height: 2.1;
}

.company-message__text p + p {
  margin-top: 28px;
}

.company-message__name {
  margin-top: 40px;
  font-size: 14px;
  letter-spacing: 0.12em;
}

/* COMPANY PROFILE */
.company-profile {
  padding: 72px 0 88px;
}

.company-profile .inner {
  width: calc(100% - 70px);
}

.company-profile .section_title {
  margin-bottom: 56px;
}

.company-profile__row {
  display: block;
  padding: 28px 0;
}

.company-profile__row dt {
  margin-bottom: 14px;
  font-size: 10px;
  line-height: 1.6;
}

.company-profile__row dd {
  font-size: 14px;
  line-height: 2;
}

/* HISTORY */
.history {
  padding: 72px 0 88px;
}

.history .section_title {
  margin-bottom: 64px;
}

.history_timeline {
  width: calc(100% - 40px);
  margin: 0 auto;
}

.history_timeline::before {
  left: 0;
}

.history_item {
  width: 100%;
  margin-bottom: 56px;
  padding-left: 28px;
  padding-right: 0;
  text-align: left;
}

.history_item--left,
.history_item--right {
  margin-left: 0;
  padding-left: 28px;
  padding-right: 0;
  text-align: left;
}

.history_item::before,
.history_item--left::before,
.history_item--right::before {
  left: -5px;
  right: auto;
  top: 8px;
}

.history_year {
  font-size: 16px;
  margin-bottom: 12px;
}

.history_title {
  font-size: 14px;
  line-height: 1.8;
}

.history_text {
  font-size: 12px;
  line-height: 1.8;
}

/* GALLERY */
.company-gallery {
  padding: 72px 0;
}

.company-gallery__inner {
  width: calc(100% - 70px);
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

/* ==========================
   ここから　Blog ページ
========================== */

.blog-archive {
  padding: 72px 0 88px;
}

.blog-archive__inner {
  width: calc(100% - 40px);
}

/* Category */
.blog-category {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 48px;
}

.blog-category a {
  min-width: auto;
  padding: 10px 18px;
  font-size: 11px;
}

/* Blog List */
.blog_list--archive {
  display: block;
}

.blog_list--archive .blog_item {
  margin-bottom: 40px;
}

.blog_list--archive .blog_item:last-child {
  margin-bottom: 0;
}

/* Pagination */
.pagination {
  gap: 10px;
  margin-top: 56px;
}

.pagination a,
.pagination span {
  width: 34px;
  height: 34px;
  font-size: 12px;
}

/* ==========================
   ここから　FAQ 
========================== */

.faq{
    padding:72px 0 88px;
}

.faq__inner{
    width:calc(100% - 40px);
}

.faq-category{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:10px;
    margin-bottom:48px;
}

.faq-category a{
    min-width:auto;
    padding:0 18px;
    height:44px;
    font-size:11px;
}

.faq-question{
    min-height:72px;
    padding:20px 52px 20px 20px;

    font-size:14px;
    line-height:1.8;
}

.faq-q{
    margin-right:10px;
    font-size:18px;
}

.faq-question::after{
    right:20px;
    font-size:20px;
}

.faq-answer{
    padding:0 20px 24px;
}

.faq-answer p{
    font-size:13px;
    line-height:2;
}


/* ==========================
   ここから　CONTACT PAGE
========================== */

.contact-page{
    padding:72px 0 88px;
}

.contact-page__inner{
    width:calc(100% - 56px);
}

/* Lead */

.contact-page__lead{
    margin-bottom:40px;

    font-size:14px;
    line-height:2.2;

    text-align:left;
}

.contact-page__lead br{
    display:none;
}

/* TEL BOX */

.contact-tel{
    grid-template-columns:1fr;

    gap:24px;

    margin-bottom:48px;

    padding:28px 24px;
}

.contact-tel__label,
.contact-tel__number{
    border-right:none;
}

.contact-tel__label{
    text-align:center;
}

.contact-tel__number{
    padding:20px 0;

    border-top:1px solid rgba(252,252,252,.12);
    border-bottom:1px solid rgba(252,252,252,.12);
}

.contact-tel__number a{
    font-size:22px;
    letter-spacing:.12em;
}

.contact-tel__time{
    padding-left:0;
    text-align:center;
}

.contact-tel__time p{
    font-size:12px;
}

/* FORM */

.contact-form{
    padding:36px 24px 48px;
}

.contact-form__grid{
    grid-template-columns:1fr;
    gap:28px;
}

.contact-form__item--full{
    margin-top:28px;
}

.contact-form label{
    margin-bottom:12px;

    font-size:10px;
}

.contact-form label span{
    margin-left:8px;

    font-size:9px;
}

.contact-form input,
.contact-form select{
    height:42px;

    font-size:14px;
}

.contact-form textarea{
    height:180px;

    padding:16px;

    font-size:14px;
    line-height:2;
}

.contact-form__privacy{
    align-items:flex-start;

    gap:10px;

    margin-top:28px;

    font-size:12px;
    line-height:1.8;
}

.contact-form__privacy span{
    width:16px;
    height:16px;

    margin-top:2px;
}

/* SUBMIT */

.contact-form__submit{
    margin-top:42px;
}

.contact-form__submit button{
    width:100%;
    min-width:0;

    padding:16px 20px;

    font-size:12px;
    letter-spacing:.18em;
}

/* ==========================
   ここから　プライバシーポリシーページ
========================== */
/* PRIVACY */
.privacy {
  padding: 72px 0 88px;
}

.privacy__inner {
  width: calc(100% - 56px);
}

.privacy__lead {
  margin-bottom: 48px;
  font-size: 14px;
  line-height: 2.1;
}

.privacy__content {
  gap: 38px;
}

.privacy__block {
  padding-bottom: 32px;
}

.privacy__block h3 {
  font-size: 15px;
  line-height: 1.8;
}

.privacy__block p {
  font-size: 14px;
  line-height: 2.1;
}

/* ==========================
   ここから　送信完了ページ
========================== */
/* THANKS */
.thanks {
  padding: 88px 0 104px;
}

.thanks__inner {
  width: calc(100% - 56px);
}

.thanks__en {
  font-size: 10px;
}

.thanks__title {
  font-size: 24px;
  line-height: 1.7;
}

.thanks__text {
  font-size: 14px;
  line-height: 2.1;
  text-align: left;
}

.thanks__text br {
  display: none;
}

.thanks__button {
  width: 100%;
  min-width: 0;
  padding: 16px 20px;
  font-size: 12px;
}



}


