

h3 {
    font-size: 24px;
}


body {
  background: #000;

}

.spinner {
  width: 40px; height: 40px;
  border: 4px solid #fff;
  border-top: 4px solid #b28c38;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 30px auto 0 auto;
}
@keyframes spin {
  to { transform: rotate(360deg);}
}
#loading-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* â”€â”€ ãƒ˜ãƒƒãƒ€ãƒ¼ï¼‹ãƒŠãƒ“ â”€â”€ */
.site-hero-header {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  z-index: 10;
  border-bottom: 1px solid rgba(255,255,255,0.3);
}
.site-logo {
  flex: 1;
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
}
.global-nav__list {
  display: flex;
  gap: 2rem;
}
.global-nav__list li a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.btn--contact {
  background: #d4501e;
  padding: 0.5em 1em;
  border-radius: 2em;
  color: #fff;
  margin-left: 2rem;
  font-weight: 600;
}

/* â”€â”€ å‹•ç”»ï¼‹ã‚°ãƒ©ãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ â”€â”€ */
.hero-video {
  position: relative;
  z-index: -1;
  position: absolute;
  position: fixed;
  width: 100%;
  height: 100vh;
  width: 100%;
  height: 100vh;
  object-fit: cover;   /* â†ãƒã‚¤ãƒ³ãƒˆï¼ä¸­å¤®ãƒˆãƒªãƒŸãƒ³ã‚°ï¼†æ‹¡å¤§ç¸®å° */
  object-position: center;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  overflow: hidden;
}
.hero-video video {
  width: 100%;
  /* height: 100vh; */
  object-fit: fill;
  width: 100%;
  height: 100vh;
  object-fit: cover;   /* â†ãƒã‚¤ãƒ³ãƒˆï¼ä¸­å¤®ãƒˆãƒªãƒŸãƒ³ã‚°ï¼†æ‹¡å¤§ç¸®å° */
  object-position: center;
  display: block;
}
.hero-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 105vh;
  background: linear-gradient(to bottom, rgb(0 0 0 / 56%) 0%, rgb(0 0 0 / 72%) 50%, rgb(0 0 0) 100%);
  z-index: 0;
  display: block;
}



/*ã‚°ãƒ­ãƒŠãƒ“*/
.main-navigation ul li.active a {
    /* background: #e18e1e4a; */
    color: #ffae03;
}

.main-navigation li {
    list-style: none;
}

/* â”€â”€ ã‚­ãƒ£ãƒƒãƒã‚³ãƒ”ãƒ¼ â”€â”€ */
.hero-overlay {
  z-index: 3;
  color: #fff;
  position: absolute;
  text-align: left;
  bottom: 5vh;
width: 80%;
left: 3%;
}

/* style_top.css ã«è¿½åŠ  */
.catch-copy .char-span {
  display: inline-block; /* transform ã‚’é©ç”¨ã™ã‚‹ãŸã‚ã«å¿…è¦ */
  opacity: 0;
  transform: translateY(20px); /* åˆæœŸçŠ¶æ…‹ï¼šä¸‹ã«20pxã®ä½ç½® */
  transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1); /* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³åŠ¹æžœ */
  /* cubic-bezier ã¯ã€Œãµã‚ã£ã¨ã€æ„Ÿã‚’å‡ºã™ãŸã‚ã®ä¸€ä¾‹ã§ã™ã€‚ãŠå¥½ã¿ã§èª¿æ•´ã—ã¦ãã ã•ã„ã€‚ */
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 600;
}

.catch-copy .char-span.visible {
  opacity: 1;
  transform: translateY(0); /* è¡¨ç¤ºçŠ¶æ…‹ï¼šå…ƒã®ä½ç½® */
}


.catch-copy {
  font-size: 2.2rem;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  /* opacity: 0; */
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
    font-family: 'æ¸¸æ˜Žæœ', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  line-height: 1.6em;
  letter-spacing: 0.05em;
  z-index: 999;
}


/* style_top.css ã®ä¿®æ­£ç®‡æ‰€ */

/* æ—¢å­˜ã® .sub-copy ã®ã‚¹ã‚¿ã‚¤ãƒ«å®šç¾©ã‚’æŽ¢ã—ã€ä»¥ä¸‹ã®ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã™ã€‚ */
/* ã‚‚ã— .sub-copy ã®ã‚¹ã‚¿ã‚¤ãƒ«å®šç¾©ãŒè¤‡æ•°ç®‡æ‰€ã«ã‚ã‚‹å ´åˆã¯ã€
   ç‰¹ã« .show ã‚¯ãƒ©ã‚¹ã«é–¢é€£ã™ã‚‹ã‚‚ã®ã‚’ä¸­å¿ƒã«èª¿æ•´ã—ã¦ãã ã•ã„ã€‚ */

/* ã‚µãƒ–ã‚³ãƒ”ãƒ¼ã®åˆæœŸçŠ¶æ…‹ã¨å…±é€šã‚¹ã‚¿ã‚¤ãƒ« */
.sub-copy {
  font-size: 0.9rem; /* ã¾ãŸã¯ 16px */
  margin-bottom: 1rem;d
  letter-spacing: 0.05em;
  /* â–¼ ãƒ¯ã‚¤ãƒ—ã‚¤ãƒ³ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®ãŸã‚ã®ã‚¹ã‚¿ã‚¤ãƒ« â–¼ */
  opacity: 1; /* æœ€åˆã‹ã‚‰ä¸é€æ˜Žã«ã—ã¦ãŠãã€clip-pathã§è¦‹ãˆéš ã‚Œã•ã›ã‚‹ */
  transform: translateY(0); /* ç¸¦ã®ç§»å‹•ã¯ã•ã›ãªã„ï¼ˆã¾ãŸã¯ãŠå¥½ã¿ã§èª¿æ•´ï¼‰ */
  clip-path: inset(0 100% 0 0); /* åˆæœŸçŠ¶æ…‹ï¼šå³å´ãŒ100%ã‚¯ãƒªãƒƒãƒ—ã•ã‚Œã¦è¦‹ãˆãªã„ */
  /* (top, right, bottom, left) */
  transition: clip-path 2s ease-out 0.00s; /* ã‚¿ã‚¤ãƒŸãƒ³ã‚°é–¢æ•°ã‚’ ease-out ã«å¤‰æ›´ */
  /* â†‘ã“ã“ãŒã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã®é•·ã•ï¼ˆ1.2ç§’ï¼‰    â†‘ã“ã“ãŒé…å»¶ï¼ˆ0.2ç§’ï¼‰ */
}

/* JavaScriptã§ .show ã‚¯ãƒ©ã‚¹ãŒä»˜ä¸Žã•ã‚ŒãŸã¨ãã®ã‚¹ã‚¿ã‚¤ãƒ« */
.sub-copy.show {
  clip-path: inset(0 0 0 0); /* è¡¨ç¤ºçŠ¶æ…‹ï¼šã‚¯ãƒªãƒƒãƒ—ãªã—ï¼ˆå…¨ã¦è¦‹ãˆã‚‹ï¼‰ */
}

/* æ³¨æ„ï¼šæ—¢å­˜ã® .sub-copy ãŠã‚ˆã³ .sub-copy.show ã«é–¢ã™ã‚‹
  opacity ã‚„ transform ã® transition æŒ‡å®šã¯ã€ä¸Šè¨˜ãƒ¯ã‚¤ãƒ—ã‚¤ãƒ³ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã¨
  é‡è¤‡ã—ãŸã‚Šç«¶åˆã—ãŸã‚Šã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã¾ãŸã¯å‰Šé™¤ã—ã€
  clip-path ã® transition ã«ä¸€æœ¬åŒ–ã™ã‚‹ã“ã¨ã‚’æŽ¨å¥¨ã—ã¾ã™ã€‚

  ä¾‹ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ãª .sub-copy ã«å¯¾ã™ã‚‹åˆæœŸåŒ–ã‚„ .show æ™‚ã®ã‚¹ã‚¿ã‚¤ãƒ«ãŒ
  style_top.css ã®ä¸‹ã®æ–¹ï¼ˆ.catch-copy, .sub-copy, .hero-buttons, #masthead ã®å…±é€šã‚¹ã‚¿ã‚¤ãƒ«å†…ï¼‰
  ã«ã‚‚ã‚ã‚‹å ´åˆã€ãã¡ã‚‰ã® .sub-copy ãŠã‚ˆã³ .sub-copy.show ã® opacity ã¨ transform ã®
  transition ã¯ã“ã® clip-path ã®æŒ™å‹•ã‚’å„ªå…ˆã™ã‚‹ã‚ˆã†ã«èª¿æ•´ã™ã‚‹ã‹ã€
  ã“ã®ãƒ¯ã‚¤ãƒ—ã‚¤ãƒ³ãŒä¸è¦ãªå ´åˆã¯ãã¡ã‚‰ã‚’æ´»ã‹ã™å½¢ã«ãªã‚Šã¾ã™ã€‚

  ä»Šå›žã®è¦æœ›ã«åˆã‚ã›ã¦ã€ä¸Šè¨˜ã®ã‚ˆã†ã« clip-path ã§åˆ¶å¾¡ã™ã‚‹å½¢ã«ã—ã¦ã„ã¾ã™ã€‚
*/


.hero-overlay.show .catch-copy,
.hero-overlay.show .sub-copy {
  opacity: 1;
  transform: translateY(0);
}

/* â”€â”€ ãƒœã‚¿ãƒ³ â”€â”€ */
.hero-buttons {
  display: flex;
  gap: 2rem;
  justify-content: center;
  width: 100%;
  padding-top: 10px;
}
.btn {
  gap: 10px;
  position: relative;
  padding: 1.05em 1em;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0.4em;
  transition: all 0.3s ease;
  min-width: 161px;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 20px;
}
.btn-dot::before {
  content: '';
  position: absolute;
  right: 2em;
  top: 50%;
  width: 13px;
  height: 13px;
  background: currentColor;
  border-radius: 50%;
  transform: translateY(-50%) scale(1);
  transition: transform 0.3s;
}
.btn-dot:hover::before {
  transform: translateY(-50%) scale(1.8);
}
.btn--primary {
  background: #d4501e;
  color: #fff;
  border: none;
  width: 390px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn--outline {
  background: transparent;
  color: #ffffff; /* gold */
  border: 1px solid #ffffff;
  padding: 35px 40px;
  /* width: 230px; */
  overflow: hidden;
  padding-right: 80px;
}

.btn--outline a:hover {
    color: white;
}

.btn--outline:hover {
    color: #fff;
}

/*.btn--outline:hover:before {
    transform: scaleX(1);
    transform-origin: left;
}*/

.btn--outline:after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #ffffff;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
    z-index: -1;
}

.btn--outline:hover:after {
    transform: scaleX(1);
    transform-origin: left;
}

.btn--outline:hover {
    color: black;
}
section.main_visual .btn--outline {
    width: 260px;
    border-color: #B28C38;
    color: #B28C38;
}
section.main_visual .hero-buttons a.btn.btn--primary.btn-dot {
    width: 390px;
}

section.main_visual .hero-buttons a.btn:hover {
    color: black !important;
}



/*ãƒ¡ã‚¤ãƒ³ãƒ“ã‚¸ãƒ¥ã‚¢ãƒ«*/
/* ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚ªãƒ¼ãƒãƒ¼ãƒ¬ã‚¤ã®ã‚¹ã‚¿ã‚¤ãƒ« */

#loading-overlay {
  position: fixed; /* ç”»é¢å…¨ä½“ã‚’è¦†ã† */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000; /* ä¾‹: é»’è‰²ã®èƒŒæ™¯ã€‚ã‚µã‚¤ãƒˆã®ãƒ†ãƒ¼ãƒžã‚«ãƒ©ãƒ¼ã§ã‚‚å¯ */
  z-index: 99999; /* æœ€å‰é¢ã«è¡¨ç¤º */
  opacity: 1;
  visibility: visible;
  transition: opacity 0.8s ease-out, visibility 0s linear 0.8s; /* ãƒ•ã‚§ãƒ¼ãƒ‰ã‚¢ã‚¦ãƒˆã®ãƒˆãƒ©ãƒ³ã‚¸ã‚·ãƒ§ãƒ³ */
}

#loading-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}



section.main_visual {
    display: block;
    height: 99vh;
    /* overflow: hidden; */
}

section.main_visual .hero-buttons {
    justify-content: left;
}



/* â”€â”€ ãŠçŸ¥ã‚‰ã› â”€â”€ */
.news-section {
  /* background: #000; */
  padding: 0em 0 0rem 0rem;
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 2;
  height: 130px;
}

.news-section {
  opacity: 0;
  transform: translateY(20px); /* ä¾‹: å°‘ã—ä¸‹ã‹ã‚‰ä¸ŠãŒã£ã¦ãã‚‹ */
  transition: opacity 0.8s ease-out 0.2s, transform 0.8s ease-out 0.2s; /* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³æ™‚é–“ã‚’èª¿æ•´ */
  /* transition-delay (0.2s) ã¯ã€ä»–ã®è¦ç´ ã¨ã®è¡¨ç¤ºã®ã€Œé–“ã€ã§ã™ã€‚ä¸è¦ãªã‚‰0sã« */
}

.news-section.show {
  opacity: 1;
  transform: translateY(0);
  display: none;
}


.news-section h2.news-section__title {
    color: white;
    font-size: 40px;
}
.news-box {
  max-width: 900px;
  margin: 0 auto;
  border: 1px solid #fff;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.news-title {
  font-size: 1.5rem;
  margin: 0;
  white-space: nowrap;
}
.news-title span {
  opacity: 0.6;
  margin-left: 0.5rem;
}
.news-entry {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.news-entry time {
  color: #fff;
  opacity: 0.6;
}
.news-cat {
  background: rgba(255,255,255,0.1);
  color: #fff;
  padding: 0.25em 0.5em;
  border-radius: 0.25em;
  font-size: 0.875rem;
}
.news-link {
  color: #fff;
  text-decoration: none;
  flex: 1;
}
.news-dot {
  color: #fff;
  font-size: 1.5rem;
}
.news-section .display_flex {
    justify-content: left;
    /* margin: 1em 0; */
    /* padding-bottom: 1px; */
}

.news-section h2.news-section__title {
    padding-right: 30px;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
}

.news-section time {
    color: white;
    font-size: 16px;
    padding-right: 1em;
    font-weight: 100;
}


.news-section .news-list a.news-item__link {
    color: white;
    text-decoration: none;
}

.news-section .wrap {
    /* border-top: 0.1px solid #363636; */
}


.news-ticker {
  position: relative;
  overflow: hidden;
  width: 100%;    /* ãŠå¥½ã¿ã§ */
  height: 2.5em;   /* ãƒ‹ãƒ¥ãƒ¼ã‚¹é«˜ã•ã«åˆã‚ã›ã¦ */
}

.news-list {
  display: flex;
  transition: transform 0.7s cubic-bezier(.5,0,.5,1);
  /* widthã¯jsã§å‹•çš„ã« */
  align-items: center;
  height: 100%;
}

.news-item {
  flex: 0 0 600px;     /* .news-tickerã¨åŒã˜å¹… */
  opacity: 1;
  transition: opacity 0.3s;
  padding-left: 12px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-size: 1.1em;
  background: transparent;
}




.news-ticker::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(to left, rgb(0 0 0), #00000000 60%);
  pointer-events: none;
  z-index: 1;
  /* background: #000000ad; */
}



/* æ—¢å­˜ã® .hero-overlay, #masthead ã®åˆæœŸçŠ¶æ…‹ */
.hero-overlay, #masthead {
  /* opacity: 0; */ /* ã“ã¡ã‚‰ã®opacityã¯ã‚³ãƒ¡ãƒ³ãƒˆã‚¢ã‚¦ãƒˆã®ã¾ã¾ã‹ã€
                        ä¸‹ã® .catch-copy ãªã©ã®åˆæœŸåŒ–ã§ opacity:0 ãŒè¨­å®šã•ã‚Œã¦ã„ã‚Œã°å½±éŸ¿ã¯å°‘ãªã„ã§ã™ */
  transform: translateY(30px);
  transition: opacity 1s cubic-bezier(.4,0,.2,1), transform 1s cubic-bezier(.4,0,.2,1);
}

/*
 * â–¼â–¼â–¼ã€ã“ã“ã‹ã‚‰ä¿®æ­£ãƒ»ç¢ºèªç®‡æ‰€ã€‘â–¼â–¼â–¼
 * .show ã‚¯ãƒ©ã‚¹ãŒä»˜ä¸Žã•ã‚ŒãŸéš›ã®ã‚¹ã‚¿ã‚¤ãƒ«
 * .hero-overlay ã‚‚ .show ã‚¯ãƒ©ã‚¹ã§è¡¨ç¤ºåˆ¶å¾¡ã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
 * #masthead ã‚‚æ—¢ã« .show ã§åˆ¶å¾¡ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€ã“ã“ã§ã¾ã¨ã‚ã¦å®šç¾©ã™ã‚‹ã‹ã€
 * .hero-overlay.show ã®å®šç¾©ã‚’å€‹åˆ¥ã«è¿½åŠ ã—ã¾ã™ã€‚
 */
.hero-overlay.show, /* â†â˜… .hero-overlay ã« .show ãŒã¤ã„ãŸæ™‚ã®ã‚¹ã‚¿ã‚¤ãƒ«ã‚’è¿½åŠ  */
#masthead.show,
/* å¿µã®ãŸã‚ã€ã‚‚ã— .visible ã‚¯ãƒ©ã‚¹ã‚‚å¼•ãç¶šãä½¿ã‚ã‚Œã‚‹ç®‡æ‰€ãŒã‚ã‚‹ãªã‚‰æ®‹ã—ã¾ã™ */
.hero-overlay.visible,
#masthead.visible {
  opacity: 1;
  transform: translateY(0);
}

.site-header .wrap {
    padding: 50px 30px;
    width: 100%;
}
/* â–²â–²â–²ã€ã“ã“ã¾ã§ä¿®æ­£ãƒ»ç¢ºèªç®‡æ‰€ã€‘â–²â–²â–² */

/* ... (ä»–ã®CSSãƒ«ãƒ¼ãƒ«) ... */

/* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³å¯¾è±¡è¦ç´ ã®åˆæœŸåŒ– (ã“ã“ã§å„è¦ç´ ã® opacity: 0 ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã™) */
.catch-copy, .hero-buttons, #masthead {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(.4,0,.2,1), transform 0.8s cubic-bezier(.4,0,.2,1);
}

/* .show ã‚¯ãƒ©ã‚¹ãŒä»˜ä¸Žã•ã‚ŒãŸéš›ã®ã‚¹ã‚¿ã‚¤ãƒ« (å€‹åˆ¥ã®è¦ç´ ã«å¯¾ã™ã‚‹ã‚‚ã®) */
.catch-copy.show,
.hero-buttons.show {
  /* #masthead.show ã¯ä¸Šã§ã¾ã¨ã‚ã¦å®šç¾©ã—ãŸã®ã§ã€ã“ã“ã§ã¯çœç•¥ã—ã¦ã‚‚è‰¯ã„ã§ã—ã‚‡ã† */
  opacity: 1;
  transform: translateY(0);
}

/*
  ã‚‚ã—ã€ä¸Šè¨˜ã® #masthead.show ã®å…±é€šåŒ–ãŒæ··ä¹±ã‚’æ‹›ãã‚ˆã†ã§ã—ãŸã‚‰ã€
  ä»¥ä¸‹ã®ã‚ˆã†ã« .hero-overlay.show ã®å®šç¾©ã‚’å˜ç‹¬ã§è¿½åŠ ã—ã¦ã‚‚æ§‹ã„ã¾ã›ã‚“ã€‚

  .hero-overlay.show {
    opacity: 1;
    transform: translateY(0);
  }
  ãã®å ´åˆã€å…ƒã® .hero-overlay.visible, #masthead.visible ã®å®šç¾©ã¯ãã®ã¾ã¾æ®‹ã—ã¦ãã ã•ã„ã€‚
*/







/*ã‚¹ãƒˆãƒ¬ãƒ³ã‚¸ã‚»ã‚¯ã‚·ãƒ§ãƒ³*/
/* 3ã‚«ãƒ©ãƒ æ§‹æˆ */
.strength-list {
  display: flex;
  /* gap: 1rem; */
  border-radius: 10px;
  border: 1px solid #eee;
  overflow: hidden;
}
.strength-item:last-child {
    border-right: antiquewhite;
}
.strength-item {
  position: relative;
  flex: 1;
  overflow: hidden;
  border-radius: 1rem;
  cursor: pointer;
  transition: flex-grow 0.3s ease;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  flex-wrap: wrap;
  border-right: 1px solid #eee;
  border-radius: initial;
  height: 60vh;
  align-items: center;       /* å­è¦ç´ ã‚’ç¸¦ï¼ˆäº¤å·®è»¸ï¼‰ä¸­å¤®ã« */
  /* justify-content: center; */   /* å­è¦ç´ ã‚’æ¨ªï¼ˆä¸»è»¸ï¼‰ä¸­å¤®ã«ï¼ˆå¿…è¦ã«å¿œã˜ã¦ï¼‰ */
  padding: 1rem;
    transition: flex-grow 0.5s ease;
}
/* èƒŒæ™¯ç”»åƒã¯CSSã§å€‹åˆ¥ã«æŒ‡å®šã—ã¦ã‚‚OK */
/* ä¾‹: .strength-item:nth-child(1) { background-image: url(...); } */

.strength-item:hover {
  flex-grow: 1.2;
}

/* å†…éƒ¨ãƒ†ã‚­ã‚¹ãƒˆ */
.strength-item__number {
  position: absolute;
  top: 0rem;
  left: 0rem;
  font-size: 6rem;
  color: rgba(255,255,255,0.8);
  font-family: 'Raleway', sans-serif;
  font-weight:100;
  font-family: "Oswald", sans-serif;
}
.strength-item__body {
  padding: 0 0 1.5rem 0;
  color: #fff;
  width: 100%;
  bottom: 15%;
  position: absolute;
  height: 38%;
  transform: translate(0px, 50%);
}
.strength-item__label {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 0;
}
.strength-item__text {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 0.5em;
}
.strength-item__icon {
  position: absolute;
  bottom: 1rem;
  right: 0;
  font-size: 4rem;
  opacity: 0.8;
  font-weight: 100;
  display: block;
  width: 100%;
  text-align: right;
  color: white;
  font-weight: 100;
  font-family: 'Raleway', sans-serif;
}

.strength-item__icon {
  position: absolute;
  right: 3vw;
  bottom: 3vw;
  width: 95px;    /* å††ã®ç›´å¾„ */
  height: 95px;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: absolute !important;
}

.strength-item__icon::before,
.strength-item__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3vw;   /* ç·šã®é•·ã• */
  height: 2.4px; /* ç·šã®å¤ªã• */
  background: #fff;
  border-radius: 2px;
  transform: translate(-50%, -50%);
}

.strength-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg); /* ç¸¦ç·š */
}



/* ãƒ¢ãƒ¼ãƒ€ãƒ«å…±é€š */
.modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  /* background: rgba(0,0,0,0.6); */
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}

.modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  /* background: rgba(0,0,0,0.6); */
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
  z-index: 99999;
  width: 100%;
  height: 100%;
  top: 50%;
  transform: translate(0%, -50%);

  background: none !important;
}

/* show ã‚¯ãƒ©ã‚¹ã§è¡¨ç¤º */
.modal.show {
  opacity: 1;
  visibility: visible;
}


.modal[aria-hidden="false"] {
  display: flex;
}
/* ã‚ªãƒ¼ãƒãƒ¼ãƒ¬ã‚¤ã¯ãã®ã¾ã¾å…¨ç”»é¢ */
.modal__overlay {
  background: rgb(0 0 0 / 88%);
  /* å¿…è¦ãªã‚‰ã“ã£ã¡ã‚‚é«˜è§£åƒåº¦å¯¾å¿œã§ full ã‚µã‚¤ã‚ºæŒ‡å®š */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: 100vh;
}
div#modal-03 .display_flex {
    flex-wrap: wrap;
    justify-content: space-between;
    display: flex;
    align-items: center;
    padding-top: 15vh;
}

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

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


.modal.show .modal__content .display_flex .modal-driver-image {
    /* width: 50%; */
}

.modal__content {
  /* å…ƒã® max-widthï¼width ã‚’ãƒªã‚»ãƒƒãƒˆ */
  max-width: none !important;
  width: 1200px !important;
  height: 90% !important;

  /* ç”»é¢ç«¯ã¾ã§åºƒã’ã‚‹ */
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 2rem; /* ãŠå¥½ã¿ã§å†…å´ã®ä½™ç™½ã‚’èª¿æ•´ */

  /* è§’ä¸¸ã‚’ãªãã™ */
  border-radius: 0 !important;

  /* é‡ãªã‚Šé †ã¯ãã®ã¾ã¾ */
  z-index: 2;
  background: #000000;
  z-index: 1;
  border-radius: 10px !important;
  color: white;
  border: 1px solid #eee;
  /* transform: translateY(20px); */
  opacity: 0;
  transition:
    transform 0.3s ease,
    opacity   0.3s ease;
  overflow-y: auto;
}

/* show æ™‚ã«ã‚¹ãƒ©ã‚¤ãƒ‰ãƒ€ã‚¦ãƒ³ */
.modal.show .modal__content {
  /* transform: translateY(0); */
  opacity: 1;
  position: relative;
}

.modal h3 {
    font-size: 32px;
    line-height: 1.3em;
}

div#modal-02 .modal__content {padding-top: 15vh;}

div#modal-02 .modal__content .display_flex {
    display: block;
    display: flex;
    align-items: normal;
    margin-bottom: 3em;
}

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

div#modal-02 .modal__content .display_flex .modal-driver-image img {
    height: 100%;
    width: auto;
    max-width: inherit;
}
div#modal-02 .modal__content .display_flex .modal-driver-image {
    width: 48%;
    overflow: hidden;
    height: 550px;
    display: flex;
    justify-content: center;
    align-items: center;
}

div#modal-02 .modal__content a.btn {
    width: 420px;
    color: #b28b38;
    border-color: #b28b38;
}

/*å¼·ã¿éƒ¨åˆ†*/
.modal__close {
  position: relative;
  width: 48px;
  height: 48px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.line01,
.line02 {
  position: absolute;
  left: 50%;
  top: 26.7%;
  width: 28px;   /* ãƒãƒ„å°ã®é•·ã• */
  height: 1px;   /* ãƒãƒ„å°ã®å¤ªã• */
  background: #fff; /* è‰² */
  border-radius: 2px;
  transition: background 0.2s;
}

.line01 {
  transform: translate(-50%, -50%) rotate(45deg);
}

.line02 {
  transform: translate(-50%, -50%) rotate(-45deg);
}

section.strength-section {
    background: rgb(0 0 0 / 80%);
    padding-top: 1px;
    padding-top: 6rem;
    padding-bottom: 6rem;
    backdrop-filter: blur(10px);
}

section.strength-section h2 {
    text-align: center;
    font-size: 42px;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-family: 'Kozuka Gothic Pr6N', sans-serif;
    letter-spacing: 0;
    margin-bottom: 100px;
}

section.strength-section h2 span.en {
    display: block;
    letter-spacing: 0.8em;
    font-weight: 100;
    color: #B28C38;
    font-size: 16px;
    font-family: 'Oswald', sans-serif;
}





/* â‘  å„ãƒ–ãƒ­ãƒƒã‚¯ã«èƒŒæ™¯ç”»åƒã‚’æŒ‡å®š */
.strength-item:nth-child(1) {background-image: url("../img/strange01.jpg");background-image: url("img/strange01.jpg");}
.strength-item:nth-child(2) {
  background-image: url('img/strange02.jpg');
}
.strength-item:nth-child(3) {
  background-image: url('img/strange03.jpg');
}

.strength-item {
  position: relative;
  flex: 1;
  height: 60vh;
  overflow: hidden;

  /* ç”»åƒã‚’ã‚«ãƒãƒ¼ã•ã›ã‚‹ */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* ç–‘ä¼¼è¦ç´ ã®ä¸‹ã«èƒŒæ™¯ã‚’æ•·ããŸã‚ã«èƒŒæ™¯ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’ãƒªã‚»ãƒƒãƒˆ */
  background-color: transparent;
  /* border-top-left-radius: 9px; */
  /* border-bottom-left-radius: 8px; */
}

/* â‘¡ ã‚ªãƒ¼ãƒãƒ¼ãƒ¬ã‚¤ï¼ˆè‰²ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ï¼‰ */
.strength-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgb(12 18 51 / 77%);
  z-index: 1;
  transition: background-color 0.5s ease;
}

/* â‘¢ ãƒ†ã‚­ã‚¹ãƒˆï¼ã‚¢ã‚¤ã‚³ãƒ³é¡žã¯ç–‘ä¼¼è¦ç´ ã®ä¸Šã«è¡¨ç¤º */
.strength-item__number,
.strength-item__body,
.strength-item__icon {
  position: relative;
  z-index: 2;
}


/* ãƒ›ãƒãƒ¼ã§æ‹¡å¤§ï¼‹ã‚ªãƒ¼ãƒãƒ¼ãƒ¬ã‚¤è–„ã */
.strength-item:hover {
  flex-grow: 2;
}
.strength-item:hover::before {
  background-color: rgba(0, 0, 0, 0.3);
}




/*ãƒ¢ãƒ¼ãƒ€ãƒ«ä¸­èº«*/
.modal .modal-service-list {
  display: flex;
  gap: 24px;
  margin-top: 24px;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
}


.modal .modal-service-card .text {
    min-height: 115px;
    /* display: flex; */
    align-items: center;
    text-align: left;
    margin-top: 1em;
    justify-content: left;
}

.modal .modal-service-card div {
    display: block;
    width: 100%;
    text-align: center;
}


.modal .modal-service-card h3 {justify-content: center;margin-bottom: 0px;font-size: 1.8em;height: 100px;text-align: center;display: flex;align-items: center;/* border-bottom: 1px solid #393939; */line-height: 1.3em;}
.modal .modal-service-card {
  /* background: #222; */
  border-radius: 0;
  /* box-shadow: 0 4px 20px rgba(0,0,0,0.25); */
  /* max-width: 320px; */
  /* min-width: 220px; */
  /* flex: 1 1 220px; */
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  padding: 18px;
  text-align: left;
  width: 48%;
}
.modal .modal-service-card img {
  width: 100%;
  object-fit: cover;
  border-radius: 0;
  margin-bottom: 14px;
}
.modal .modal-service-card h4 {
  font-size: 2.1em;
  margin: 0 0 8px;
  /* color: #ffe082; */
  font-weight: bold;
  text-align: left;
}
.modal .modal-service-card p {
  font-size: 16px;
  color: #fff;
}

button.modal__close {
    position: fixed;
    right: 50%;
    transform: translate(580px, 0px);
    top: 7%;
    font-size: 40px;
    background: inherit;
    border: none;
    color: white;
    padding: 0.1rem 0.5rem;
    line-height: 0.6em;
    z-index: 9999;
    display: block;
    border: 1px solid #fff;
    width: 80px;
    height: 80px;
    border-radius: 0;
    /* background: black; */
    border-radius: 100px;
}








/*ãƒ¢ãƒ¼ãƒ€ãƒ«02*/

.strength-section .modal-driver-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
  justify-content: center;
}

.strength-section .modal-driver-text {
  flex: 1 1 320px;
  min-width: 260px;
  max-width: 480px;
}

.strength-section .modal-driver-text h3 {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 24px;
  line-height: 1.3;
}

.strength-section .modal-driver-text p {
  font-size: 1em;
  line-height: 2;
}

.strength-section .modal-driver-image {
  flex: 1 1 260px;
  max-width: 340px;
  min-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.strength-section .modal-driver-image img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.strength-section .modal-driver-btnwrap {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.strength-section .modal-driver-btn {
  background: transparent;
  border: 1.5px solid #fff;
  color: #fff;
  border-radius: 10px;
  padding: 16px 48px;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.strength-section .modal-driver-btn:hover {
  background: #fff;
  color: #111;
}









/*ãƒ•ãƒ­ãƒ¼*/
.blue_background {
    z-index: 1;
    position: relative;
    display: block;
    background: #787f90f7;
    padding-top: 100px;
    /* border-radius: 40px; */
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    padding-bottom: 200px;
}



.flow-section {
  background: #111;
  padding: 6rem 0;
  background: rgb(0 0 0 / 80%);
  padding-top: 1px;
  padding-top: 6rem;
  padding-bottom: 6rem;
  backdrop-filter: blur(10px);
}
.flow-section .wrap {
  /* max-width: 1200px; */
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 90%;
}
.flow-section__title {
  text-align: center;
  font-size: 40px;
  color: #fff;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: 0.01em;
}
.flow-section__title .en {
  display: block;
  color: #b28c38;
  font-size: 15px;
  letter-spacing: 0.8em;
  font-weight: 100;
  margin-top: 4px;
  font-family: 'Oswald', sans-serif;
}



.flow-section__lead {
  color: #fff;
  opacity: 0.7;
  text-align: center;
  margin-bottom: 56px;
}
.flow-list {
  display: flex;
  /* flex-direction: column; */
  margin-bottom: 56px;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2%;
}
.flow-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 40px;
  align-items: center;       /* cross axisï¼ˆåž‚ç›´æ–¹å‘ï¼‰ä¸­å¤®æƒãˆ */
  width: 48%;
  margin: 80px 0;
  flex-wrap: wrap;
}
.flow-item__number {
  min-width: 90px;
  text-align: right;
  font-family: 'Raleway', sans-serif;
  align-items: center;       /* cross axisï¼ˆåž‚ç›´æ–¹å‘ï¼‰ä¸­å¤®æƒãˆ */
}
.flow-item__step {
  display: block;
  font-size: 24px;
  letter-spacing: 0em;
  color: #666666;
  font-weight: 900;
  margin-bottom: 2px;
  text-align: center;
  line-height: 1em;
  letter-spacing: 0.4em;
}
.flow-item__num {
  font-size: 122px;
  color: #fff;
  opacity: 0.25;
  font-weight: 100;
  line-height: 1;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.flow-item__body {
  flex: 1;
  height: 200px;
  display: flex;
  justify-content: left; /* æ¨ªæ–¹å‘ä¸­å¤® */
  align-items: center;     /* ç¸¦æ–¹å‘ä¸­å¤® */
  flex-wrap: wrap;
  text-align: left;
}
.flow-item__title {
  font-size: 34px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  margin-top: 0;
  font-family: 'Oswald', sans-serif;
}
.flow-item__desc {
  color: #fff;
  font-size: 18px;
  opacity: 0.8;
  margin: 0;
  line-height: 1.8em;
}
.flow-item__img {
  width: 430px;
  min-width: 120px;
  /* border: 1px solid #fff; */
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 265px;
  border: 1px solid #eee;
  width: 100%;
  border-radius: 0;
  display: none;
}
.flow-item__img img {
  width: 88%;
  height: auto;
  display: block;
}
.flow-section__buttons {
  display: flex;
  gap: 32px;
  justify-content: center;
  margin-top: 50px;
}

.hero-buttons.show {}

.modal .modal-service-list a.btn {
    color: #B28C38;
    width: 40% !important;
    padding: 40px 40px;
    border-color: #b28b38;
}

.modal .modal-service-list a.btn:hover {
    color: black;
}

.flow-section .wrap .flow-section__buttons {}

.flow-section .wrap .flow-section__buttons a.btn {
    color: #b28b38;
    width: 440px;
    padding: 30px;
    border-color: #b28b38;
}

.flow-section .wrap .flow-section__buttons a.btn:hover {
    color: black;
}

.img-hover-zoom-wrap {}






/* Car Line Up å›ºå®šèƒŒæ™¯ */
 position: relative;
  width: 100%;
  height: 50vh;
  min-height: 320px;
  overflow: hidden;
  z-index: 0;
  background: none;
}
.carline-bg-parallax {
  position: absolute;
  left: 0; top: 0;
  width: 100%;
  height: 100%;
  will-change: transform;
  pointer-events: none;
  display: flex; justify-content: center; align-items: flex-start;
  z-index: 1;
}
.carline-bg-img {
}
.carline-section {position: relative;background: #757881;/* padding: 0 0 8rem 0; */z-index: 1;}
.carline-section .carline-wrap {/* position: relative; *//* z-index: 2; *//* margin-top: 2vh; */text-align: center;}


.carline-section__buttons a.btn.btn--outline.btn-dot {
    width: 420px;
    padding: 30px;
}


.carline-section {
  position: relative;
  /* padding: 0 0 8rem 0; */
  background: #757881;
}
.carline-bg-fixed {
  position: fixed;
  top: 0; left: 0; width: 100%; z-index: 0;
  height: 50vh; min-height: 320px;
  background: none;
  display: flex; justify-content: center; align-items: flex-start;
  pointer-events: none;
}

.carline-section .carline-wrap {
  /* position: relative; */
  /* z-index: 1; */
  /* margin-top: 35vh; */
  /* text-align: center; */
}
.carline-section__title {
  color: #fff;
  font-size: 2.3rem;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-bottom: 0.2em;
  font-family: 'Oswald', sans-serif;
}
.parallax-zoom-section .wipe-in {
    position: absolute;
    top: 40vh;
    right: 50%;
    transform: translate(50%, 0%);
    z-index: 999;
}

.parallax-zoom-section:before {
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: #0000006b;
    z-index: 3;
    position: absolute;
}

.parallax-zoom-section .wipe-in h2.carline-section__title {
    /* color: black; */
}
.carline-section__subtitle {
  color: #b28c38;
  font-size: 16px;
  margin-bottom: 16px;
  letter-spacing: 0.2em;
}
.carline-section__bgtext {
  position: absolute;
  right: 50%;
  top: 20%;
  font-size: 16vw;
  color: #ffffff45;
  opacity: 0.12;
  /* font-family: 'Raleway', sans-serif; */
  font-weight: bold;
  letter-spacing: 0em;
  pointer-events: none;
  z-index: 0;
  width: 180%;
  transform: translate(50%, -50%);
  display: none;
}
.carline-list {
  display: flex;
  gap: 3vw;
  justify-content: center;
  margin: 2em 0 3em 0;
  margin-top: 100px;
}
.carline-card {
  background: rgb(255 255 255 / 36%);
  box-shadow: 0 4px 20px rgba(0,0,0,0.13);
  border-radius: 12px;
  /* padding: 4rem 3rem 2rem 3rem; */
  /* max-width: 370px; */
  /* min-width: 280px; */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.18s;
  border: 1.5px solid transparent;
  width: 50%;
  backdrop-filter: blur(10px);
  overflow: hidden;
  /* transition: transform 0.3s cubic-bezier(.42,0,.15,1), box-shadow 0.3s; */
}
.carline-card:hover {
  box-shadow: 0 6px 22px rgba(0,0,0,0.22);
  border: 1.5px solid #fff;
  transform: translateY(-3px) scale(1.03);
  transform: scale(1.05) translateY(30px);
  box-shadow: 0 6px 22px rgba(0,0,0,0.17);
}
.carline-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* margin-bottom: 1rem; */
}
.carline-card__body {
  text-align: center;
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translate(0px, -50%);
  text-shadow: 0 0 10px rgb(0 0 0);
}
.carline-card__title {
  font-size: 1.43rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-bottom: 0.12em;
}
.carline-card:hover:before {
    transition: opacity 1.0s cubic-bezier(.4,0,.2,1);
    opacity: 0;
}
.carline-card:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: rgb(0 0 0 / 36%);
    z-index: 9;
    transition: opacity 1.0s cubic-bezier(.4,0,.2,1); /* â†ã“ã“ã‚’1.2sã« */
}
.carline-card__subtitle {
  font-size: 0.79em;
  color: #e5e2db;
  opacity: 0.77;
  letter-spacing: 0.08em;
}
.carline-section__buttons {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-top: 100px;
}
.carline-card__img {
  transition: transform 1.5s cubic-bezier(.4,0,.2,1); /* ã‚†ã£ãã‚Šå‹•ã‹ã™ */
  will-change: transform; /* ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹æœ€é©åŒ– */
}

.carline-card:hover .carline-card__img {
  /* transform: scale(1.13); */  /* 1.13å€ã«æ‹¡å¤§ã€‚å¥½ã¿ã§èª¿æ•´å¯ */
}


.carline-section {
  position: relative;
  padding: 0 0 8rem 0;
  background: #757881;
  z-index: 1; /* å¿…è¦ã«å¿œã˜ã¦å¤‰æ›´ */
}

.carline-bg-section {
  position: sticky;
  top: 0;
  z-index: 0; /* èƒŒæ™¯ç”»åƒãŒå‰é¢ã«å‡ºãªã„ã‚ˆã†ã« */
  width: 100%;
  height: 100vh; /* ç”»é¢ã„ã£ã±ã„ã«è¡¨ç¤º */
  overflow: visible !important;
}

.carline-bg-parallax {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1; /* ä»–ã®è¦ç´ ã‚ˆã‚Šå¾Œã‚ã«é…ç½® */
}

.carline-bg-img {
  width: 100%;
  /* height: 100vh; */
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(.77, 0, .18, 1);
  will-change: transform;
  pointer-events: none;
}


#modal-02 > div.modal__content > div.hero-buttons.sp.show {
    display: none;
}

/*ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹ã¨æ‹¡å¤§ã—ã¦ã„ã*/
.scroll-img {
    display: inline-block;
  width: 100%;
    object-fit: cover;
    animation: scroll-scale linear both;
    animation-timeline: view();
    animation-range: cover 0% cover 20%;
}



hr.border {
    background-color: inherit;
    margin: 0;
    height: 0;
}


@keyframes scroll-scale {
  0% {
/*    opacity: 0;*/
    transform: scaleX(0.8) scaleY(0.8);
  }
  100% {
    opacity: 1;
    transform: scaleX(1) scaleY(1);
    
  }
}





/* ãƒ¢ãƒ¼ãƒ€ãƒ«ç”¨ å…±é€šCSSã®ä¸€éƒ¨ã‚’æµç”¨ */
.modal.car-modal {
  z-index: 99999;
}
.modal.car-modal .modal__content.car-modal__content {
  max-width: 900px;
  width: 96vw;
  height: auto;
  padding: 2.6rem 3vw 2.1rem 3vw;
  border-radius: 18px;
  background: #565963;
  color: #fff;
  position: relative;
  display: flex;
  position: relative;
  flex-direction: column;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}
.car-modal-main {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.car-modal-main__info {
  /* flex: 1.6; */
  /* min-width: 240px; */
  width: 100%;
}
.car-modal__title {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 18px;
  letter-spacing: 0.03em;
  color: #fff;
}
.car-modal__title span {
  display: block;
  color: #e0e0e0;
  font-size: 0.5em;
  font-weight: normal;
  margin-top: 0.2em;
  display: inline;
  letter-spacing: 0;
  padding-left: 20px;
}
.car-modal__desc {
  margin: 0 0 24px 0;
  padding-left: 1.3em;
  color: #fff;
  font-size: 1.09em;
  opacity: 0.86;
}
.car-modal__desc li {
  list-style: disc;
  margin-bottom: 0.35em;
}
.car-modal-main__visual {
  /* flex: 2; */
  /* min-width: 240px; */
  display: flex;
  /* align-items: flex-start; */
  width: 80%;
  margin: auto;
}
.car-modal__gallery {
  display: flex;
  /* flex-direction: column; */
  align-items: normal;
  gap: 18px;
  justify-content: space-around;
  width: 100%;
  flex-wrap: wrap;
}
.car-modal__visual {
  width: 80%;
  height: 570px;
  background: #232323;
  /* border-radius: 7px; */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 13px;
  /* box-shadow: 0 3px 12px rgba(0,0,0,0.18); */
}
.car-modal__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: auto;
  display: block;
}
.car-modal__thumbs {
  display: flex;
  flex-direction: column;
  gap: 11px;
  align-items: center;
  width: 10%;
}
.car-modal__thumb {
  width: 94px;
  object-fit: cover;
  border: 2.5px solid transparent;
  /* border-radius: 5px; */
  cursor: pointer;
  opacity: 0.65;
  /* background: #232323; */
  /* transition: border 0.18s, opacity 0.18s; */
}
.car-modal__thumb.active,
.car-modal__thumb:hover {
  border: 2.5px solid #ffe082;
  opacity: 1;
}
.car-modal__specaccessory {
  display: flex;
  /* gap: 64px; */
  margin-top: 42px;
  font-size: 1.05em;
  justify-content: left;
  width: 48%;
  flex-wrap: wrap;
  margin-bottom: 45px;
}

#car-modal-hiace > div.modal__content.car-modal__content > div.display_flex > div:nth-child(2) {
    background: rgb(255 255 255 / 60%);
}

#car-modal-alphard > div.modal__content.car-modal__content > div.display_flex > div:nth-child(2) {
    background: rgb(255 255 255 / 60%);
}

.car-modal__specaccessory .display_flex.btn {
    padding: 0;
    justify-content: space-between;
    width: 100%;
    padding: 1em;
    background: #575963;
    border-radius: 0;
}

.car-modal__specaccessory .display_flex.btn a.btnDL {
    margin-top: 0;
}

a.btnDL {
    display: inline-block;
    margin-top: 50px;
    padding: 20px 0;
    width: 300px;
    font-size: 14px;
    line-height: 1;
    /* background: #FFF; */
    border: 1px solid #ffffff;
    color: white;
    content: "\f019"; /* fa-download ã®Unicode */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.btnDL:after {
    content: '';
    display: inline-block;
    margin-left: 10px;
    width: 8.27px;
    height: 12.71px;
    vertical-align: bottom;
/*    background: url(../../img/common/icon_dl.svg) 0 bottom no-repeat;*/
    background-size: auto 99%;
    content: "\f019";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}


.car-modal__spec-title {
color: #fff;
    font-size: 1.02em;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin-bottom: 6px;
    display: inline-block;
    border: 1px solid #eee;
    padding: 5px 1.6em;
    width: 150px;
    text-align: center;
    border-radius: 100px;
    margin-bottom: 15px;
    margin-top: 15px;
}
.car-modal__spec-text {
  color: #fff;
  opacity: 0.85;
  font-size: 0.98em;
}









/**/
/*ã‚ªãƒ—ã‚·ãƒ§ãƒ³*/
.option-section__img.slideup-in.is-visible {
    width: 50%;
    position: relative;
/*     height: 400px;*/
}

.option-section__content .option-section__img {
    width: 50%;
}
.option-section {
    border-radius: 0 !important;
}

.option-section {
  background: #222;
  border-radius: 32px;
  margin-top: 2rem;
  padding: 6rem 0 6rem 0;
  color: #fff;
  box-shadow: 0 2px 30px rgba(0,0,0,0.13);
  position: relative;
  z-index: 7;
  top: -200px;
  /*   border: 1px solid #eee; */
  z-index: 8;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom: 0;
  padding-bottom: 70vh;
  margin-bottom: -200px;
}

.option-wrap {
  margin: 0 auto;
  padding: 0 2rem;
}

.option-section__title {
  text-align: center;
  font-size: 2.6rem;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin-bottom: 8px;
  font-family: 'Oswald', sans-serif;
}

.option-section__subtitle {
  display: block;
  color: #B28C38;
  font-size: 1.05rem;
  letter-spacing: 0.3em;
  margin-top: 0.7em;
  font-weight: 400;
}

.option-section__content {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-top: 6rem;
  display: flex;
  align-items: center;
  gap: 48px;
  margin-top: 9rem;
}

.option-section__img img {
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  position: relative;
  width: 32rem;
  max-width: 100%;
  border-radius: 14px; 
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  /* left: -20%; */
  position: relative;
  width: 100%;
  border-radius: inherit;
}

.option-section__desc {
  flex: 1;
}

.option-section__headline {
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 1em;
}

.option-section__lead {
  font-size: 1.1rem;
  opacity: 0.93;
  line-height: 1.7;
  margin-bottom: 2.3rem;
}
#option-section > div > div.option-section__content > div.option-section__desc > div:nth-child(2) {
    border-top: inherit;
}
.option-section__price-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 0.1px solid #626262;
  margin-top: 2.5rem;
  padding-top: 1.4rem;
  font-size: 1.15rem;
}

.option-section__price-label {
  font-weight: bold;
  letter-spacing: 0.05em;
}

.option-section__price {
  font-size: 2rem;
  /* color: #ffd600; */
  /* font-family: 'Raleway', sans-serif; */
  font-weight: bold;
}

.option-section__note {
  font-size: 0.92rem;
  opacity: 0.8;
  margin-top: 1.6rem;
  line-height: 1.7;
}








/* --- æ±äº¬ã‚¨ãƒªã‚¢ 2ã‚«ãƒ©ãƒ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ --- */

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

.tokyo-area-section .area-estimate-btn a {
    width: 100% !important;
    display: block;
    margin: auto;
    padding: 40px;
    margin-top: 80px;
}
.tokyo-area-section {}

.tokyo-area-section .wipe-in {
    z-index: 999;
    position: absolute;
    top: 45vh;
    right: 50%;
    transform: translate(50%, 0);
}

.area-bg-parallax:before {
        content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: #0000006b;
    z-index: 3;
    position: absolute;
}


h2.section__title {
    color: #ffffff;
    font-size: 2.3rem;
    font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
    font-weight: bold;
    letter-spacing: 0.02em;
    margin-bottom: 0.2em;
    font-family: 'Oswald', sans-serif;
}

.section__subtitle {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 16px;
    letter-spacing: 0.2em;
}

.tokyo-area-section {
  position: relative;
  min-height: 70vh;
  /* overflow: hidden; */
  /* margin-top: 100vh; */
  top: -100px;
  z-index: 10;
}
.area-bg-parallax {
  /* position: absolute; */
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  /* will-change: transform; */
  /* pointer-events: none; */
  top: 0;
  position: sticky;
  z-index: -1;
  background: radial-gradient(#d0d0d0 15%, transparent 16%) 0 0, radial-gradient(#d0d0d0 15%, transparent 16%) 8px 8px;
  background-size: 13px 13px;
  background-color: #b4b4b4; /* ãƒ‰ãƒƒãƒˆã®èƒŒæ™¯è‰² */
  min-height: 100vh;
}
.area-bg-img {
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  /* opacity: 0.17; */
  display: block;
  z-index: -1;
  /* position: sticky; */
  /* border-radius: 40px; */
}
.area-wrap {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin: 0 auto;
  /* padding: 4rem 2rem; */
}
.area-cols {
  display: flex;
  gap: 4rem;
}
.area-nav {
  flex: 0 0 240px;
  position: sticky;
  top: 6rem;
  align-self: flex-start;
  background: none;
}
.area-title {
  font-size: 2.4rem;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin-bottom: 0.2em;
  letter-spacing: 0.03em;
  margin-top: 0;
  font-family: 'Oswald', sans-serif;
}
.area-title__sub {
  color: #b28c38;
  font-size: 1.1rem;
  margin-left: 0.5em;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.area-desc {
    font-size: 0.9rem;
  opacity: 0.87;
  margin-bottom: 2em;
}
.area-anchor-nav {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  margin-top: 2em;
  color: white;
}
.area-anchor-nav a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  padding: 0.3em 0;
  border-left: 3px solid transparent;
  transition: border 0.18s, color 0.18s;
  letter-spacing: 0 !important;
  position: relative;
}
.area-anchor-nav a:hover, .area-anchor-nav a.active {
  /* color: #d4501e; */
  /* border-left: 3px solid #d4501e; */
}



.area-anchor-nav a.active:before {
    content: "";
    display: block;
    border-radius: 100%;
    width: 10px;
    height: 10px;
    background: #d4501d;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translate(-100%, -50%);
    transition: all 0.7s cubic-bezier(.77,0,.18,1);
}


.area-anchor-nav a:hover:before {
    content: "";
    display: block;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    background: #d4501d;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translate(-100%, -50%);
    transition: all 0.7s cubic-bezier(.77,0,.18,1);
    display: none;
}

.area-anchor-nav a.hover:before {
    content: "";
    display: block;
    border-radius: 100%;
    width: 10px;
    height: 10px;
    background: #d4501d;
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translate(-100%, -50%);
    transition: all 0.7s cubic-bezier(.77,0,.18,1);
}



.area-main {
  flex: 1;
  min-width: 0;
}
.area-main-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.area-main-desc {
  font-size: 1.1rem;
  opacity: 0.85;
  margin-bottom: 1.2em;
}
.area-main-map {
  border: 2px solid #222;
  background: #fff;
  height: 16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e44;
  font-size: 1rem;
  margin-bottom: 2.5rem;
}
.area-price-section {
  margin-top: 3rem;
}
.area-price-title {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  letter-spacing: 0.05em;
  font-family: 'Oswald', sans-serif;
  color: white;
}
.area-price-title__sub {
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: normal;
  margin-left: 0.3em;
}
.area-price-list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.area-price-block {
  background: #fff;
  border-radius: 1.3rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.09);
  padding: 2.3rem 2rem;
}
.area-price-block-title {
  font-size: 1.28rem;
  color: #222;
  font-weight: bold;
  margin-bottom: 1em;
  border-bottom: 2px solid #b28c38;
  display: inline-block;
  padding-bottom: 0.1em;
}
.area-price-row-list {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  margin: 1.2em 0;
}
.area-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.13rem;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  padding: 0.6em 0;
  text-align: right;
}
.area-price-section span.price {
    font-size: 1.2em;
}
.area-note li {
    font-size: 0.9em;
}

.area-note li ul {
    margin: 0;
    padding-left: 1em;
    list-style: none;
    font-size: 1em;
    line-height: 1.5em;
    margin-top: 0.3em;
}

.area-note {
  /* font-size: 0.35rem; */
  color: #a88;
  opacity: 0.93;
  margin: 1.1em 0 0 0;
  padding-left: 0;
  list-style: disc;
  font-size: 16px;
  list-style: none;
}
.area-estimate-btn {
  margin: 2.5rem 0 0 0;
  text-align: center;
}


.area-wrap, .area-cols {
  overflow: visible !important;
}

.area-cols {
  display: flex;
  gap: 3rem;
  position: relative;
}

.area-nav {
  flex: 0 0 320px;
  top: 2.5rem;  /* å›ºå®šã™ã‚‹ä½ç½®ï¼ˆèª¿æ•´OKï¼‰ */
  align-self: flex-start;
  z-index: 2;
   /* ãŠå¥½ã¿ã§ */
  position: -webkit-sticky;
  position: sticky;
  height: 500px;
  padding: 10px 0;
  padding-top: 100px;
  color: white;
}
.area-main {
  flex: 1;
  min-width: 0;
  padding-top
Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
Learn more
Don't show: 80px;';
  margin-top: 80px;
}

.hight {width: 30%;max-width: 600px;margin: 0 auto;padding: 0;/* margin-top: 40px; */padding-top: 0;}





.White_background {
    background: rgb(255 255 255 / 0%);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
}





/* --- å¤§é˜ªã‚¨ãƒªã‚¢ 2ã‚«ãƒ©ãƒ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ --- */
.osaka-area-section .area-estimate-btn a {
    width: 100% !important;
    display: block;
    margin: auto;
    padding: 30px;
    margin-top: 80px;
}

.osaka-area-section .White_background {
    padding-bottom: 140px;
}
.osaka-area-section {
  position: relative;
  min-height: 70vh;
  margin-top: -110vh;
  z-index: 12;
}
.osaka-area-section .wipe-in {
    z-index: 999;
    position: absolute;
    top: 45vh;
    right: 50%;
    transform: translate(50%, 0);
}

/* å¤§é˜ªç”¨ èƒŒæ™¯ç”»åƒï¼ˆæ±äº¬ã¨åŒã˜ã‚¹ã‚¿ã‚¤ãƒ«ãªã®ã§å…±é€šåˆ©ç”¨OKï¼‰ */
.osaka-area-section .area-bg-parallax {
  /* æ±äº¬ã¨åŒã˜ã§OKã€ç”»åƒãƒ‘ã‚¹ã ã‘é•ãˆã°OK */
}

/* å¤§é˜ªç”¨ WhiteèƒŒæ™¯ãƒ©ãƒƒãƒ‘ãƒ¼ */
.osaka-area-section .White_background {
background: rgb(255 255 255 / 0%);
-webkit-backdrop-filter: blur(14px);
border-top-left-radius: 40px;
border-top-right-radius: 40px;
padding-bottom: 200vh;
}



/* ã‚‚ã—å¤§é˜ªã ã‘é•ã†è‰²ã«ã—ãŸã„å ´åˆä¾‹ï¼ˆä»»æ„ï¼‰
.osaka-area-section .White_background {
  background: #fff8efb8;
}
*/







/*ä¼šç¤¾æƒ…å ±*/
   .company-section {
      background: #181818;
      color: #fff;
      padding: 7rem 0 8rem 0;
      position: relative;
      margin-top: -160vh;
      z-index: 12;
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;
    }

    .company-section .wrap {
    width: 800px;
}



    .company-section__subtitle {
      display: block;
      color: #B28C38;
      font-size: 1.15rem;
      letter-spacing: 0.3em;
      margin-top: 0.2em;
      font-weight: 400;
    }
    .company-tab-wrap {
      display: flex;
      justify-content: center;
      gap: 0.5em;
      margin: 2em 0 3em 0;
    }
    .company-tab {
      font-size: 1.2rem;
      background: #232323;
      color: #fff;
      border: none;
      padding: 1em 2.5em;
      border-radius: 0;
      cursor: pointer;
      transition: background 0.22s;
      font-weight: bold;
      letter-spacing: 0.18em;
    }
    .company-tab.active,
    .company-tab:focus {
      background: #181818;
      border-bottom: 3px solid #ffd600;
      color: #ffd600;
      outline: none;
    }
    .company-table-outer {
      /* max-width: 900px; */
      margin: 0 auto;
      position: relative;
    }
    .company-table {
      width: 100%;
      border-collapse: collapse;
      background: none;
      color: #fff;
      font-size: 1rem;
      letter-spacing: 0.02em;
      margin: 0 auto;
      display: none;
      transition: opacity 0.3s;
    }
    .company-table.active { display: table; }
    .company-table th,
    .company-table td {
      padding: 1.5em 1.4em;
      border-bottom: 1px solid #555;
      text-align: left;
      vertical-align: top;
    }
    .company-table th {
      font-weight: bold;
      width: 11em;
      color: #fff9c4;
      background: transparent;
    }
    .company-slider-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      color: #fff;
      font-size: 2.8rem;
      font-weight: 100;
      background: transparent;
      border: none;
      cursor: pointer;
      z-index: 10;
      padding: 0 0.2em;
      user-select: none;
      opacity: 0.5;
      transition: opacity 0.15s;
    }
    .company-slider-arrow:hover {
      opacity: 0.85;
    }
    .company-arrow-left {left: 50%;transform: translate(-500px, 0px) rotate(180deg);}
    .company-arrow-right {right: 50%;transform: translate(500px, -50%);}




    .company-slider-arrow.disabled {
  opacity: 0.3;
  pointer-events: none;
}



.company-table-wrap.active { display: block; }
.company-tab.active { color: #ffd600; border-bottom: 2px solid #ffd600; }
.company-slider-arrow {background: none;border: none;color: #aaa;font-size: 5rem;cursor: pointer;}

.company-slider-arrow:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 48px;
    height: 48px;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(-45deg);
}



/*recruit-section*/
.recruit-section {
  background: #181818;
  padding: 60px 0 80px 0;
  text-align: center;
}

.recruit-section__title {
  color: #fff;
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 0.5em;
  font-family: 'Oswald', sans-serif;
}

.recruit-section__subtitle {
  color: #b28c38;
  font-size: 1.04rem;
  margin-bottom: 2.5em;
  letter-spacing: 0.22em;
}

.recruit-btns {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
}
.recruit-btns p {
    color: white;
    font-size: 0.8em;
}

.recruit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #b28c38;
  border-radius: 8px;
  color: #e0c27c;
  background: transparent;
  font-size: 1.1rem;
  padding: 1.4em 2.5em;
  min-width: 300px;
  margin: 0 0.5em;
  text-decoration: none;
  position: relative;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}

.recruit-btn:hover {
  background: #b28c38;
  color: #181818;
  box-shadow: 0 2px 18px rgba(178,140,56,0.12);
}

.recruit-btn .dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  background: #b28c38;
  border-radius: 50%;
  margin-left: 0.8em;
  vertical-align: middle;
}








.reserve-section {
  background: #f4f4f4;
  padding: 50px 0 70px 0;
}

.reserve-title {
  text-align: center;
  color: #181818;
  font-family: 'Raleway', 'Noto Sans JP', sans-serif;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.2em;
}

.reserve-subtitle {
  text-align: center;
  color: #b28c38;
  font-size: 1.0rem;
  letter-spacing: 0.13em;
  margin-bottom: 2em;
}

.reserve-form {
  max-width: 1200px;
  margin: 0 auto;
}

.reserve-form-table {
  /* background: #fff; */
  border-radius: 7px;
  /* box-shadow: 0 3px 12px rgba(0,0,0,0.03); */
  padding: 26px 18px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 1.1em;
}

.reserve-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.6em;
  gap: 1em;
  font-size: 1.03em;
  flex-wrap: wrap;
}
.reserve-row label {
  min-width: 140px;
  color: #181818;
  font-weight: 600;
}
.reserve-row .required {
  color: #181818;
  background: #eee;
  border-radius: 4px;
  font-size: 0.96em;
  padding: 2px 7px;
  margin-right: 10px;
  margin-left: 6px;
  font-weight: 700;
}
.reserve-row input[type="text"], 
.reserve-row input[type="email"],
.reserve-row input[type="date"], 
.reserve-row input[type="time"], 
.reserve-row input[type="tel"], 
.reserve-row select, 
.reserve-row textarea {
  flex: 1;
  background: #f6f6f6;
  border: none;
  padding: 0.82em 0.8em;
  border-radius: 3px;
  font-size: 1em;
  margin-left: 4px;
  margin-bottom: 2px;
}

.reserve-row textarea {
  min-height: 3.5em;
  resize: vertical;
}

.reserve-radio-group {
  display: flex;
  gap: 1.5em;
}

.reserve-radio-group label {
  font-weight: normal;
  color: #444;
}

.reserve-row.reserve-privacy label {
  min-width: unset;
  font-weight: normal;
}

.reserve-btn-row {
  margin-top: 2.5em;
  text-align: center;
}

.reserve-btn {
  padding: 1.2em 0;
  width: 340px;
  background: #dedede;
  color: #181818;
  font-size: 1
}












/*ãƒ¯ã‚¤ãƒ—ã„ã‚“*/

.wipe-in {
  display: block;
  overflow: hidden;
  text-align: center;
}
.wipe-inner {
  display: inline-block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.9s cubic-bezier(.77,0,.18,1);
  font-family: 'Oswald', sans-serif;
}
.is-visible .wipe-inner {
  clip-path: inset(0 0 0 0);
}


/*ä¸‹ã‹ã‚‰ã‚¹ãƒ©ã‚¤ãƒ‰*/
.slideup-in {
  /* displayã¯æŒ‡å®šã—ãªã„ï¼ */
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 0.7s cubic-bezier(.77,0,.18,1),
    transform 0.7s cubic-bezier(.77,0,.18,1);
  will-change: opacity, transform;
}
.slideup-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}



.slideup-delay1.is-visible {
  transition-delay: 0.2s;
}
.slideup-delay2.is-visible {
  transition-delay: 0.4s;
}
.slideup-delay3.is-visible {
  transition-delay: 0.6s;
}





/*ä¸Šã‹ã‚‰ã„ã‚“*/
.btn-fallin {
  opacity: 0;
  transform: translateY(-50px) scale(1);   /* ä¸Šï¼‹æ‹¡å¤§ */
  transition:
    opacity 0.7s cubic-bezier(.77,0,.18,1),
    transform 0.7s cubic-bezier(.77,0,.18,1);
  will-change: opacity, transform;
}


.btn-fallin.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.btn-fallin-delay1.is-visible {
  transition-delay: 0.2s;
}
.btn-fallin-delay2.is-visible {
  transition-delay: 0.4s;
}
.btn-fallin-delay3.is-visible {
  transition-delay: 0.6s;
}






/*ãƒ‘ãƒ©ãƒ©ãƒƒã‚¯ã‚¹ã‚ºãƒ¼ãƒ */
.parallax-zoom-section {
  /* position: relative; */
  width: 100%;
  height: 150vh;  /* ç”»åƒstickyã®æ»žç•™é•·ã•ã€èª¿æ•´OK */
  overflow: visible !important; /* â†stickyå¿…é ˆ */
  z-index: 0;
}

.parallax-zoom-bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: visible !important; /* â†stickyå¿…é ˆ */
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.parallax-zoom-img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(.77,0,.18,1);
  will-change: transform;
  display: block;
  pointer-events: none;
}



/*å³ã‹ã‚‰å·¦*/
.slidein-right {
    display: inline-block;  /* ã“ã‚Œã‚’è¿½åŠ ï¼ */
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s, transform 0.7s;
}
.slidein-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}



/*ã‚¤ãƒ¡ãƒ¼ã‚¸ãƒ›ãƒãƒ¼ã‚ºãƒ¼ãƒ */
.img-hover-zoom-wrap {
  overflow: hidden;
  border-radius: 14px; /* å¿…è¦ã«å¿œã˜ã¦èª¿æ•´ãƒ»å‰Šé™¤OK */
  display: block;
  position: absolute;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0px, -50%);
  border-radius: inherit;
  width: 130%;
}

.img-hover-zoom {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.7s cubic-bezier(.33,1,.68,1);
  will-change: transform;
}

.img-hover-zoom-wrap:hover .img-hover-zoom,
.img-hover-zoom:focus {
  transform: scale(1.12);
  transition: transform 0.5s cubic-bezier(.25,1,.3,1);
}

div#modal-03 {}

div#modal-03 a.btn {
    color: #b28b38;
    border-color: #b28b38;
}



@media screen and (min-width: 1025px) {
#modal-03 > div.modal__content > div.hero-buttons.sp.show {display: none;}
}





.carline-bg-fixed {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.33,1,0.68,1);
}
.carline-bg-fixed.show {
  opacity: 1;
}



.carline-bg-section {
  position: relative;
  width: 100%;
    /* é«˜ã•ã¯ãŠå¥½ã¿ã§ */
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
  background: none;
  position: sticky;
  top: 0;
  /* border-radius: 40px; */
}
.carline-bg-parallax {
  /* position: absolute; */
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  will-change: transform;
  pointer-events: none;
  z-index: 1;
  height: 100vh;
  /* border-radius: 40px; */
}
.carline-bg-img {
  width: 100%;
  /* object-fit: contain; */
  /* display: block; */
  /* height: auto; */
  /* border-radius: 40px; */
  display: inline-block;
  width: 100%;
  /* height: 400px; */
  object-fit: cover;
  /* animation: scroll-scale linear both; */
  animation-timeline: view();
  animation-range: cover 0% cover 20%;
}
.carline-section {
  /* position: relative; */
  /* padding: 8rem 0 8rem 0; */
  /* z-index: 1; */
  /* border-top-left-radius: 40px; */
  /* border-top-right-radius: 40px; */
  /* top: -50px; */
  backdrop-filter: blur(10px);
  background: rgb(0 0 0 / 80%);
}
.carline-section .carline-wrap {
  /* position: relative; */
  /* z-index: 2; */
  /* margin-top: 2vh; */
  /* text-align: center; */
  /* background: #757881; */
}





body.no-scroll, html.no-scroll {
  overflow: hidden !important;
  height: 100vh !important;
  position: fixed;
  width: 100%;
  touch-action: none;
  overscroll-behavior: none;
}
body.no-scroll {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
}





body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
}






/*ãƒ‰ãƒ©ã‚¤ãƒãƒ¼*/
.driver-section {
  background: #222;
  border-radius: 32px;
  margin-top: -40px; /* CAR LINE UPã¨ã®ã¤ãªãŒã‚Š */
  padding: 6rem 0 6rem 0;
  color: #fff;
  box-shadow: 0 2px 30px rgba(0,0,0,0.13);
  top: -200px;
  z-index: 8;
  position: relative;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  padding-bottom: 300px;
  margin-bottom: -200px;
}

.driver-wrap {
  /* max-width: 1100px; */
  margin: 0 auto;
  padding: 0 2rem;
}

.driver-section__title {
  text-align: center;
  font-size: 2.6rem;
  font-family: 'Kozuka Gothic Pr6N', 'Noto Sans JP', sans-serif;
  font-weight: bold;
  margin-bottom: 8px;
  font-family: 'Oswald', sans-serif;
}

.driver-section__subtitle {
  display: block;
  color: #B28C38;
  font-size: 1.05rem;
  letter-spacing: 0.3em;
  margin-top: 0.7em;
  font-weight: 400;
}

.driver-section__content {
  display: flex;
  align-items: center;
  gap: 48px;
  margin-top: 11rem;
}

.driver-section__content .driver-section__img {
    width: 50%;
    position: relative;
    height: 400px;
}

.driver-section__img img {
  /* border-radius: 14px; */
  box-shadow: 0 4px 18px rgba(0,0,0,0.25);
  /* left: -20%; */
  position: relative;
  width: 100%;
}

.driver-section__desc {
  flex: 1;
}

.driver-section__headline {
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 1em;
}

.driver-section__lead {
  font-size: 1.04rem;
  opacity: 0.89;
  line-height: 1.7;
}





.recruit-btns .display_flex {
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-top: 100px;
}

.recruit-btns .display_flex a.hv {
    width: 420px;
    padding: 30px;
}






