/* #BASE CSS (Initital Setup)
---------------------------------
#BASE RESET  
#BASE CONTENT
        #TYPOGRAPHY
            #BODY
            #HEADINGS 
            #HEADING LAYOUT
            #PARAGRAPHS
            #LINKS
            #HELPERS
        #MEDIA
            #IMAGES
            #OVERLAY
        #COMPONENTS
            #BUTTONS
  #BASE LAYOUT
        #SIMPLE RESET
        #MEDIAQUERIES
        #CONTAINER
        #GRID SYSTEM
        #GSAP
  #BASE SITE
        #SITE STRUCTURE
            #HEADER
                # site-id (LOGO)
                # hero
            #FOOTER
            #SECTIONS
            #SUB PAGES
        #SITE NAVIGATION
            #TOGGLE-NAV (Default for Small Screens)
  #SITE MAIN
        #TEXT RIGHT 
        #KEYFRAMES
        ＃TITLE
  #ANIMATION
  #VIDEO
  ＃ABOUT
  #HOVER EFFECTS
--------------------------------- */

:root {

  /* DEFINE ALL COMMONLY USED COLORS HERE */
  --color-white: #ebf2f2;

  /* SIZING UNITS */
  --unit-2xs: 0.25rem;
  --unit-xs: 0.5rem;
  --unit-s: 1rem;
  --unit-m: 1.8rem;
  --unit-l: 2.5rem;
  --unit-xl: 3rem;
  --unit-2xl: 4rem;
  --unit-3xl: 6rem;
  --unit-4xl: 9rem;
  /* --container-width: 1100px; */
  --container-width: 80vw;
  --site-margin: 8vw;

  @media (width < 768px) {
    --site-margin: 1em;
  }

  /*  DEFINE ALL FONTS USED HERE */
  --font-headings: "alga",
  serif;
  --font-body: "textbook-new",
  sans-serif;

  --maya-orange: #d67923;
}

/* RESET */
* {
  box-sizing: border-box;
  /* font-family: sans-serif; */
}

/* BASE TYPOGRAPHY */
/* BODY */
body {
  font-family: var(--font-body);
  font-weight: 300;
  font-style: normal;
  color: #333;
  line-height: 1.4;
  font-size: 100%;
}

html,
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  background-color: #ffffff;
}

/* ALL HEADINGS */

h1 {
  font-family: var(--font-headings);
  font-weight: 700;
  font-style: normal;
  /* color: var(--color-white); */
}

h2 {
  font-size: var(--unit-m);
  font-family: var(--font-headings);
}

.hero h2 {
  font-size: var(--unit-2xl);
  line-height: 1;
}

.site-footer h2 {
  font-size: var(--unit-3xl);
  font-size: clamp(2rem, 20vw, 6rem);
  font-family: var(--font-headings);
}

#home-about h2 {
  font-family: var(--font-headings);
  font-weight: 400;
  font-size: clamp(30px, 3.2vw, 80px);
  margin: 0 0 .5em 0;
}

h3 {
  font-size: var(--unit-m);
  font-family: var(--font-headings);
  font-weight: 700;
}

.site-footer h3 {
  font-size: 1.2rem;
  font-family: var(--font-headings);
}


h4 {
  font-size: 1.2em;
  font-family: var(--font-body);
  font-weight: 500;
  color: var(--maya-orange);
}

h5 {
  font-size: 100px;
  font-family: var(--font-headings);
  font-weight: 500;
  margin: auto;
  opacity: 0.1;
}

h6 {
  font-family: var(--font-headings);
  font-weight: 200;
  font-size: 1.5rem;
  margin: 0;
}

h7 {
  font-family: var(--font-headings);
  font-weight: 400;
  font-size: 1.5rem;
}


p {
  text-wrap: pretty;
  font-size: 1.2rem;
  font-weight: 300;
}

.home-page p {
  font-size: 1.5rem;
  font-weight: 300;
  color: rgb(20, 20, 20);
  font-style: normal;
}

p.overview {
  font-size: var(--unit-m);
  font-family: "textbook-new", sans-serif;
  font-weight: 300;
  font-style: italic;
  text-align: left;
}

p.overview-incense span {
  color: #9A213E;
  font-style: italic;
}

p.copyright {
  font-size: 0.7rem;
  font-family: var(--font-body);
  color: #333;
}

p.overview-bookcover span {
  color: #670b81;
  font-style: italic;
}

p.motion-overview span {
  color: #efc300;
  font-style: italic;
}

h2.motion-overview span {
  color: #efc300;
  /* font-style: italic; */

}

h2.incense-overview span {
  font-size: 2rem;
  font-style: italic;
}

.home-page .project-item span {
  font-style: normal;
  color: rgb(172, 172, 172);
  font-size: 1.2rem;
  font-weight: 300;
}

.home-page .footer-title span {
  font-style: normal;
  color: var(--maya-orange);
  font-size: 1.2rem;
  font-weight: 700;
}

.site-footer span {
  font-style: italic;
  color: var(--maya-orange);
}

h2 {
  margin-bottom: 20px;
  margin-top: 20px;
}

a {
  color: #000000;
  text-decoration: none;
}

.site-nav ul {
  list-style: none;
  padding: 0;
}

#str {
  width: 800px;
  padding: 20px;
  height: auto;
  font-family: sans-serif;
  font-size: 40px;
  margin: 200px auto;
  color: #000;
  font-weight: bold;
  /*    background: #000 */
}

/* ALL IMAGES */

img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.hero img {
  padding: 0;
}

.site-header img {
  padding: 0;
}

.about img {
  padding: 0;
}

img.color {
  max-width: 60%;
  text-align: center;
  display: block;
  margin: 0 auto;
  border-radius: 6.7%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.nice-slideshow .slideshow-container img {
  width: 60%;
  height: auto;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .nice-slideshow .slideshow-container img {
    width: 100%;
  }


}

.logo-section img {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  /* 角も少し丸くしたい場合 */
}

/* FULL WIDTH IMAGES */
img.full-width {
  width: 100%;
  height: auto;
  display: block;
}

img.centered {
  margin-inline: auto;
}

img.padding-bottom-small {
  padding-bottom: var(--unit-s);
}

img.padding-bottom-large {
  padding-bottom: var(--unit-xl);
}

img.typography {
  width: 75%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ALL VIDEOS */
video {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  margin: 0 auto;
}

.final-logo {
  margin: 0;
  padding: 3em 0 6em 0;
  display: grid;
  place-items: center;
}

video.padding-bottom-large {
  padding-bottom: var(--unit-xl);
}

/* BASE RAYOUT */

/* CONTAINERS */
.container2 {
  /* max-width: var(--container-width); */
  width: 100%;
  margin: 0 auto;
  padding-inline: var(--site-margin);
  position: relative;
}

.container {
  /* border: 1px solid rgb(43, 0, 255); */
  max-width: 1100px;
  margin: 0 auto;
  padding-inline: 2em;
}

.container-overview {
  max-width: 1100px;
  margin: 0 auto;
  padding-inline: 2em;
  /* text-align: center; */
  padding-top: 10%;
  padding-bottom: 3%;

  p {
    max-width: 65ch;
  }

}

.horizontal-section {
  width: 100%;
  overflow: hidden;
}

.horizontal-container {
  display: flex;
  gap: 2rem;
  width: max-content;
  will-change: transform;
}

.horizontal-container img {
  width: min(80vw, 1100px);
  flex-shrink: 0;
}

/* #GRID SYSTEM */
/* GRID SYSTEM (12 column) */

.row {
  --grid-gap: var(--unit-l);
}

.row>* {
  margin-block-end: var(--grid-gap);
}

/* NEW width SYNTAX (updated from min-width: 768px)  */
@media (width >=768px) {

  .row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--grid-gap);
    width: 100%;
  }

  /* COMMONLY USED SEMANTIC COLUMNS */
  .one-whole {
    grid-column: auto / span 12;
  }

  .one-half {
    grid-column: auto / span 6;
  }

  .one-third {
    grid-column: auto / span 4;
  }

  .two-thirds {
    grid-column: auto / span 8;
  }

  .one-fourth {
    grid-column: auto / span 3;
  }

  .three-fourths {
    grid-column: auto / span 9;
  }

  /* SWAP (REVERSE COLUMNS) - WORKS ONLY w/ 2 COLUMNS */
  .row.swapped>*:first-child {
    order: 2;
  }

  .row.swapped>*:last-child {
    order: 1;
  }

  /* CENTERED COLUMNS */
  .one-half.centered {
    grid-column-start: 4;
  }

  .two-thirds.centered {
    grid-column-start: 3;
  }

  /* 12 COLUMN CLASS-BASED GRID SYSTEM */
  .col-1 {
    grid-column: auto / span 1;
  }

  .col-2 {
    grid-column: auto / span 2;
  }

  .col-3 {
    grid-column: auto / span 3;
  }

  .col-4 {
    grid-column: auto / span 4;
  }

  .col-5 {
    grid-column: auto / span 5;
  }

  .col-6 {
    grid-column: auto / span 6;
  }

  .col-7 {
    grid-column: auto / span 7;
  }

  .col-8 {
    grid-column: auto / span 8;
  }

  .col-9 {
    grid-column: auto / span 9;
  }

  .col-10 {
    grid-column: auto / span 10;
  }

  .col-11 {
    grid-column: auto / span 11;
  }

  .col-12 {
    grid-column: auto / span 12;
  }

  /* PUSHES */
  .push-1 {
    grid-column-start: 2;
  }

  .push-2 {
    grid-column-start: 3;
  }

  .push-3 {
    grid-column-start: 4;
  }

  .push-4 {
    grid-column-start: 5;
  }

  .push-5 {
    grid-column-start: 6;
  }

  .push-6 {
    grid-column-start: 7;
  }

  .push-7 {
    grid-column-start: 8;
  }

  .push-8 {
    grid-column-start: 9;
  }

  .push-9 {
    grid-column-start: 10;
  }

  .push-10 {
    grid-column-start: 11;
  }

  .push-11 {
    grid-column-start: 12;
  }

  /* ADJUST LEADING SPACING */
  /* .col-3,
  .col-4,
  .one-third,
  .one-fourth {
    line-height: 1.3;

  } */
}

.one-half {
  grid-column: auto / span 6;
}

.col-4-color {
  width: 33.33%;
}

.row-color {
  display: flex;
}


/*  MEDIA QUERIES */

@media (max-width: 768px) {

  /* MOBILE SIZED STYLING GOES HERE */
  body {
    font-size: 87.5%;
  }
}

@media (max-width: 1050px) {
  body {
    font-size: 100%;
  }
}

@media (max-width: 1250px) {
  body {
    font-size: 112.5%;
  }

}

/* BASE SITE - SITE STRUCTURE */

/* HEADER */

/* .container-hero {
  display: flex;
  padding: 1em;
  position: static;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -100px;
  position: sticky;
} */



.footerline-container {
  width: 100%;
  padding-inline: 1em;
  margin: 0 auto;
}

.site-header {
  /* border: 1px solid; */
  display: flex;
  justify-content: space-between;
  padding: 1em;
  position: static;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}

.site-header a {
  color: rgb(0, 0, 0);
  text-decoration: none;
}

.home-page .site-header {
  position: sticky;
  margin-top: -87px;
}

.project-page .site-header {
  position: absolute;
  top: 0;
  left: 0;
}

.site-title {
  position: absolute;
  top: -9999px;
  left: -9999px;
  font-size: 1.25em;
  line-height: 1;
  margin: 0;
  font-family: var(--font-body);
  margin: 0;
}

.site-title a {
  display: block;
  padding: .25em 0;
}



.site-header {

  .site-nav {
    font-size: 1em;
    line-height: 1;
  }

  .site-nav ul {
    list-style: none;
    display: flex;
    gap: 1em;
    margin: 0;
    padding: 0;
    justify-content: space-between;
  }

  .site-nav a {
    text-decoration: none;
    color: white;
    display: block;
    padding: 1em;

  }

}

.site-header a {
  color: white;
  transition: 0.1s;
}

.site-header.white a {
  color: black;
}

/* !!Header Button */
.header-button {
  display: inline-block;
  padding: 4px 10px;
  /* ←ここをさらに小さく */
  font-size: 12px;
  /* ←文字も小さくする */
  border-radius: 200px;
  background: transparent;
  border: 0.6px solid #464646;
  /* 少し細くすると軽く見える */
  transition: all 0.1s ease;
  line-height: 1;
}


.sitefooter-line {
  height: 1px;
  background: #b0b0b0;
  transform: scaleX(0);
  transform-origin: left;

}

.sitefooter-line.active {
  animation: scaleLine 1.1s ease forwards;
}

@keyframes scaleLine {
  to {
    transform: scaleX(1);
  }
}

.sitefooter-line {
  margin-top: 10px;
  margin-bottom: 30px;
}

.copyright {
  opacity: 0;
  transform: translateY(15px);
  filter: blur(4px);
  transition: all 0.6s ease;
  padding-bottom: 15px;
}

.copyright.active {
  opacity: 1;
  filter: blur(0);
}

.footer-container {
  margin: 0 auto;
  padding-inline: var(--site-margin);
  /* max-height: 500px; */
}

@media (max-width: 768px) {
  .site-footer {
    padding: 50px;
  }
}

.site-footer {
  /* background-color: var(--maya-orange); */
  padding: 45px 0 20px 0;
  font-size: 15px;
  line-height: 24px;
  color: #000000;
  border-radius: 60px 60px 0 0;
  margin: 0 0 100px 0;

}

.site-footer h2 {
  line-height: 1;
}

.site-footer a {
  color: #ffffff;

  @media (max-width: 768px) {
    justify-content: space-between;
  }
}

.site-footer a:hover {
  color: #3366cc;
  text-decoration: none;
}

@media (width>768px) {
  .flex-align-bottom {
    display: flex;
    align-items: flex-end;
    flex-direction: row;
    justify-content: flex-end;
  }
}



.footer-links {
  /* padding-right: 0;
  padding-left: 0;
  list-style: none;
  justify-content: space-between;
  display: flex; */
  margin: 0;
  padding: 0;
}

.footer-links li {
  display: block;
}

.footer-links a {
  color: var(--maya-orange);
  text-decoration: none;
}

.footer-links a:active,
.footer-links a:focus,
.footer-links a:hover {
  color: #cc3333;
  text-decoration: none;
}

.footer-links.inline li {
  display: inline-block;
}

.site-footer .social-icons {
  text-align: right;
}

.site-footer .social-icons a {
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-left: 6px;
  margin-right: 0;
  border-radius: 100%;
  background-color: #33353d;
}

@media (max-width:991px) {
  .site-footer [class^=col-] {
    margin-bottom: 30px;
  }
}

@media (max-width:767px) {
  .site-footer {
    padding-bottom: 3;
  }

  .site-footer .copyright-text,
  .site-footer .social-icons {
    text-align: center;
  }
}

.social-icons {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;

  display: flex;
}

.social-icons li {
  display: flex;
  margin-bottom: 4px;
  justify-content: space-between;
}

.social-icons li.title {
  margin-right: 15px;
  text-transform: uppercase;
  color: #96a2b2;
  font-weight: 700;
  font-size: 13px;
}

.social-icons a {
  background-color: #eceeef;
  color: #ffffff;
  font-size: 16px;
  display: inline-block;
  line-height: 44px;
  width: 44px;
  height: 44px;
  text-align: center;
  margin-right: 8px;
  border-radius: 100%;
  -webkit-transition: all .2s linear;
  -o-transition: all .2s linear;
  transition: all .2s linear;
}

.social-icons a:active,
.social-icons a:focus,
.social-icons a:hover {
  color: #fff;
  background-color: #29aafe;
}

.social-icons a.facebook:hover {
  background-color: #3b5998;
}

.social-icons a.twitter:hover {
  background-color: #00aced;
}

.social-icons a.linkedin:hover {
  background-color: #007bb6;
}

.social-icons a.dribbble:hover {
  background-color: #ea4c89;
}

@media (max-width:767px) {
  .social-icons li.title {
    display: block;
    margin-right: 0;
    font-weight: 600;
  }
}

/* SECTION */

.project-page section {
  padding: 5%;
  background-size: cover;
  background-position: center;
}

/* .project-page section:nth-child(even) {
  background: rgb(255, 255, 255);
} */

.image-wrapper {
  background: yellow;
  transform-style: preserve-3d;
  transform: translateZ(-1px) scale(2);
  z-index: 1;
}

#home-about {
  min-height: 80vh;
}

.button {
  display: inline-block;
  background: linear-gradient(to right, #f6c72a, #f9e066);
  color: #878678f1;
  border: none;
  padding: 8px 18px;
  text-decoration: none;
  border-radius: 40px;
  transition: 0.5s ease;
}


.button:hover {
  background: linear-gradient(to right, #f9e066, #f6c72a);
  /* 左右反転グラデーション */
  color: #4c4a27f1;
  /* 文字色を見やすく変更 */
}



/* PAGE-SPECIFIC STYLING */

.footer-title {
  display: flex;
  /* これでblock化されるのでOK */
}

.footer-title {
  display: flex;
  align-items: center;
  width: 100%;
}

.footer-title::after {
  content: "";
  flex: 1;
  height: 0.9px;
  background: #d67923;
  margin-left: 15px;
  margin-top: 10px;
}

/* ABOUT PAGE*/
ul {
  list-style: none;
}

.about-site-nav a {
  color: black;
}

.line {
  background-color: rgb(48, 48, 48);
  height: 1px;
  width: 100%;
  margin: 20px auto;
}

p {
  margin-top: 0;
}

.about-img {
  display: block;
  width: 70%;
  margin-left: auto;

  @media (max-width: 768px) {
    width: 100%;
  }
}


/* COL */
.image-left {
  display: block;
  margin-left: auto;

  @media (width < 768px) {
    margin-left: auto;
    margin-right: auto;
  }
}

.image-right {
  display: block;
  margin-right: auto;

  @media (width < 768px) {
    margin-left: auto;
    margin-right: auto;
  }
}

.video-conversation video {
  width: 70%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}

.costom-illustration video {
  width: 50%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}

/* .right-title {
  text-align: right;
} */

/* HOME PAGE  */
.home-page {
  overflow-x: hidden;
}

/* CASE STUDY HERO */

.project-page .casestudy-hero {
  background: #000;
  color: #ffffff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 100%;
  background-attachment: fixed;
  padding-top: 10vh;
  padding-bottom: 50vh;
  /* min-height: 50vh; */

  @media (width > 1000px) {
    padding-bottom: 25%;
  }

}

.project-page .casestudy-talkmate {
  background-image: url(../img/hero-talkmate-nophone.jpg);
}

.project-page .casestudy-nice {
  background-image: url(../img/nice-logo.jpg);
}

.project-page .casestudy-incese {
  background-image: url("../img/hero-incense.jpg");
}

.project-page .casestudy-bookcover {
  background-image: url('../img/hero-bookcover.jpg');
}

.project-page .casestudy-motion {
  background-image: url('img/l&l-shop-pic.jpg');
}

.project-page .casestudy-cha {
  background-image: url('img/zen-matcha-latte.jpg');
}

.casestudy-hero h1 {
  font-size: clamp(3rem, 10vw, 7vw);
  margin: 0;
  line-height: 1;
}

.casestudy-hero h2 {
  font-size: clamp(1.5rem, 3vw, 3vw);
  margin: 0;
}

.sub h2.subtitle {
  color: #ffffff;
}

.incense-hero {
  padding: 0;
  background-image: url('img/incense-mockup-forest.jpg');
  background-repeat: no-repeat;
  min-height: 80vh;
}

.motion-hero {
  padding: 0;
  background-image: url('img/l&l-shop-pic.jpg');
  min-height: 80vh;
}

.nice-hero {
  padding: 0;
  background-image: url('img/place_massena.v2.jpg');
  align-items: center;
  justify-content: center;
  min-height: 80vh;
}

.bookcover-hero {
  padding: 0;
  background-image: url('img/book-cover.topimg.jpg');
  min-height: 80vh;
}

.talkmate-hero {
  padding: 0;
  background-image: url('img/island-illustration3.png');
  min-height: 80vh;
}


/* TALKMATE HERO */
.hero-text {
  position: fixed;
  /* ←ここがポイント */
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.talkmate-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: clamp(500px, 80vh, 900px);
  /* ←これ重要 */
  padding: 5%;

  /* background-image: url("../img/island-illustration3.png"); */
  /* ←パスも修正 */
  background-size: cover;
  background-position: center;
}



.hero-text,
.hero-video {
  position: relative;
  z-index: 2;
}


.hero-text {
  /* flex: 1; */
  /* padding-left: 20%; */
  color: #fff;
}

.hero-video {
  flex: 1;
}

.hero-video video {
  width: 50%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}

/* HOME HERO SECTION*/

.hero {
  padding: 0;
  color: rgb(0, 0, 0);
}


.hero p {
  text-wrap: balance;
  /* margin-inline: auto; */
  max-width: 45ch;
  text-align: center;
  font-size: clamp(20px, 1.8vw, 30px);
}

/* .hero img {
  width: 100%;
} */


.hero a.button {
  /* color: #333; */
  display: inline-block;
  font-size: .8em;
  margin-top: .5em;
  ;
  color: rgb(58, 58, 58);
  text-decoration: none;
}

.hero .section1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100svh;
}

.hero .zindex-container {
  position: relative;
  /* width: 100vw; */
  height: 100svh;
  /* border: 1px solid purple; */
  z-index: 100;
  /* background: #000; */
}

.hero-safe-container {
  /* border: 10px solid red; */
  min-height: 100svh;
}

.hero .panel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: fixed;
  margin: auto;
  left: 0;
  right: 0;
  z-index: 100;
}

.hero .section1 {
  z-index: 3;
  animation-name: fade-zoomout;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 0.8s;
}

@keyframes fade-zoomout {
  0% {
    scale: 1;
    opacity: 1;
  }

  99% {
    scale: 2;
    opacity: 0;
    display: flex;
  }

  100% {
    display: none;
  }

}

.hero .section2 {
  background-color: #ffffff80;
  z-index: 2;
  /* background-image: url("../img/hero-bg-stroke-text.png"); */
  background-size: contain;
  background-position: 50% 90%;
  background-repeat: no-repeat;
  min-height: 100vh;
  padding: 0;

  /* display: flex;
  align-items: center; */
}

.hero .section2 .video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.section1 {
  position: relative;
  overflow: hidden;
}

.video-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.section1>*:not(.video-bg) {
  position: relative;
  z-index: 2;
}

/* NEW HERO LAYOUT */

.new-hero-row {
  display: flex;
  min-height: 100svh;

  @media (width <768px) {
    display: block;
  }
}

.new-hero-text {
  width: 50%;
  padding-top: 24vh;

  @media (width <768px) {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 30svh;
    padding-bottom: 5svh;
  }
}

.new-hero-img {
  width: 50%;



  /* padding-top: 20%; */
  display: flex;
  align-items: flex-end;
  min-height: 100svh;
  gap: 20px;

  @media (width <768px) {
    width: 100%;
    min-height: auto;
  }

  .new-hero-img1 {
    height: 55svh;
  }

  .new-hero-img2 {
    height: 70svh;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: covexr;
  }
}

.hero .new-hero-outline-text {
  position: absolute;
  left: 0;
  bottom: 6%;
}

/* MAIN CONTENT AREA */

.site-main {
  position: relative;
}

/* ALL SECTIONS */
section {
  padding-block: 2em;
}


#home-about {
  min-height: 100vh;
}

/* MAIN PROJECT GRID */
.main-project-grid {
  padding: var(--site-margin);

  p {
    margin-bottom: 0.5em;
  }

  img {
    width: 100%;

  }
}

@media (width < 768px) {
  .main-project-grid {
    p {
      margin-top: 2em;
    }
  }
}

@media (width >=768px) {
  .main-project-grid {
    display: grid;
    grid-template-columns: 2.4fr 1fr;
    --project-gap: 20px;
    gap: var(--project-gap);


    .project-item {
      &:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
      }

      &:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
      }


    }

    .project-item.vert-spaced {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: var(--project-gap);
    }
  }



}

@media (width >=768px) {
  .main-project-grid.submain-project-grid {
    grid-template-columns: 1fr 2.4fr;
  }
}



/* SITE MAIN */



span.moveright {
  margin-left: 12px;
}

/* text-animation */

.hero h1 {
  color: #000000;
  /* position: absolute; */
  top: 50%;
  margin-top: -20px;
  width: 100%;
  font-size: 40px;
}

h1 span,
h1 b {
  color: var(--maya-orange);
}


.blink {
  visibility: hidden;
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}


/* PROJECT INFO */

@media (max-width: 768px) {
  .info-box {
    width: 70%;
    right: 1%;
    bottom: -80px;
    padding: 15px;
  }
}

@media (max-width: 1050px) {
  .info-box {
    width: 70%;
    right: -20%;
    bottom: 30%;
    padding: 15px;
  }
}

@media (max-width: 768px) {
  .image-card {
    display: flex;
    flex-direction: column;
  }
}

.image-card {
  position: relative;
  /* ←これが超重要 */
  width: 100%;
  max-width: 800px;
}

/* 白い四角 */
.info-box {
  position: absolute;
  bottom: 30%;
  right: -20%;
  background: white;
  padding: 20px;
  max-width: 250px;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.image-card-brandstrategy {
  /* position: relative; */
  /* ←これが超重要 */
  width: 100%;
  max-width: 800px;
}

/* 白い四角 */
.info-box-brandstrategy {
  /* position: absolute; */
  background: white;
  padding: 20px;
  max-width: 300px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border-radius: 5%;
}

/* SKETCH HOVER */
.hover-box {
  position: relative;
  width: 100%;
  height: auto;
}

/* 画像 */
.hover-box img {
  width: 100%;
  height: 100%;
  display: block;
}

/* 動画（最初は非表示） */
.hover-box video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.3s;
}

/* ホバーしたら表示 */
.hover-box:hover video {
  opacity: 1;
}

.hover-box:hover img {
  opacity: 0;
}

.hover-box video {
  filter: blur(2px);
}

/* TEXT UNDERLINE ON SCROLL */
/* マーカーのスタイル */
.marker {
  background-image: linear-gradient(90deg, #e74d3c62, #e74d3c62);
  /* 線の色 */
  background-position: left bottom;
  /* 線の起点を左・下に設定 */
  background-repeat: no-repeat;
  background-size: 0 .5em;
  /* 線の横幅を0、縦幅を0.5emに */
  padding-bottom: 3px;
  /* 下線を下にズラす */
  transition: background-size 1.5s;
  /* 線を伸ばすアニメーション実行時間を指定 */
}

/* マーカーが表示された時のスタイル */
.marker.active {
  background-size: 100% .5em;
  /* 線の横幅を100%にする */
}

.bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  /* left: 50%; */
  /* transform: translateX(-50%); */
  /* width: 90%; */
  display: flex;
  justify-content: space-between;
  padding: 20px 1em;
  z-index: 9999;
  pointer-events: none;
}

.bottom-bar p {
  margin: 0;
  pointer-events: auto;
  font-size: 12px;
  font-weight: 100;

}

/* HOVER EFFECTS */
figure {
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
}

.hover01 figure img,
.hover01 figure video {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  border-radius: 10px;
}

.hover01 figure:hover img,
.hover01 figure:hover video {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* SLIDER */


/* Slideshow container */
.slideshow-container {
  max-width: 100%;
  width: 100%;
  margin: auto;
  position: relative;
  overflow: hidden;
  /* ←はみ出し防止 */
}

.mySlides img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  /* or coverでもOK */
}

@media (max-width: 768px) {
  .slideshow-container {
    padding: 0 10px;
  }

  .mySlides img {
    width: 100%;
    height: auto;
  }
}

/* Next & previous buttons */
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 0;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: orange;
  font-weight: bold;
  font-size: 30px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}

/* Position the "next button" to the right */
.next {
  right: 5%;
  border-radius: 3px 0 0 3px;
}

/* Position the "previouse button" to the right */
.prev {
  left: 5%;
  border-radius: 3px 0 0 3px;
}

/* inverts colours so white arrow and orange background. */
.prev:hover,
.next:hover {
  color: white;
  background-color: orange;
}

/* Next & previous buttons */
.btn {
  color: #d67923;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid #d67923;
  padding: 10px 20px;
  font-size: 13px;
  cursor: pointer;
  font-weight: bold;
  background: transparent;
  position: relative;
  transition: all 1s;
  overflow: hidden;
}

.btn:hover {
  color: white;
}

.btn::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0%;
  top: 0;
  left: -40px;
  transform: skewX(45deg);
  background-color: #d67923;
  z-index: -1;
  transition: all 1s;
}

.btn:hover::before {
  width: 160%;
}

.button-wrapper {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .btn {
    font-size: 8px;
    padding: 8px 13px;
  }
}

/* Number text (1/3 etc) */
.numbertext {
  color: orange;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.slideshow .dot {
  cursor: pointer;
  height: 13px;
  width: 13px;
  margin: 0 2px;
  background-color: orange;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.slideshow .dot.active,
.slideshow .dot:hover {
  background-color: gold;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {
    opacity: .4
  }

  to {
    opacity: 1
  }
}

@keyframes fade {
  from {
    opacity: .4
  }

  to {
    opacity: 1
  }
}