        @charset "UTF-8";

        /* Reset */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }
        
        html { scroll-behavior: smooth;}

        body {
            font-family: 'Manrope', 'Zen Kaku Gothic New', sans-serif;
            color: #000;
            background-color: #fff;
            line-height: 1.8;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        p{
            text-align: justify;
        }

        .br-sp {
        display: none;
        }
        @media (max-width: 768px) {
        .br-sp {
        display: block;
            }
        }
        
/* 初期状態：透明にして少し下へ配置 */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(20px);
	-webkit-transform: translateY(20px);  
    -moz-transform: translateY(20px); 
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}

.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px);
	-webkit-transform: translateY(0px);  
    -moz-transform: translateY(0px);    
}




/* 2. 内側の矢印は45度回転させるだけ */
.arrow-container {
    z-index: 1000;
}
.arrow-down {
  width: 20px;
  height: 20px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  z-index: 999;
}

/* 上下まっすぐなアニメーション */
@keyframes bounce-straight {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px); /* ここで下へ動く距離を調整 */
  }
}

        /* Header */
        .header {
            background-color: #848484;
            padding: 64px 135px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 46px;
            
            /* ▼ 絶対に固定される fixed を使用 ▼ */
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh; 
            z-index: 1;
        }
        .header-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: -1; /* 文字より後ろにする */
        }
 
        .header-title {
            color: #fff;
            font-weight: 800;
            font-size: 73px;
            line-height: 1.2;
            text-align: center;
        }
        .header-logo {
            background-color: #fff;
            padding: 10px;
            display: inline-block;
        }
        .header-inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px;
        }
       main {
            position: relative;
            margin-top: 100vh; /* ▼ fixedの場合、ヘッダーの高さ分下げる記述が必須です ▼ */
            z-index: 10;
            background-color: #ffffff
        }
        /* Hero */
        .hero {
            padding: 200px 20px; /* 横のpaddingを少し追加してスマホでのめり込み防止 */
            background-image: url('../img/hero.jpg');
            background-color: #4a4a4a; /* 画像がない場合のフォールバック色 */
            background-size: cover;
            background-position: center;
            color: #fff;
            display: flex;
            justify-content: center;
        }
        .hero-text-container {
            display: flex;
            flex-direction: column;
            gap: 40px;
            align-items: center;
            text-align: center;
            max-width: 800px; /* PCでの読みやすさ確保 */
        }
        .hero-title {
            font-weight: 700;
            font-size: 46px;
            font-family: 'Zen Kaku Gothic New', sans-serif;
        }
        .hero-desc {
            font-weight: 700;
            font-size: 18px;
            font-family: 'Zen Kaku Gothic New', sans-serif;
        }

        /* Story */
        .story-section {
            padding: 100px 64px;
            display: flex;
            gap: 30px;
            align-items: center;
        }
        .story-image {
            flex: 1;
        }
        .story-image-inner {
            background-color: #fff; /* 画像がない場合のプレースホルダー */
            min-height: 300px; 
            border-radius: 8px;
            overflow: hidden;
        }
        .story-image-inner img{
            width:90%;
            margin:0 auto;

        }
        .story-text {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 60px;
        }
        .story-heading {
            font-size: 32px;
            font-weight: 700;
            color: #A9A9A9;
            line-height: 1.4;
        }
        .story-desc {
            font-size: 16px;
            font-weight: 700;
        }

        /* Colors & Products */
        .color-section-header {
            padding: 40px 64px 10px; /* 少し余白調整 */
            border-bottom: solid 2px #000000;
        }
        .color-section-header h2 {
            font-size: 20px;
            font-weight: 700;
        }

        .product {
            padding: 100px 0;
            display: flex;
            flex-direction: column;
            gap: 40px;
        }
        .product-bg-gray {
            background-color: #F1F1F1;
        }
        .product-bg-white {
            background-color: #fff;
        }

        .product-title-area {
            padding: 0 64px;
            display: flex;
            gap: 0;
        }
        .product-title-left {
            display: flex;
            flex-direction: column;
            gap: 10px; /* 26pxから少し調整 */
            flex: 1;
        }
        .product-series-label {
            font-size: 14px;
            color: #666;
            margin-bottom: 20px;
        }
        .product-series-name {
            font-size: 18px;
            font-weight: 700;
        }

        .product-title-right {
            display: flex;
            flex-direction: column;
            flex: 1;
        }
        .product-color-meta {
            display: flex;
            justify-content: space-between;
            padding-bottom: 10px;
        }
        .product-no{
            display: flex;
            width: 36px;
            height: 36px;
            padding: 10px;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 10px;
            border-radius: 100px;
            border: 1px solid #000;
        }
        .product-name-area {
            align-items: baseline;
            gap: 10px;
            flex-wrap: wrap; /* 長い名前対策 */
        }
        .product-en {
            font-size: 50px;
            font-weight: 800;
            line-height: 1.1;
        }
        .product-ja {
            font-size: 18px;
            font-weight: 700;
            color: #999999;
        }

        .product-content {
            align-items: stretch; /* 高さを揃える */
        }
        .product-image {
            display: flex;
            flex: 1;
            background-color: #fafafa;
        }
        /* 元のHTML構造に合わせて、画像とスウォッチのレイアウトを調整 */
        .product-image > img {
            width: 50%;
            object-fit: cover;
        }
        .product-color-swatch {
            width: 50%;
            /* 元の固定paddingを割合と最小高さに変更し、はみ出しを防ぐ */
            padding: 40px; 
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
        }
        .pantone-text {
            color: #fff;
            font-size: 20px;
            font-weight: 700;
        }
        .product-text-area {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 26px;
            align-items: flex-start;
            justify-content: center;
        }
        .grid-container {
            display: grid;
            grid-template-columns: 1fr 1fr; /* 2カラム構成にする (左50%, 右50%) */
            padding: 40px 64px 0 64px;
        }
        .grid-container .product-text-area {
            grid-column: 2; /* 2列目（右側）に配置 */
            /* max-width は必要に応じて調整、Gridが幅を制御してくれる場合もあります */
        }
        /* レスポンシブ対応（画面が狭い場合は幅広にする） */
        @media (max-width: 768px) {
            .grid-container {
                grid-template-columns: 1fr; /* 1カラムにする */
            }
            .grid-container .text-box {
                grid-column: 1; /* 1列目に配置 */
            }
        }

        .product-catch {
            font-size: 22px;
            font-weight: 700;
            line-height: 1.6;
        }
        .product-hr {
            border: none;
            border-top: 1px solid #000;
            width: 72px;
        }
        .product-desc {
            font-size: 16px;
            font-weight: 700;
        }
        .product-link{
            width:100%;
        }
        .link-btn{
            width:100%;
            margin:10px 0;
        }
        .btn-online-store {
        display: flex;
            padding: 10px 30px;
            justify-content: space-between; /* これでテキストが左、矢印が右に分かれます */
            align-items: center;
            flex: 1 0 0;
            border-radius: 100px;
            background: #000;
            color: var(--primary-white, #FFF);
            text-align: center; /* 念のため残していますが flex 環境下では影響しません */
            font-family: Fustat;
            font-size: 18px;
            font-style: normal;
          font-weight: 500;
          line-height: 160%; /* 28.8px */
          gap: 10px;
          align-self: stretch;
          transition: 0.3s;
           width: 100%;
          box-sizing: border-box; /* paddingを含めた幅を100%にするために追加推奨 */
      }
        .btn-online-store:hover {
            background-color: #FFD932;
            color:#000000;
            transition: 0.3s ease;
        }

        /* Series */
        .series-section {
            padding: 0 0;
            background-color: #ffffff;
        }
        .series-header {
            padding: 40px 64px 10px;
          border-bottom: solid 2px #000000;

        }
        .series-header h2 {
            font-size: 20px;
            font-weight: 700;
        }
        .series-cards-container {
            padding: 100px 64px; /* 150pxから少し調整 */
            background-color: #333; /* 背景画像がない時の色 */
        }
        .series-cards-inner {
            display: flex;
            gap: 30px;
        }
        .series-card {
            background-color: #fff;
            opacity: 0.8;
            padding: 40px 30px; /* 60px 36px から少し調整 */
            display: flex;
            flex-direction: column;
            gap: 26px;
            flex: 1;
            border-radius: 4px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        .series-card-text {
            display: flex;
            flex-direction: column;
            gap: 15px;
            flex-grow: 1;
        }
        .series-card-title-sub {
            font-size: 14px; /* 18pxから調整 */
            font-weight: 700;
            color: #9CAAB8;
            letter-spacing: 0.05em;
        }
        .series-card-title {
            font-size: 24px;
            font-weight: 700;
            line-height: 1.3;
        }
        .series-card-hr {
            border: none;
            border-top: 1px solid #000;
            width: 30px;
        }
        .series-card-desc {
            font-size: 14px;
            font-weight: 700;
            color: #444;
        }
        .series-card-links {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: auto; /* 下部に寄せる */
        }
        .btn-link-outline {
            display: inline-flex;
            padding: 10px 20px;
            justify-self: start;justify-content: center;
            align-items: center;
            gap: 10px;
            border-radius: 100px;
            background: #9CAAB8;
            color:#ffffff;
            font-size: 12px;
            transition: 0.3s ease;
        }
        .btn-link-outline:hover {
            background-color: #000;
            color: #fff;
            transition: 0.3s ease;
        }

        .movie-cont {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 64px;
        }
        .movie-placeholder {
         	padding-top: 56.25%;
	        width: 100%;
	        position: relative;
            margin-bottom:64px;
        }
        .movie-placeholder video{
	        width: 100%;
	        height: 100%;
	        position: absolute;
	        top: 0px;
	        left: 0px;
        }
   

        .btn-order-now {
            background-color: #FFD932;
            color: #000000;
            padding: 25px 60px;
            font-size: 34px;
            font-weight: 700;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border-radius: 4px;
            transition: 0.3s ease;
            border-radius: 100px;
            line-height:1;

        }
        .btn-order-now:hover {
            transition: 0.3s ease;
            background-color:#000000;
            color:#ffffff;
        }

        /* Footer */
        .footer {
            position: relative; /* ▼ 追加：z-indexを効かせるための準備 ▼ */
            z-index: 10;        /* ▼ 追加：ヘッダー(1)より大きい数値にして手前に出す ▼ */
            background-color: #000000; /* フッターらしい背景色を追加 */
            color: #fff; /* テキストを白に */
            padding: 60px 64px;
            display: flex;
            flex-direction: column;
            gap: 40px;
        }
        .footer-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .footer-logo-area {
            width: 40%;
        }
        .footer-menu {
            display: flex;
            gap: 30px;
        }
        .footer-menu a {
            font-size: 16px;
            font-weight: 700;
            transition: opacity 0.3s;
        }
        .footer-menu a:hover {
            opacity: 0.7;
        }
        .copyright {
            font-size: 14px;
            color: #888;
        }


        /* =========================================
           Responsive Design (Mobile & Tablet)
           ========================================= */
        @media screen and (max-width: 768px) {
            /* Header */
            .header {
                padding: 40px 20px;
                gap: 20px;
            }
            .header-title {
                font-size: 42px; /* タイトル縮小 */
            }

            /* Hero */
            .hero {
                padding: 120px 40px;
            }
            .hero-title {
                font-size: 32px; /* タイトル縮小 */
            }
            .hero-desc {
                font-size: 15px;
            }

            /* Story */
            .story-section {
                padding: 60px 40px;
                flex-direction: column; /* 縦並びに */
                gap: 40px;
            }
            .story-text {
                gap: 30px;
            }
            .story-heading {
                font-size: 24px;
            }

            /* Products */
            .color-section-header {
                padding: 40px 20px 0;
            }
            .product {
                padding: 60px 0;
                gap: 40px;
            }
            .product-title-area {
                padding: 0 20px;
                flex-direction: column; /* タイトルエリアも縦並びに */
                gap: 30px;
            }
            .product-title-right {
                flex: 1;
            }
            .product-en {
                font-size: 36px; /* 英語タイトル縮小 */
            }
            .product-series-label{
                margin-bottom:0;
            }
            .product-color-meta{
                padding-bottom:0;
            }
            .product-content {
                flex-direction: column; /* 画像とテキストを縦並びに */
            }
            .product-image {
                flex-direction: column; /* 画像とスウォッチも縦並びに */
            }
            .product-image > img {
                width: 100%;
            }
            .product-color-swatch {
                width: 100%;
                padding: 60px 20px; /* スウォッチの固定paddingを解除して高さを確保 */
            }
            .product-text-area {
                padding: 40px 20px; /* 左右の余白を縮小 */
            }
            .product-catch {
                font-size: 20px;
            }
            .grid-container{
                padding: 20px 20px 0 20px;
            }


            /* Series */
            .series-header {
                padding: 10px 20px 0;
            }
            .series-cards-container {
                padding: 60px 20px;
            }
            .series-cards-inner {
                flex-direction: column; /* カードを縦並びに */
                gap: 20px;
            }

            .series-card {
                padding: 30px 20px;
            }
            
            .movie-placeholder {
                margin-bottom:20px;
            }

            .movie-cont{
                padding:40px 20px;
            }

            .btn-order-now{
                font-size:26px;
            }
            /* Footer */
            .footer {
                padding: 40px 20px;
                text-align: center;
                gap:20px;
            }
            .footer-inner {
                flex-direction: column; /* ロゴとメニューを縦並びに */
                gap: 40px;
                flex-direction: column-reverse;
            }
            .footer-menu {
                flex-direction: column; /* メニュー項目を縦並びに */
                gap: 20px;
            }
            .footer-logo-area{
                width: 80%;
            }
            .copyright{
                text-align: center;
            }
        }

 /* =========================================
   強制リセット（fixedを無効化するスタイルを打ち消す）
   ========================================= */
html, body {
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    animation: none !important;
    overflow-x: visible !important;
}

.header {
    position: fixed !important;
}
