
@media screen and (min-width: 600px) and (max-width: 1024px) {
  .option-section__content {
    flex-direction: column;
    gap: 1.4rem;
    margin-top: 2.5rem;
  }
  .option-section__img img {
    width: 100%;
    max-width: 430px;
  }
}




/* =============================
   ▼▼▼ レスポンシブ一括まとめ ▼▼▼
   ============================= */
@media screen and (min-width: 600px) and (max-width: 1024px) {
  body {
    font-size: 15px;
  }
  html, body {
    max-width: 100vw;
    /* overflow-x: hidden; */
  }

  .main-navigation a:after {
    display: none;
}

  
  .wrap, .area-wrap, .option-wrap, .driver-wrap, .company-section .wrap {
    width: 98% !important;
    max-width: 100% !important;
    padding: 0 1em !important;
    /* box-sizing: border-box; */
  }
  /* ヒーローキャッチコピー */
  .catch-copy .char-span {font-size: 1.5rem;}
  .catch-copy { font-size: 1.25rem; }
  /* ドライバー・オプション */
  .driver-section__content, .option-section__content {
    /* flex-direction: column; */
    /* gap: 20px; */
    /* margin-top: 3rem; */
    display: block;
  }
  .catch-copy br.sp {
    display: block;
}
  .driver-section__img img,
  .option-section__img img {
    width: 100%;
    /* max-width: 340px; */
    margin: 0 auto;
    display: block;
    max-width: inherit;
  }
  .driver-section__title, .option-section__title {
    font-size: 1.7rem;
  }
  .driver-section__headline, .option-section__headline {
    font-size: 1.63rem;
  }
  .option-section__img.slideup-in.is-visible {
    width: inherit;
    transform: inherit;
}

.option-section {
    top: inherit;
    margin-top: inherit;
}

.option-section__desc {
    margin-top: 4rem;
}

.driver-section__desc {
    margin-top: 4rem;
}


/* carline */
  .carline-bg-img {
    height: 100vh;
}
.modal.car-modal .modal__content.car-modal__content > .display_flex {
    flex-wrap: wrap;
}

.car-modal__specaccessory {
    width: 100%;
}

  

  /* フロー・強み 3カラム→1カラム */
  .flow-list {
    flex-direction: column;
    gap: 2rem;
  }
  .flow-item__body {
    justify-content: center;
}
  .flow-item__desc {
    padding: 2em;
    max-width: 100%;
}
  .flow-item {
    width: 100%;
    margin: 2em 0;
    flex-direction: column;
    gap: 20px;
  }
  .flow-item__img {
    height: 180px;
  }
  .strength-list {
  }
  .strength-item {
    /* height: 190vw !important; */
    min-height: 40vw;
    padding: 1.5rem;
    display: block;
  }
  .strength-item__body {
    bottom: 3vw;
    transform: inherit;
    height: auto;
    padding-bottom: 0;
    position: absolute;
}

.strength-item__text {
    margin-bottom: 0;
}

  .strength-item__number {
    font-size: 6rem;
    line-height: 1em;
  }
  .strength-item__icon {
    width: 70px;
    height: 70px;
    font-size: 2.3rem;
    right: 2vw;
    bottom: 2vw;
  }
  /* 会社情報テーブル横スクロール対応 */
  .company-table-outer, .company-section .wrap {
    overflow-x: auto;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 !important;
  }
  .company-table {
    min-width: 600px;
    font-size: 0.98em;
  }
  /* ニューススライド・ボックス */
  .news-section h2.news-section__title {
    font-size: 1.3rem;
    padding-right: 0;
  }
  .news-box {
    max-width: 100vw;
    padding: 0.6rem;
    flex-wrap: wrap;
  }
  .news-title, .news-dot {
    font-size: 1rem;
  }
  .news-section {
    height: auto;
    min-height: 80px;
  }
  .news-section .wipe-in {
    width: 13vw;
    text-align: left;
}
  .wipe-in {
    /* width: 13vw; */
    /* text-align: left; */
    min-width: 80%;
}
  .news-ticker {
    height: 2.2em;
  }
  .news-item {
    flex-basis: 90vw;
    font-size: 1em;
    padding-left: 4px;
  }
  /* ボタン系 */
  .btn, .btn--primary, .btn--outline {
    min-width: 120px !important;
    font-size: 1rem;
    padding: 1.5em 0.5em !important;
    width: 100% !important;
  }


  

div#modal-01 .hero-buttons {
    flex-wrap: wrap;
    flex-direction: inherit;
    gap: 5vw;
}

div#modal-01 .hero-buttons a.btn {
    width: 100% !important;
    min-width: inherit !important;
}

  .hero-buttons.pc.show {
    display: none;
}
#modal-02 > div.modal__content > div.hero-buttons.sp.show {display: block;/* width: 100%; */}

#modal-02 > div.modal__content > div.hero-buttons.sp.show a.btn {
    min-width: auto;
    display: block !important;
    width: 80% !important;
    margin: auto;
}
  
  .hero-buttons {
        /* flex-direction: column; */
        gap: 0.7em;
        padding-top: 12px;
        /* flex-wrap: wrap; */
        /* justify-content: space-between !important; */
  }

  div#modal-02 .modal__content .display_flex {display: block;}

div#modal-02 .modal__content .display_flex div:nth-child(1) {
    width: 100%;
}

div#modal-02 .modal__content .display_flex .modal-driver-image {
    width: 100%;
}

  .area-bg-img {height: 100vh;}

.hight {
    width: 100%;
    margin: 0;
    max-width: inherit;
    margin-top: 0;
    padding: 0;
    position: sticky;
    display: none;
}

.parallax-zoom-section .wipe-in{}

.area-anchor-nav {
    flex-wrap: wrap;
    flex-direction: inherit;
    width: 100%;
}

.area-anchor-nav a {
    font-size: 0.8rem;
}

.area-main {
    margin-top: 0;
}



.White_background.scroll-img {}

a:visited {
  /* color: #fff !important; */   /* または通常時のカラーに */
}

.tokyo-area-section .White_background {
    padding-bottom: 160vh;
}

.recruit-btns div {
    /* width: 38%; */
}

.recruit-btns {
    flex-wrap: wrap;
    flex-direction: row;
}

/* section.main_visual {
    height: 120vh;
}

.hero-video {
    height: 120vh;
}

.hero-gradient {
    height: 130vh;
} */

.sub-copy {
    font-size: 1.6vw;
}

section.main_visual .hero-buttons a.btn.btn--primary.btn-dot {
    width: 160vw !IMPORTANT;
    /* min-width: inherit !important; */
}

section.main_visual .hero-buttons {
    gap: 1em;
}



  /* contact */
  .contact-info {
    width: 100%;
}

}





@media screen and (min-width: 600px) and (max-width: 1024px) {
  .wrap {
    width: 95%;
  }

  .catch-copy .char-span {
    font-size: 2rem;
  }

  .hero-overlay {
    width: 90%;
  }
  

  .flow-item {
    width: 100%;
  }

  .company-section .wrap {
    width: 100%;
  }

  .modal .modal-service-card {
    width: 100%;
  }

  .driver-section__content {
    /* flex-direction: column; */
    /* gap: 32px; */
  }

  .driver-section__img,
  .driver-section__img img {
    /* width: 100%; */
    /* max-width: 600px; */
    /* margin: 0 auto; */
  }

  .driver-section__content .driver-section__img {
    height: auto !important;
    width: auto !important;
    transform: inherit;
}

.img-hover-zoom-wrap {
    height: auto;
    width: auto;
    position: relative;
    transform: inherit;
    top: inherit;
    right: inherit;
}

  .option-section__content {
    flex-direction: column;
    gap: 32px;
  }

  .option-section__img img {
    width: 100%;
    /* max-width: 600px; */
    margin: 0 auto;
  }

  .flow-item {
    flex-direction: column;
    gap: 24px;
  }

  .carline-list {
    flex-direction: column;
    gap: 6rem;
  }

  .carline-card {
    width: 100%;
  }

  .area-cols {
    flex-direction: column;
    gap: 2rem;
    display: block;
  }

  .area-nav {
    position: static;
    width: 100%;
    top: 0;
    max-width: inherit;
    height: inherit;
    position: sticky;
    padding: 0;
    padding-top: 2rem;
  }

  .strength-list {
    display: block !important;
    flex-direction: column !important;
    gap: 0.7em !important;
    overflow: visible !important;
    overflow: hidden !important;
  }

  .strength-item {
    width: 100% !important;
    min-height: 46vw !important;
    height: auto !important;      /* ←ここがポイント！ */
    max-height: none !important;  /* 念のため高さ制限解除 */
    padding: 0.8em 0.7em;
    box-sizing: border-box;
  }
    section.strength-section {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  button.modal__close {
    right: 7%;
    transform: translate(0px, 0px);
}

  div#modal-03 .display_flex {display: block;padding-top: 5vh;}

div#modal-03 .display_flex div:nth-child(1) {
    width: 100%;
}

div#modal-03 .display_flex .modal-driver-image {
    width: 100%;
}

  
.modal__content {
    padding-top: 3vh !important;
    width: 90% !important;
}
  .modal .modal-service-list {
    margin-top: 0;
    padding-bottom: 10vw;
}

.modal .modal-service-card h3 {
    margin-top: 0;
}

  
} 









@media screen and (min-width: 600px) and (max-width: 1024px) {
  .area-cols { flex-direction: column; gap: 1.5rem; }
  .area-nav { position: static; width: 100%; }
}



/* レスポンシブ対応も共通でOK */
@media screen and (min-width: 600px) and (max-width: 1024px) {
  .osaka-area-section .area-cols { flex-direction: column; gap: 1.5rem; }
  .osaka-area-section .area-nav { position: static; width: 100%; }
}



@media screen and (min-width: 600px) and (max-width: 1024px) {
  .car-modal-main { flex-direction: column; gap: 20px; }
  .car-modal-main__visual, .car-modal-main__info { min-width: 0; width: 100%; }
  .car-modal__gallery { align-items: flex-start; }
  .car-modal__visual {width: 100%;max-height: 390px;}
  .car-modal__thumbs {flex-direction: row;gap: 9px;margin-top: 10px;justify-content: center;}
  .car-modal__thumb {width: 130px;max-width: inherit;height: auto;}
  .car-modal__specaccessory { flex-direction: column; gap: 18px; }
}




@media screen and (min-width: 600px) and (max-width: 1024px) {
  .driver-section__content {
    flex-direction: column;
    gap: 22px;
  }
  .driver-section__img img {
    width: 100%;
    /* max-width: 460px; */
  }

  .carline-section .carline-section__buttons {
    flex-wrap: wrap;
}

  .area-info .phone-number {
    font-size: 2rem;
}

}















@media screen and (max-width: 600px) {
  body {
    font-size: 14px;
  }
  .wrap, .area-wrap, .option-wrap, .driver-wrap, .company-section .wrap {
    padding: 0 0.5em !important;
  }
  .catch-copy .char-span { font-size: 1.25rem; }
  .catch-copy { font-size: 1.05rem; }
  .driver-section__title, .option-section__title {
    /* font-size: 1.2rem; */
  }
  .driver-section__headline, .option-section__headline {
    font-size: 1rem;
  }
  section.strength-section h2 span.en {
    letter-spacing: 1vw;
}
  .flow-section__title, .strength-section h2 {/* font-size: 1.1rem; */}
  .flow-item__title, .strength-item__text {font-size: 1.12rem;margin-bottom: 0.4em;}

  .option-section__price-wrap {
    flex-wrap: wrap;
}

.option-section__price {
    text-align: right;
    width: 100%;
    text-align: left;
    font-size: 2.6rem;
    margin-top: 0.2em;
}

  .btn-fallin.is-visible {
    transform: inherit;
}

  
}

/* =============================
   ▲▲▲ レスポンシブ一括ここまで ▲▲▲
   ============================= */




    @media (max-width: 600px) {
      .company-section__title { font-size: 2.1rem; }
      .company-table th, .company-table td { padding: 0.7em 0.5em; font-size: 0.96em; }
    }

    @media (max-width: 600px) {
  .recruit-btns {
    flex-direction: column;
    gap: 1.2em;
  }
  .recruit-btn {
    min-width: 90vw;
  }
}





/* style_sp.css */

/* スマホ向けスタイル (max-width: 767px) */
@media screen and (max-width: 600px) {

.modal {
  max-width: 100%;
}

.flow-item {width: 100%;gap: 5vw;}
.catch-copy .char-span {
    font-size: 9vw;
}


.wrap {
    width: 95%;
    padding: 0 !important;
}

.hero-overlay {
    width: auto;
    position: relative;
    bottom: 0;
    /* height: 100vh; */
    position: inherit;
    padding: 0;
}

a.btn.btn--outline.btn-dot {}

section.main_visual .hero-buttons {
    flex-wrap: wrap;
    display: flex;
}

.btn--primary {
    width: 100%;
}

a.btn.btn--outline.btn-dot {
    padding: 1.15em 0.3em;
    width: 48% !important;
    min-width: inherit;
    width: 100% !important;
    display: block;
    margin-bottom: 5vw;
}

h1.catch-copy {
}

  p.site-title {
    display: flex;
    justify-content: left;
    align-items: center;
    width: 65vw;
}

span.char-span.visible {line-height: 1em;}

  .char-span:nth-child(n+21):nth-child(-n+50) {
    font-size: 1.8em;
}

.char-span:nth-child(n+1):nth-child(-n+20) {
    font-size: 1.4em;
}

  .strength-list {
    flex-wrap: wrap !important;
    display: inherit;
}

.strength-item {
    width: 100% !important;
    height: 30vh;
}

.flow-item__desc {
    line-height: 1.4em;
}

.flow-item__body {
    height: 65vw;
    width: 80%;
    justify-content: center;
}

.flow-item__number {
    width: 30%;
}

.strength-item__label {
    font-size: 0.95rem;
}

.flow-section__buttons {
    flex-wrap: wrap;
}

  .flow-section .wrap .flow-section__buttons {
    width: 90%;
    margin: auto;
    gap: 0;
    padding-top: 5vw !important;
    padding-bottom: 5vw;
}

section#carline-section {
    /* height: 100vh !important; */
    /* max-width: inherit !important; */
}

img.carline-bg-img {
    height: 100vh;
}

  

.menu-primary-menu-container {position: absolute;right: 0;top: 10vw;}


section#recruit-section {}/* --- 修正①：htmlの横オーバーフロー防止（sticky維持） --- */
html {
  overflow-x: hidden;
}

/* --- グローバルでbox-sizingを指定 --- */
*, *::before, *::after {
  box-sizing: border-box;
}
  .main-navigation a:after {
    display: none;
}

  .main-navigation a:after {
    display: none;
}
  li#menu-item-23 {
    display: none;
}
  
  .modal h3 {
    font-size: 6.7vw;
    line-height: 1.5em;
}

p {
    line-height: 1.8em;
}

/* --- 修正②：100vwを100%に変更 or 安全なmax-width指定 --- */
.hero-video,
.hero-video video,
.parallax-zoom-section,
.parallax-zoom-bg,
.parallax-zoom-img {
  width: 100%;
  max-width: 100%;
}

  .hero-video video {
        height: 145vw;
        min-height: 160px;
        /* max-width: 150vw; */
        overflow: hidden;
        /* position: relative; */
        position: absolute;
        width: 100%;
        right: 0;
    }

/* --- 修正③：スマホでのズームエリア横はみ出し防止 --- */
.img-hover-zoom-wrap {
  width: 130%;
}


/* --- 修正④：モーダルのスマホ対応制限 --- */
.modal {
  max-width: 100%;
}


  button.modal__close {
    right: 7vw;
    transform: translate(0px, 0px);
    top: 14vw;
    width: 50px;
    height: 50px;
}

.line01, .line02 {
    top: 2vw;
}


/* --- 修正⑥：ニュースティッカーの内包要素を隠す --- */
.news-ticker {
  /* overflow-x: hidden !important; */
}
.news-section {position: relative;}



.news-section .display_flex .wipe-in.is-visible {
    /* width: 100%; */
    /* text-align: left; */
    text-align: center;
}

.news-section .display_flex {
    flex-wrap: wrap;
}

.news-section h2.news-section__title {
    margin: 0;
}

.news-item {
    flex: 0 0 700px;
}

.carline-list {
    flex-wrap: wrap;
}

.carline-card {
    /* flex-wrap: wrap; */
}

a.carline-card {
    width: 100%;
    padding: 0;
    flex-wrap: nowrap !important;
    flex-direction: unset;
    gap: 4vw;
    display: block;
}

a.carline-card img.carline-card__img {
    /* width: 38%; */
}

.carline-card__body {
    /* width: 48%; */
    text-align: left;
}

.driver-section__content .driver-section__img {
    width: 100%;
    height: auto;
    background: aquamarine;
}

.driver-section__content {
    margin-top: 5vw;
}

section.main_visual .hero-buttons a.btn.btn--outline {
    width: 48% !important;
}
/* --- 以降に元の style_top.css の残余コードを続けてください --- */
/* ここに既存の CSS をすべて貼り付け、必要な位置に配置してください */


}




/* =====================
   スマホ用SPレイアウト強化（overflow: hiddenは付けない版）
   ===================== */
@media screen and (max-width: 600px) {

  body {
    font-size: 15px;
    margin: 0;
    background: #111;
    /* overflow-x: hidden; ←指定しない */
  }

  .wrap,
  .area-wrap,
  .option-wrap,
  .driver-wrap,
  .company-section .wrap {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 0.5em !important;
    box-sizing: border-box;
  }

  /* ヘッダー */
  .site-hero-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.7em 1em;
    gap: 0.5em;
    position: static;
  }
  .site-logo {
    font-size: 1.1rem;
    margin-bottom: 0.4em;
  }
  .global-nav__list {
    flex-direction: column;
    gap: 0.7em;
    width: 100%;
    align-items: flex-start;
  }
  .btn--contact {
    width: 100%;
    margin-left: 0;
    margin-top: 1em;
  }

  /* メインビジュアル */
  .hero-video {
    height: 100vh;
    min-height: 160px;
    /* max-width: 150vw; */
    overflow: hidden;
    /* position: relative; */
    position: fixed; /* ←fixedからabsoluteに変更 */
    width: 100%;
    right: 0;
  }
  .hero-overlay {
    /* position: static; */
    width: 100%;
    padding: 0;
    text-align: left;
    bottom: unset;
    /* padding-top: 80vw; */
  }
  .catch-copy {
    font-size: 1.3rem;
    margin-bottom: 0.5em;
  }
  .catch-copy .char-span {
    font-size: 2.3rem;
  }
  .sub-copy {
    font-size: 0.8rem;
    margin-bottom: 1em;
  }
  .hero-buttons {
    flex-direction: unset;
    gap: 0.7em;
    align-items: stretch;
    padding: 0;
    width: 100%;
  }
  .hero-buttons .btn, .btn--primary, .btn--outline {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 1rem;
    padding: 1em 0.5em;
    margin-bottom: 0.5em;
  }
  .hero-gradient {
    background: linear-gradient(to bottom, rgb(0 0 0 / -24%) 0%, rgb(0 0 0 / 91%) 50%, rgb(0 0 0) 100%);
}

  /* NEWS */
  .news-section {
    position: relative;
    height: auto;
    min-height: unset;
    padding: 1.2em 0.4em;
    /* top: -20vw; */
    position: relative;
    z-index: 1;
    border-bottom: 1px solid #2f2f2f !important;
    width: 93%;
    margin: auto;
  }
  
  .news-section h2.news-section__title {
    font-size: 1.5rem;
    padding: 0;
    text-align: center;
    display: block;
    text-align: center;
  }
  .news-box {
    flex-direction: column;
    gap: 0.6em;
    padding: 1em 0.5em;
    max-width: 100vw;
  }
  .news-item {
    /* font-size: 1rem; */
    /* flex: 1 1 100%; */
    padding-left: 0;
    /* margin-bottom: 1rem; */
    flex-wrap: wrap;
  }

  /* 強み・ストレンジセクション */
  .strength-list {
    flex-direction: column;
    gap: 1.1em;
    /* border-radius: 0; */
    /* border: none; */
  }
  .strength-item {
    min-height: 38vw;
    height: 28vh;
    /* border-radius: 0; */
    padding: 0.5em;
    border-bottom: 1px solid #fff;
    align-items: end;
  }
  .strength-item:last-child {
    border-bottom: none;
}
  .strength-item__number {font-size: 4rem;/* top: 0.3em; */line-height: 0em;}
  .strength-item__body { position: static; height: auto; padding: 0; transform: none; }
  .strength-item__icon {width: 10vw;height: 10vw;font-size: 1.3rem;right: 1em;bottom: 1em;}

  /* フロー */
  h2 .en {
    letter-spacing: 0.3em !important;
}
  .flow-section {padding: 1.8em 0 2em 0;overflow: hidden;}
  .flow-section__title {/* font-size: 1.1rem; */}
  .flow-list { flex-direction: column; gap: 1.1em; }
  .flow-item {
    width: 100%;
    margin: 1em 0;
    flex-direction: column;
    gap: 0.8em;
  }
  .flow-item__title {font-size: 2rem;}
  .flow-item__desc { font-size: 0.97rem; padding: 0; }
  .flow-item__img { height: 85px; min-width: unset; }

  /* CARLINE */
  .carline-list { flex-direction: column; gap: 1.2em; margin: 1em 0; }
  .carline-card {
    width: 100%;
    margin-bottom: 0.8em;
    min-width: 0;
    padding: 1em;
  }
  .carline-card__body {position: static;top: auto;transform: none;text-align: left;padding: 0.2em 0;position: absolute;top: 50%;transform: translate(50%, -50%);right: 50%;width: 100%;text-align: center;}

  /* ドライバー・オプション */
  .driver-section, .option-section {
    padding: 2.3em 0;
    /* border-radius: 0; */
    margin-top: 0;
    margin-bottom: 0;
  }

  .option-section {
    padding-bottom: 13em;
    margin-bottom: -8em;
}
  .driver-section__content, .option-section__content {
    flex-direction: column;
    gap: 1.1em;
    margin-top: 1.2em;
    display: block;
  }
  .driver-section__img, .option-section__img {
    width: 100%;
    height: auto;
    max-width: 98vw;
  }
  .driver-section__img img, .option-section__img img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    top: inherit;
  }
  .driver-section__desc, .option-section__desc { margin-top: 1em; }

  /* 会社・エリア・リクルート */
  .company-section, .tokyo-area-section, .osaka-area-section, .recruit-section {
    padding: 1.5em 0;
    border-radius: 0;
    margin-top: 1px;
    padding-bottom: 30vw;
  }
  .company-section__title, .area-title, .recruit-section__title {/* font-size: 1.15rem; */}
  .company-table th, .company-table td {padding: 0.45em 0.15em;font-size: 0.81em;}
section.main_visual {
    padding-top: 38vh;
}

.tokyo-area-section {
    top: -46vw;
    /* margin-top: 46vw; */
}

.osaka-area-section {
        top: -58vw;
        margin-top: -50vw;
    }

.company-section {
        top: -105vw;
        width: 100%;
        overflow: hidden;
        margin-bottom: -109vw;
    }
  section#company-section {
    border-radius: 5vw;
}

.company-table th, .company-table td {
    display: block;
    width: 100%;
    padding: 1.4em 0;
}

.company-table th {
    background: #222222;
    text-align: left;
    padding: 1em 0;
}

.company-table tr {
    padding-bottom: 0.5em;
    display: block;
}

.company-table td:last-child {
    border: none;
}

  .area-info button {margin-bottom: 0;}
  .area-info:nth-child(1):after {display: none;}

  /* SNSアイコン */
  .social-icons {gap: 16px;/* margin-top: 0.7em; */}
  .social-icon { width: 34px; height: 34px; }
  .social-icon i { font-size: 18px; }
  a.social-icon.tiktok i { font-size: 22px; }
  .social-icon img { width: 16px; height: 16px; }

  /* ボタンの横幅崩れを防ぐ */
  .btn, .btn--primary, .btn--outline { max-width: 100vw; min-width: 0 !important; }

.modal.show .modal__content {
    width: 94% !important;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 2vw;
    padding-top: 9vw !important;
    padding-bottom: 9vw;
}

  div#modal-03 .display_flex {
    flex-wrap: wrap;
    padding-top: 2em;
}

div#modal-03 .display_flex div:nth-child(1) {
    width: 100%;
}

div#modal-03 .display_flex div:nth-child(1) .hero-buttons {
    display: none;
}

div#modal-03 .display_flex .modal-driver-image {
    width: 100%;
    margin-bottom: 2em;
}

.modal .modal-service-list {
    display: block;
}

.modal .modal-service-card {
    display: block;
    width: 100%;
}
  .modal .modal-service-card h3 {
    margin-top: 0;
}

.hero-buttons.show {
    display: block;
    width: 95%;
    margin: auto;
}
  .modal .modal-service-list .hero-buttons {
    width: 90%;
    margin: auto;
    padding-bottom: 10vw;
}


div#modal-02 .display_flex {
    display: block;
}
  div#modal-02 .modal__content .display_flex {
    flex-wrap: wrap;
}

div#modal-02 .modal__content .display_flex div:nth-child(1) {
    width: 100%;
}

div#modal-02 .modal__content .display_flex div:nth-child(1) a.btn {
    display: none;
}

div#modal-02 .modal__content .display_flex .modal-driver-image {
    width: 100%;
    height: inherit;
}

.carline-section__buttons {
    display: block;
    width: 95%;
    margin: auto;
}

.option-section__img img {
    position: relative;
}

.img-hover-zoom-wrap {
    position: relative;
    top: auto;
    transform: inherit;
}

.option-section__img.slideup-in.is-visible {
    width: 100%;
}

.area-bg-parallax {
    height: 100vh;
    width: auto;
}

.area-bg-parallax {
    width: auto;
    overflow: hidden;
}

.area-bg-img {width: auto!important;max-width: none;max-height: inherit;height: 100vh;/* aspect-ratio: 16/9; */}

.tokyo-area-section .White_background .area-cols {
    display: block;
}

.hight {
    width: 100%;
    display: none;
}

.area-main {
    margin-top: 0;
}

  .area-price-title {
    text-align: center;
    color: white;
}
  .area-price-title__sub {
    color: white;
}

.area-nav {
    height: inherit;
}

.tokyo-area-section .White_background {
    padding-bottom: 60vh;
}

.osaka-area-section .White_background .area-cols {
    display: block;
}

.osaka-area-section .White_background {
    padding-bottom: 60vh;
    margin-bottom: -30vh;
    border-radius: 6vw;
}

.news-list {
    /* display: block; */
    height: 13vw;
}

.news-ticker {
    /* height: 130px; */
}

section.strength-section {
    padding-top: 10rem;
}

.parallax-zoom-section .wipe-in {
    width: 100%;
}

.car-modal__gallery {
    display: block;
}

.car-modal-main__visual {
    width: 100%;
}

.car-modal__visual {
    width: 100%;
    height: 70vw;
}

.car-modal__thumbs {
    flex-wrap: wrap;
    width: 100%;
    flex-direction: inherit;
    justify-content: space-between;
}
  .car-modal__thumb {
    width: 160px;
}

.car-modal__title {
    margin-top: 0;
}

.modal.car-modal .modal__content.car-modal__content .display_flex {
    display: block;
    margin: auto;
    justify-content: center;
    width: 100%;
    gap: 3vw;
}

.car-modal__specaccessory {
    width: 100%;
}
  .car-modal__specaccessory img {
    margin-bottom: 2em;
}

.display_flex.btn {
    display: flex !important;
    gap: 1vw;
    flex-wrap: wrap;
}
  

}

@media (max-width: 600px) {
  .img-hover-zoom-wrap {
    width: 100%;
  }
}

/* --- 修正⑤：モバイルで .wrap 要素の幅を制限 --- */
@media (max-width: 600px) {
  .wrap {
    width: 95% !important;
    max-width: 100% !important;
    padding: 0 !important;
    /* overflow-x: hidden !important; */
    /* height: 100vh; */
  }
  .company-section .wrap,
  .area-wrap {
    width: 95% !important;
    max-width: 95% !important;
  }

  .sp {
    display: block;
}
}


@media (max-width: 600px) {
  .catch-copy br.sp {
    display: block;
  }

   .btn-fallin {
    /* transform: translateY(-50px) scale(1.3); を打ち消す */
/*    transform: translateY(-50px) scale(1) !important;*/
  }

  hr.border {
    color: inherit;
    background-color: inherit;
    margin-bottom: 11px;
}
  .scroll-img {
    animation: none;
    transform: scale(1) !important;
  }
    .hero-gradient {
    height: 100vh;
    /* background: rgba(0, 0, 0, 0.5); */
  }

    .catch-copy {
transition: opacity 0.7s ease, transform 0.7s ease;
}
}








@media screen and (min-width: 600px) and (max-width: 1024px) {
.recruit-btns .display_flex {
        flex-wrap: wrap;
        width: 100%;
    }

 .recruit-btns .display_flex a.hv {
        min-width: 120px !important;
        font-size: 1rem;
        padding: 1.5em 0.5em !important;
        width: 100% !important;
}
}


@media screen and (max-width: 600px) {
.recruit-btns .display_flex {
        flex-wrap: wrap;
        width: 100%;
        gap: 0;
    }

 .recruit-btns .display_flex a.hv {
        padding: 1.15em 0.3em;
        width: 48% !important;
        min-width: inherit;
        width: 100% !important;
        display: block;
        margin-bottom: 5vw;
}
}




