@charset "UTF-8";
/* =================================================================
   Global
================================================================= */

body{
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro',
                 '游明朝','Yu Mincho','YuMincho',
                 'MS P明朝', 'MS PMincho', serif;

    background-color: #F3E3C8;
    margin: 0;
    padding: 0;

    opacity: 1;
    transition: opacity 0.8s ease;
}

body.is-fadeout {
    opacity: 0;
}

/* =================================================================
   Main
================================================================= */

main{
    width: 100%;
}

/* ===== 首屏背景（你现在看到的那一整块） ===== */
.主图{
    width: 100%;
    height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;
    background-color: #F3E3C8; /* ← 首屏背景色 */
}

/* ===== 中间卡片 ===== */
.生长区域{
    width: 1360px;
    height: 663px;

    background-color: #F3E3C8; /* ← 同步为同色 */

    border: 11px solid #E5F0A9;
    border-radius: 90px;

    position: relative;
    overflow: visible;
}

/* =================================================================
   Navigation
================================================================= */

.主图导航{
    position: fixed;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}

.导航列表{
    display: flex;
    gap: 60px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.导航列表 a{
    font-size: 26px;
    letter-spacing: 3px;
    text-decoration: none;
    color: #6B7C4A;
}

.导航列表 a:hover{
    opacity: 0.6;
}

.生长区域{
    width: 1360px;
    height: 663px;

    background-color: #F6FCD8; /* ← 中间卡片颜色 */

    border: 11px solid #E5F0A9;
    border-radius: 90px;

    position: relative;
    overflow: visible;
}
.主标题{
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);

    font-family: 'Jersey 20', cursive;
    font-size: 80px;
    letter-spacing: 8px;

    color: #000000;
    white-space: nowrap;

    margin: 0;
    z-index: 5;
}
.叶子整体{
    position: absolute;
    bottom: 90px; /* 贴近泥土 */
    left: 48%;
    transform: translateX(-50%);
    
    width: 240px;
    height: 240px;

    z-index: 3;
}
.叶子标题{
    margin-top: 200px;

    font-family: 'Jersey 20', cursive;
    font-size: 120px;
    letter-spacing: 35px;
    font-weight: 600;

    color: #000000;
    opacity: 1;

    text-align: center;
    white-space: nowrap;
    position: absolute;
    top:-170%;
    left:-120%;
    transform: translateX(-50%); 
    position: relative; /* 必须有 position */
    z-index: 5;         /* 字在上面 */
}

.叶子{
    position: absolute;
    left: 50%;
    bottom: 0; 

    transform: translateX(-50%) scaleY(0);
    transform-origin: bottom center;

    opacity: 1;

    animation: 叶子生长 2.5s ease-out forwards;
    animation-delay: 0.5s;

    z-index: 3;
    opacity: 0.7;
}
.泥土区域{
    position: absolute;
    left: 50%;
    bottom: -180px; 

    transform: translateX(-50%);
    z-index: 5;
}

.泥土{
    display: block;
    position: relative;
}

.猫{
    position: absolute;
    bottom:180px;
    left: 120px;
    z-index: 7;
}

.豚鼠{
    position: absolute;
    bottom: 180px;
    right: 120px;
    z-index: 7;
}

.漂浮层{
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
}
.漂浮层 img{
    position: absolute;
    pointer-events: none;
    
}
.星星{
    width: 40px;
    opacity: 0.8;

    animation-name: 漂浮-左右;
    animation-duration: 12s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.星星-1{
    top: 120px;
    left: 180px;
    animation-delay: 0s;
}

.星星-2{
    top: 80px;
    right: 260px;
    animation-delay: 2s;
}

.星星-3{
    top: 260px;
    left: 420px;
    animation-delay: 4s;
}
.星星-4{
    top: 180px;
    left: 680px;
    animation-delay: 6s;
}

.星星-5{
    bottom: 320px;
    right: 520px;
    animation-delay: 8s;
}
.星星-6{
    bottom: 400px;
    left: 360px;
    animation-delay: 12s;
}
.星星-7{
    top: 260px;
    left: 420px;
    animation-delay: 4s;
}
.星星-8{
    top: 520px;
    left: 480px;
    animation-delay: 5s;
}

.星星-9{
    bottom: 380px;
    right: 620px;
    animation-delay: 8s;
}
.星星-10{
    bottom: 420px;
    left: 260px;
    animation-delay: 10s;
}
.灯泡{
    width: 60px;
    opacity: 0.7;

    animation-name: 漂浮-上下;
    animation-duration: 18s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.灯泡-1{
    top: 160px;
    right: 380px;
    animation-delay: 1s;
}

.灯泡-2{
    top: 300px;
    left: 260px;
    animation-delay: 3s;
}
.胶卷{
    width: 70px;
    opacity: 0.6;

    animation-name: 漂浮-斜向;
    animation-duration: 22s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.胶卷-1{
    bottom: 260px;
    left: 180px;
    animation-delay: 0s;
}

.胶卷-2{
    bottom: 220px;
    right: 240px;
    animation-delay: 2.5s;
}

.胶卷-3{
    top: 200px;
    right: 120px;
    animation-delay: 5s;
}

.胶卷-4{
    top: 340px;
    left: 520px;
    animation-delay: 7s;
}
/* ここからPROFILE==================== */
.PROFILE{
    margin-bottom: 120px;
}
.profile-left img{
  width: 360px;     /* 改这里控制大小 */
  height: auto;     /* 保持比例 */
  display: block;
position: relative;
  left: -40px;   /* 往左 */
  top: 20px;     /* 往下 */
}


 .PROFILE-card{
     width: 1360px;
    height: auto;
    background-color:transparent;
    border: 11px solid none;
   border-radius: 0px;
    position: relative;
    margin-top: 40px;
    left: 50%;
    transform: translateX(-50%);
    animation: profile-float 3s ease-in-out infinite;
}
.profile标题{
    text-align: center;
    margin-top: 60px;
}
.profile标题 h2 {
    font-size: 24px;
    margin-top: 10px;
}
.profile小标题{
    margin-top: 10px;
   font-size: 20px;
}
.profile-body{
    display: flex;
    align-items: center;      
    justify-content:center;
    gap: 120px;
    margin-top: 60px;
    padding: 0 140px;
}
.profile-left {
    width: 420px;
    border-radius: 12px;
}
.profile-right{
   max-width: 520px;
}
.profile-info{
  font-weight: bold;
  margin-bottom: 20px;
}

.profile-school{
  margin-bottom: 20px;
}

.profile-text{
  line-height: 1.8;
  margin-bottom: 30px;
}
.profile-more{
    margin-top: 40px;
    align-items: flex-start;
    padding: 6px 18px;
    background-color: #FAFFB6;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    transform: transform 0.25s  ease, opacity 0.25s ease;
    text-decoration: none;
    color: #000000;
}
.profile-more:hover{
    transform: scale(1.06);
    opacity: 0.85;
}
/* ここからworks================================== */
.WORKS-card{
    width: 1360px;
    height: 750px;

    background: #F6FEC7;
    border: 11px solid #D7E38B;
    border-radius: 90px;

    margin: 80px auto 0;
    text-align: center;
    animation: works-float 3s ease-in-out infinite;
    animation-delay: -1.5s;
}
.works-title{
    font-size: 24px;
    margin-top: 50px;
}
.works-subtitle{
     margin-top: 20px;
   font-size: 20px;
}
.works-list{
    display: flex;
    justify-content: space-between;
    gap: 80px;

    margin-top: 90px;
    padding: 0 200px;
}

.works-item img{
    width: 260px;
}

.works-item p{
    margin-top: 20px;
    font-size: 22px;
}
.works-more{
    margin-top: 50px;

    padding: 6px 20px;
    border-radius: 20px;

    background: #BEEDEB;
    border: none;

    font-size: 14px;
    cursor: pointer;

    transition: opacity 0.25s ease, transform 0.25s ease;
}

.works-more:hover{
    opacity: 0.85;
    transform: scale(1.05);
}





/* ここからcontact ================================== */
.CONTACT-card{
    width: 1360px;
    height: 720px;

    background: #D9F7FF;
    border: 11px solid #7EB6CC;
    border-radius: 90px;

    margin: 100px auto;
    text-align: center;
    animation: contact-float 3s ease-in-out infinite;
}
.contact-title{
    font-size: 24px;
    margin-top: 50px;
}
.contact-subtitle{
     margin-top: 20px;
   font-size: 20px;
}
.contact-image{
    width: 260px;
    margin: 80px auto 20px;
    display: block;
}
.contact-button{
    margin-top: 50px;

    padding: 10px 28px;
    border-radius: 30px;

    background: #FFF6A5;
    border: none;

    font-size: 16px;
    cursor: pointer;

}

.contact-button:hover{
   transform: scale(1.05);
    opacity: 0.9;
}

/* ============整体===================================================*/

/* 

=================================================================
↓ Animation
=================================================================*/

@keyframes 叶子生长{
    0%{
        transform: translateX(-50%) scaleY(0);
    }
    100%{
        transform: translateX(-50%) scaleY(1);
    }
}
@keyframes 漂浮-左右{
    0%   { transform: translate(0, 0); }
    25%  { transform: translate(12px, -6px); }
    50%  { transform: translate(-10px, 6px); }
    75%  { transform: translate(8px, -4px); }
    100% { transform: translate(0, 0); }
}

@keyframes 漂浮-上下{
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-18px); }
    100% { transform: translateY(0); }
}

@keyframes 漂浮-斜向{
    0%   { transform: translate(0, 0) rotate(0); }
    30%  { transform: translate(-10px, -14px) rotate(-3deg); }
    60%  { transform: translate(12px, -6px) rotate(3deg); }
    100% { transform: translate(0, 0) rotate(0); }
}
@keyframes profile-float {
    0% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(-8px);
    }
    100% {
        transform: translateX(-50%) translateY(0);
    }
}
@keyframes works-float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes contact-float {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-8px);
    }
    100% {
        transform: translateY(0);
    }
}
body {
  opacity: 1;
  transition: opacity 0.8s ease;
}

body.is-fadeout {
  opacity: 0;
}
/* =================================================
 /* =========================
 MAKOTO DESIGN｜BRAND HERO
========================= */

.brand-hero{
  min-height: 100vh;
  display: grid;
  grid-template-columns: 120px 1fr 520px;
  align-items: center;

  padding: 120px 100px;
  box-sizing: border-box;

  background-color: #F3E3C8;
}

/* 竖排主标语 */
.brand-vertical{
  writing-mode: vertical-rl;
  font-size: 36px;
  letter-spacing: 0.25em;
  line-height: 1.4;
  color: #1e1e1e;
}

/* 中央装饰 */
.brand-visual{
  display: flex;
  justify-content: center;
}

.brand-visual img{
  width: 160px;
  opacity: 0.45;
}

/* 右侧文字 */
.brand-text h2{
  font-size: 60px;
  letter-spacing: 0.12em;
  margin-bottom: 36px;
}

.brand-text p{
  font-size: 25px;
  line-height: 2;
  margin-bottom: 26px;
  color: #333;
}

/* 按钮 */
.brand-button{
  display: inline-block;
  margin-top: 40px;
  padding: 14px 36px;

  border-radius: 40px;
  background-color: #EEDC7A;
  color: #000;
  text-decoration: none;
  font-size: 20px;

  transition: transform 0.3s ease, opacity 0.3s ease;
}

.brand-button:hover{
  transform: translateY(-2px);
  opacity: 0.85;
}
 /* ===== WORKS SLIDER ===== */
.works-slider {
  position: relative;
  width: 100%;
  margin-top: 80px;
}

/* 遮罩 */
.works-track-wrapper {
  overflow: hidden;
  width: 100%;
}

/* 横向轨道 */
.works-track {
  display: flex;
  gap: 40px;
  transition: transform 0.4s ease;
}

/* 卡片 */
.works-item {
  min-width: 300px;
  background: #fff;
  border-radius: 30px;
  padding: 30px;
  text-align: center;
}

.works-item img {
  width: 100%;
  border-radius: 20px;
}

.works-item h3 {
  margin-top: 20px;
  font-size: 22px;
}

.works-item p {
  margin-top: 8px;
  font-size: 14px;
  opacity: 0.7;
}

/* 左右按钮 */
.works-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  background: #fff;
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
  z-index: 10;
}

.works-arrow.left {
  left: -26px;
}

.works-arrow.right {
  right: -26px;
}
       
   /* ===== WORKS SLIDER ===== */
/* ===== WORKS 基础 ===== */
.works-section {
  padding: 80px 0;
  text-align: center;
}

.works-title {
  font-size: 28px;
  margin-bottom: 10px;
}

.works-subtitle {
  font-size: 14px;
  margin-bottom: 40px;
  color: #555;
}

/* ===== Slider ===== */
.works-slider {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.slider-viewport {
  overflow: hidden;
}

.slider-track {
  display: flex;
  transition: transform 0.6s ease;
}

/* 卡片 */
.work-card {
  flex: 0 0 33.333%;
  padding: 20px;
  box-sizing: border-box;
  transition: transform 0.6s ease, opacity 0.6s ease;
}

.work-card img {
  width: 100%;
  border-radius: 20px;
}

/* 默认：左右小 */
.work-card {
  transform: scale(0.85);
  opacity: 0.6;
}

/* 中间卡片 */
.work-card.active {
  transform: scale(1);
  opacity: 1;
}

/* ===== 按钮 ===== */
.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: #fff;
  font-size: 22px;
  cursor: pointer;
  z-index: 10;
}

.slider-btn.prev {
  left: -20px;
}

.slider-btn.next {
  right: -20px;
}
