/* 全体の初期設定 */
html {
    scroll-behavior: smooth;
}

body, html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    background-color: #000; /* 背景色を黒に設定 */
    color: white;
}

body, html[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

/* メニューバーのスタイル */
.pc-menu {
    display: block;
}

.hamburger-container {
    display: none;
    position: relative;
    width: auto;
}

.menu {
    position: fixed;
    padding-top: 43px;
    padding-left: 44px;
    z-index: 100;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* メニューロゴ */
.menu-logo {
    width: 98px;
    height: 98px;
}

/* メニュータイトル */
.menu-title {
    width: 74px;
    height: 23px;
    padding-bottom: 20px;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 23px;
}


/* ナビゲーションリストのリセット */
nav ul {
    list-style-type: none; /* デフォルトのリストマーカーを削除 */
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: left;
}

nav ul li {
    margin: 10px 0; /* 各メニューの間隔 */
}

/* メニューリンクの基本スタイル */
.menu-link {
    position: relative; /* 擬似要素を使用するために必要 */
    font-family: 'Orbitron', sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    color: white; /* 通常の文字色 */
    text-decoration: none; /* デフォルトの下線を削除 */
    display: inline-block;
}

/* 通常時の固定長の下線 */
.menu-link::after {
    content: ''; /* 擬似要素の内容を空に設定 */
    position: absolute;
    bottom: -3px; /* 文字の下に配置 */
    left: 0; /* 中央揃え */
    width: 30px; /* 固定長の下線の幅 */
    height: 1px; /* 下線の太さ */
    background-color: white; /* 下線の色 */
    transition: all 0.3s ease; /* ホバー時のアニメーション */
}

/* hover時の下線と文字色 */
.menu-link:hover {
    color: red; /* ホバー時の文字色 */
}

.menu-link:hover::after {
    width: 100%; /* 文字列全体に下線を拡大 */
    left: 0; /* 左端に配置 */
    transform: none; /* 中央揃えを解除 */
    background-color: white; /* 下線の色は白のまま */
}

/* 言語切替 */
.language-switch {
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.l-navi--lang-select-button {
    width: 25px;                /* 円の幅 */
    height: 25px;               /* 円の高さ */
    border-radius: 50%;         /* 丸くする */
    display: flex;              /* フレックスボックスで中央揃え */
    justify-content: center;    /* 水平方向の中央揃え */
    align-items: center;        /* 垂直方向の中央揃え */
    font-size: 9px;            /* 文字サイズ */
    text-decoration: none; /* アンダーバーを消す */
}

.l-navi--lang-select-button:visited {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

.l-navi--lang-select-button:active {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

.l-japanese {
    background-color: #fff !important;
    color: #FF0000 !important;
}

.l-english {
    background-color: #0101CE !important;
    color: #fff !important;
}

.l-chinese {
    background-color: #FF0000 !important;
    color: #fff !important;
}

/* ハンバーガーメニューのスタイル */
.hamburger-menu {
    position: fixed; /* スクロールしても固定表示 */
    top: 30px; /* 上からの距離を調整 */
    right: 30px; /* 右からの距離を調整 */
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1000; /* 背景よりも前に表示 */
    background-color: rgba(0, 0, 0, 0.6); /* 背景色を黒に設定 */
    border-radius: 50%; /* 円形にする */
}

/* メニューアイコンのバー */
.hamburger-menu span {
    display: block;
    height: 2px;
    width: 25px; /* バーの幅 */
    background-color: white; /* 白いバーを表示 */
    border-radius: 2px;
    transition: all 0.3s ease;
    margin: 3px 0;
}

.hamburger-menu.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 6px); /* 1本目を斜め右下に回転 */
}

.hamburger-menu.active span:nth-child(2) {
    opacity: 0; /* 真ん中の線を非表示 */
}

.hamburger-menu.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px); /* 3本目を斜め左下に回転 */
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: -100%; /* 初期状態: 画面外 */
    width: 100vw;
    height: 100vh;
    background-color: black;
    z-index: 999;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 40px;
    box-sizing: border-box; /* paddingをwidthに含める */
    transition: right 0.3s ease-in-out;

    overflow-y: auto; /* 縦スクロールを有効化 */
    max-height: 100vh; /* 画面外に出ないようにする */
}

.mobile-menu .header {
    position: relative;
    display: flex;
    top: 0;
    left: 0;
    flex-direction: column;
    align-items: flex-start; /* 左揃え */
    margin-bottom: 30px;
}

.mobile-menu .header img {
    width: 108px; /* ロゴのサイズを指定 */
    height: auto; /* 縦横比を維持 */
}

/* メニュータイトル */
.mobile-menu .header .title {
    font-family: 'Josefin Sans', sans-serif; /* フォント設定 */
    font-size: 35px; /* フォントサイズ */
    color: white; /* テキストの色 */
}

.mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu ul li {
    margin: 25px 0; /* 各メニュー間のスペースを調整 */
}

.mobile-menu ul li a {
    color: white;
    text-decoration: none;
    font-size: 17px;
    font-weight: bold;
}

.mobile-menu ul li a:hover {
    color: red;
}

/* メニューがアクティブ時の表示 */
.mobile-menu.active {
    right: 0; /* 画面内に表示 */
}

/* 言語切替 */
.mobile-language-switch {
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.mobile-language-switch .l-navi--lang-select-button {
    width: 40px;                /* 円の幅 */
    height: 40px;               /* 円の高さ */
    border-radius: 50%;         /* 丸くする */
    display: flex;              /* フレックスボックスで中央揃え */
    justify-content: center;    /* 水平方向の中央揃え */
    align-items: center;        /* 垂直方向の中央揃え */
    font-size: 14px;            /* 文字サイズ */
    font-weight: 700;
    text-decoration: none; /* アンダーバーを消す */
}

/* コンテンツエリアのスタイル */
.content {
    z-index: 1;
    overflow-y: auto; /* 縦スクロールを有効にする */
    height: 100vh; /* ビューポート全体の高さ */
    box-sizing: border-box; /* パディングを含めてサイズを計算 */
    width: 100%;
}

/* 動画の設定 */
.video-content {
    width: 100%;
    height: auto;
    background-color: black;
}

.video-content video {
    width: 100%;
    height: auto;
    display: block;
}

/*** Section: INFORMATION ***/
.information {
    width: 70%; /* 横幅を調整 */
    margin: 20px auto; /* 中央揃え */
    color: white; /* 文字色 */
    font-family: 'Noto Sans JP', sans-serif; /* フォント */
    font-size: 18px; /* フォントサイズ */
    text-align: center; /* 中央揃え */
    line-height: 2.5; /* 行間を調整 */
}

.information[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

.iphone-information{
    display: none;
}

.info-title {
    font-family: 'Orbitron', sans-serif;
    font-size: 38px;
    letter-spacing: 6px;
    text-align: center;
    padding-top: 120px;
}

.info-item {
    display: flex;
    justify-content: space-between; /* 日付とテキストを左右に配置 */
    align-items: center; /* 縦方向の中央揃え */
    border-bottom: 1px solid white; /* 下線を追加 */
    padding: 10px 0; /* 上下の余白を追加 */
    gap: 10px; /* 要素間のスペース */
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.info-item[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

/* 日付のスタイル */
.info-date {
    flex: 0 0 120px; /* 固定幅を設定（例: 120px） */
    text-align: left; /* 左揃え */
    padding-left: 240px;
}

/* テキストのスタイル */
.info-text {
    flex: 1; /* 残りのスペースを占有 */
    text-align: left; /* 左揃え */
}

.info-text a {
    color: white; /* リンクの色を常に白に設定 */
    text-decoration: none; /* 下線を消す */
}

.info-text a:hover {
    text-decoration: underline; /* ホバー時に下線を追加 */
}

/*** Section: Overview ***/
.overview {
    position: relative;
    color: white;
    overflow: visible;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    background: url('../assets/images/PC/overview_bg.png') no-repeat center center;
    background-size: cover;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .overview {
        background: url('../assets/images/PC/overview_bg@2x.png') no-repeat center center;
        background-size: cover;
    }
}

.overview-container {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 10px;
}

.overview-sub-container {
    padding-top: 220px;
    padding-left: 280px;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex: 1; /* 左側のコンテンツを適切に配置 */
    max-width: 60%; /* 必要に応じて幅を調整 */
}

.iphone-image {
    flex: 0 0 auto;
    max-width: 35%; /* 必要に応じて幅を調整 */
    display: flex;
    flex: 1;
    margin-top: 5%;
    margin-right: 10%;
}

.iphone-image img {
    width: 600px;
    height: auto;
}

.overview-header, .overview-promo, .overview-features {
    position: relative;
    z-index: 2;
}

.overview-header, .overview-promo {
    font-family: 'Noto Sans JP', sans-serif;
}

.overview-header, .overview-promo[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

.overview-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 10px;
}

.overview-header h2 {
    font-size: 46px;
    font-weight: 700;
    text-align: center;
}

.overview-header p {
    font-size: 18px;
    font-weight: 600;
    text-align: left;
    max-width: 650px;
    letter-spacing: 1px;
    line-height: 2;
    margin: 0;
}

/* プロモーション画像 */
.movie-container {
    position: relative;
    width: 500px;
    height: auto;
    margin: -10px auto;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.movie-container:hover{
    transform: scale(1.05); /* ホバー時の拡大効果 */
}

.overview-promo h3 {
    font-size: 30px;
    font-weight: 700;
}

.movie-container img {
    width: 100%;
    width: 500px;
    height: 281px;
}

.play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    padding: 10px;
}

.play-icon img {
    width: 86px;
    height: 86px;
}

.overview-features {
    width: 70%; /* 横幅を調整 */
    margin: 20px auto; /* 中央揃え */
    grid-template-columns: repeat(3, 1fr); /* 3列のグリッド */
    gap: 20px; /* 各feature間の余白 */
    margin-top: 40px;
}

/* モックアップビュー */
.video-modal {
    display: none; /* 初期状態では非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); /* 背景の半透明効果 */
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

/* 動画コンテナ */
.video-container {
    position: relative;
    width: 80%;
    max-width: 800px;
    background: #000;
    padding: 20px;
    border-radius: 10px;
}

/* 動画自体 */
.video-container video {
    width: 100%;
    height: auto;
}

/* スクロール禁止 */
body.no-scroll {
    overflow: hidden;
}

/* 特定のfeatureをカスタム配置 */
.overview-features .feature:nth-child(4) {
    grid-column: 1 / 3;
}

.overview-features .feature:nth-child(5) {
    grid-column: 3 / 4;
}

.first-feature{
    display: flex;
    flex: 1;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 20px; /* 要素間のスペースを均等に調整 */
}

.second-feature{
    display: flex;
    flex: 2;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 20px; /* 要素間のスペースを均等に調整 */
}

/* feature全体のスタイリング */
.feature {
    text-align: center;
    padding: 10px;
    width: 320px;
    height: 240px;
}

.feature-header {
    display: flex; /* 横並びに配置 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 20px; /* 画像とテキスト間の余白 */
    margin-bottom: 5px; /* 本文との間隔 */
}

.feature img {
    max-width: 100%; /* 画像を親要素内に収める */
    height: auto;
}

.feature h4 {
    margin: 2px 0;
    font-size: 39px;
}

.feature p {
    font-size: 18px;
    font-weight: 700;;
    text-align: left;
    margin: 0 auto;
    max-width: 90%;
    line-height: 2;
    font-family: 'Noto Sans JP', sans-serif;
}

.feature p[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

/*** Section共通: guid / mykoi / tools /shows ***/
.feature-title {
    display: flex; /* 横並びに配置 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 20px; /* 画像とテキスト間の余白 */
    margin-bottom: 50px; /* 本文との間隔 */
}

.feature-title img {
    width: 125px;
    height: 125px;
}

.feature-title h4 {
    margin: 2px 0;
    font-size: 34px;
}

.feature-explanation {
    margin: 2px 0;
    font-size: 50px;
    font-weight: 600;
    display: row;
    align-items: center;
    text-align: center;
    line-height: 1.2; /* 行間を調整 */
    width: 600px;
}

.responsive{
    display: none;
}

.feature-items {
    display: flex; /* 子要素を横並びに */
    justify-content: space-between; /* 子要素間を均等に配置 */
    gap: 100px; /* 各アイテム間の余白 */
    margin-top: 30px; /* 上部に余白を追加 */
    flex-wrap: wrap; /* 必要に応じて折り返し */
}

.feature-items-en {
    display: flex; /* 子要素を横並びに */
    justify-content: space-between; /* 子要素間を均等に配置 */
    gap: 50px; /* 各アイテム間の余白 */
    margin-top: 30px; /* 上部に余白を追加 */
    flex-wrap: wrap; /* 必要に応じて折り返し */
}

.feature-item-container {
    display: flex; /* 横並びまたは縦並びのフレックスボックス */
    flex-direction: column; /* 縦並び */
    align-items: center; /* 中央揃え */
    text-align: center; /* テキストを中央揃え */
    gap: 10px; /* 子要素間の余白 */
    flex: 1;
}

.feature-item-container-en {
    display: flex; /* 横並びまたは縦並びのフレックスボックス */
    flex-direction: column; /* 縦並び */
    align-items: center; /* 中央揃え */
    text-align: center; /* テキストを中央揃え */
    gap: 10px; /* 子要素間の余白 */
    flex: 1;
}

.feature-item-container img {
    width: 275px;
    height: 275px;
}

.feature-item-container-en img {
    width: 275px;
    height: 275px;
}

.feature-item-container h3 {
    font-size: 30px;
    margin-bottom: 10px; /* 線とタイトル間の余白 */
    width: 100%; /* 線がコンテナ全体に広がるように */
    text-align: center; /* テキストを中央揃え */
    border-bottom: 2px solid #ccc; /* 下線の設定 */
    padding-bottom: 10px; /* 下線と文字の間隔 */
    display: inline-flex; /* フレックスボックスでバッジと揃える */
    align-items: center; /* h3とbadgeの文字を中央揃え */
    justify-content: center; /* 必要に応じて横方向の中央揃え */
    gap: 10px; /* h3とバッジの間隔 */
}

.feature-item-container-en h3 {
    font-size: 30px;
    margin-bottom: 10px; /* 線とタイトル間の余白 */
    width: 100%; /* 線がコンテナ全体に広がるように */
    text-align: center; /* テキストを中央揃え */
    border-bottom: 2px solid #ccc; /* 下線の設定 */
    padding-bottom: 10px; /* 下線と文字の間隔 */
    display: inline-flex; /* フレックスボックスでバッジと揃える */
    align-items: center; /* h3とbadgeの文字を中央揃え */
    justify-content: center; /* 必要に応じて横方向の中央揃え */
    gap: 10px; /* h3とバッジの間隔 */
}

.badge {
    background-color: #fff; /* バッジの背景色 */
    color: #000; /* バッジの文字色 */
    font-size: 17px;
    font-weight: bold;
    border-radius: 15px; /* 角丸 */
    padding: 4px 10px; /* 内側の余白 */
    display: inline-block; /* テキストに合わせたサイズ */
    border: 1px solid #ccc; /* 薄い枠線 */
}

.feature-item-container p {
    font-size: 18px;
    width: 275px;
    text-align: left;
    margin-top: 5px; /* 線と段落間の余白 */
    font-family: Noto Sans JP Bold;
}
.feature-item-container-en p {
    font-size: 18px;
    text-align: left;
    margin-top: 5px; /* 線と段落間の余白 */
}

.feature-content {
    position: relative;
    color: white;
    overflow: visible;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    padding-top: 100px;
    margin-top: 100px;
}
.contact-feature-content {
    position: relative;
    color: white;
    overflow: visible;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
    margin-top: 100px;
}

/*** Section: guid ***/
.guide::before{
    content: '';
    background: url('../assets/images/PC/pixta_91196614.png') no-repeat;
    opacity: 1;
    position: absolute;
    background-size: cover;
    z-index: -2;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-position-y: -400px;
    background-position-x: -500px;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .guide::before {
        background: url('../assets/images/PC/pixta_91196614@2x.png') no-repeat;
        background-size: cover;
    }
}

/*** Section: tools ***/
.tools::before{
    content: '';
    background: url('../assets/images/PC/pixta_91196614.png') no-repeat;
    opacity: 1;
    position: absolute;
    background-size: cover;
    z-index: -2;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-position-y: 150px;
    background-position-x: -150px;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .tools::before {
        background: url('../assets/images/PC/pixta_91196614@2x.png') no-repeat;
        background-size: cover;
    }
}

.tools-container{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    gap: 20px;

}

.tools-iphone-image{
    flex: 0 0 auto;
    max-width: 35%; /* 必要に応じて幅を調整 */
    display: flex;
    flex: 1;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    margin-left: 10%;
    margin-bottom: -4%;
}

.tools-iphone-image img{
    width: 85%; /* 親要素に合わせて調整 */
    height: auto;
    
}

.tools-items{
    display: block;
    flex: 1;
    width: 40%;
    margin-right: 10%; /* 左余白を減少 */
    align-items: left;
}


/*** Section: shows ***/
.shows {
    min-height: 1900px;
    padding-top: 100px;
    margin-top: 100px;
    position: relative;
}

/* 背景画像 */
.shows::before {
    content: '';
    background: url('../assets/images/PC/pixta_74182279_XL.png') no-repeat center center;
    opacity: 1;
    top: 0;
    left: 0;
    position: absolute;
    background-size: cover;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .shows::before {
        background: url('../assets/images/PC/pixta_74182279_XL@2x.png') no-repeat center center;
        background-size: cover;
    }
}

.shows-container{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    gap: 20px;

}

.shows-iphone-image{
    flex: 0 0 auto;
    max-width: 35%; /* 必要に応じて幅を調整 */
    display: flex;
    flex: 1;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    margin-left: 10%;
    margin-bottom: -3%;
}

.shows-iphone-image img{
    width: 80%; /* 親要素に合わせて調整 */
    height: auto;
    
}

.shows-items{
    display: block;
    flex: 1;
    width: 40%;
    margin-right: 10%; /* 左余白を減少 */
    align-items: left;
}

/*** Section: home ***/

/* 全体の配置を維持するための設定 */
.home {
    min-height: 750px;
    padding-top: 100px;
    padding-bottom: 20px;
    margin-top: 100px;
    display: flex;
    position: relative;
    align-items: center;
}

.home::before{
    content: '';
    background: url('../assets/images/PC/pixta_91196614.png') no-repeat;
    opacity: 1;
    position: absolute;
    background-size: cover;
    z-index: -2;
    width: 100%;
    height: 100%;
    min-height: 100%;
    z-index: -1;
    background-position-y: -100px;
    background-position-x: -800px;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .home::before {
        background: url('../assets/images/PC/pixta_91196614@2x.png') no-repeat;
        background-size: cover;
    }
}

.home-feature-explanation{
    margin: 0 auto;
}

/* 横並びの配置を実現 */
.home-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 80%;
    height: auto;
}

/* 左側のコンテンツスタイル */
.home-items {
    display: block;
    flex: 1;
    width: 20%;
}

.home-feature-item{
    display: block;
}

.home-items p {
    font-size: 18px;
    font-weight: 550;
    text-align: left;
    margin-top: 5px; /* 線と段落間の余白 */
    width: 65%;
    margin: 0 auto 0 30%; /* 水平方向の中央揃え */
    display: block;
}

/* 右側の画像コンテナ */
.home-images {
    display: grid;
    flex: 1;
    position: relative; /* 子要素を自由配置可能にする */
    width: 850px;
    height: 900px;
    transform: scale(1); /* 初期状態 */
    transform-origin: top left; /* 縮小の基準点を左上に設定 */
    transition: transform 0.3s ease; /* スムーズな縮小 */

    /* height: 100%;  */
}

/* 右上の画像 */
#home-image-top-right {
    position: absolute;
    top: 60px;
    left: 410px;
    z-index: -1; /* 背面に配置 */
    width: 323px;
    height: auto;
}

#home-image-top-center {
    position: absolute;
    top: 0px;
    left: 300px;
    z-index: 0; /* 背面に配置 */
    width: 186px;
    height: auto;
}

#home-image-top-left {
    position: absolute;
    top: 130px;
    left: 20px;
    z-index: -1; /* 背面に配置 */
    width: 244px;
    height: auto;
}

#home-image-center-left {
    position: absolute;
    top: 410px;
    left: 110px;
    z-index: 0; /* 背面に配置 */
    width: 155px;
    height: auto;
}

#home-image-bottom-left {
    position: absolute;
    z-index: -1; /* 背面に配置 */
    top: 530px;
    left: 0px;
    width: 168px;
    height: auto;
}

/* 右下の画像 */
#home-iphone {
    position: absolute;
    top: 280px;
    left: 280px;
    z-index: 0; /* 前面に配置 */
    width: 380px;
    height: auto;
}


/*** Section: mykoi ***/
.mykoi::before{
    content: '';
    background: url('../assets/images/PC/pixta_91196614.png') no-repeat;
    opacity: 1;
    position: absolute;
    background-size: cover;
    z-index: -2;
    width: 100%;
    height: 100%;
    background-position-y: -100px;
    background-position-x: 100px;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .mykoi::before {
        background: url('../assets/images/PC/pixta_91196614@2x.png') no-repeat;
        background-size: cover;
    }
}

.mykoi-feature-explanation{
    margin-left: 250px;
    width: 470px;
}

.mykoi-container{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 90%;
    margin-bottom: -20%;
    margin-top: -15%;
}


.mykoi-items{
    display: block;
    flex: 1;
    width: 30%;
}

.mykoi-iphone{
    flex: 0 0 auto;
    max-width: 40%; /* 必要に応じて幅を調整 */
    display: flex;
    flex: 1;
    justify-content: center; /* 水平方向の中央揃え */
    margin-left: -20%;
    margin-top: 20%;
}

.mykoi-iphone img{
    width: 110%;
    height: auto;
    z-index: -1;
}

.fair-movie {
    width: 500px;
    text-align: center;
}

.fair-movie h2 {
    font-size: 30px;
}

.fair-movie img {
    width: 100%;
}

.fair-button-container {
    text-align: center;
    padding: 20px;
    color: white;
}

.fair-button-container h2 {
    font-size: 30px;
    margin-bottom: 20px;
}

/* ボタンコンテナ */
.fair-buttons {
    display: flex;
    justify-content: center;
    gap: 20px; /* ボタン間の間隔 */
}

/* 各ボタンのスタイル */
.fair-button {
    display: flex;
    width: 230px;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
    padding: 10px 10px;
    margin: 0 15px;
    border-radius: 8px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none; /* アンダーバーを消す */
    cursor: pointer;
    gap: 10px; /* アイコンとテキストの間隔 */
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* リンクのアクセス後のスタイル */
.fair-button:visited {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

/* リンクをアクティブにしたときのスタイル */
.fair-button:active {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

/* アクティブボタン */
.fair-button.active {
    background-color: #FF0000; /* 赤背景 */
    color: white; /* 白文字 */
}

/* 非アクティブボタン */
.fair-button.inactive {
    background-color: #ADADAD; /* 灰色背景 */
    cursor: not-allowed; /* カーソルを無効化 */
}

/* アイコンスタイル */
.fair-icon {
    width: 24px;
    height: 32px;
}

/*** Section: download ***/
.download {
    position: relative;
    color: white;
    overflow: visible;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    font-family: 'Orbitron', sans-serif;
}

/* 背景画像 */
.download::before {
    content: '';
    background: url('../assets/images/PC/pixta_91196614_p.png') no-repeat;
    opacity: 1;
    position: absolute;
    background-size: cover;
    background-position-y: 330px; /* 垂直方向を150%に移動 */
    background-position-x: 30%;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* 高解像度ディスプレイ用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .download::before {
        background: url('../assets/images/PC/pixta_91196614@2x.png') no-repeat;
        background-size: cover;
    }
}

.download h1 {
    font-size: 66px;
    text-align: center;
    margin-top: 200px;
}

.download-arrow  {
    display: flex; /* 横並びに配置 */
    align-items: center;
    justify-content: center; /* 横方向の中央揃え */
    gap: 20px; /* 画像とテキスト間の余白 */
    text-decoration: none; /* アンダーバーを消す */
}

.download-arrow img {
    max-width: 100%; /* 画像を親要素内に収める */
    height: auto;
}

.download-arrow p {
    margin: 2px 0;
    font-size: 28px;
    color: red;
    text-decoration: none; /* アンダーバーを消す */
}

.download-arrow:visited {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

.download-arrow:active {
    text-decoration: none; /* アンダーバーを消す */
    color: inherit; /* 色を変えない */
}

.download-airskoi  {
    display: row; /* 横並びに配置 */
    align-items: center;
    justify-content: center; /* 横方向の中央揃え */
    text-align: center;
    gap: 20px; /* 画像とテキスト間の余白 */
}

.download-airskoi  img {
    width: 184px;
    height: 184px;
    text-align: center;
}

.download-airskoi p {
    font-family: 'Josefin Sans', sans-serif;
    margin: 2px 0;
    font-size: 41px;
    color: white;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 200px;
}

.copyright {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    text-align: right;
    margin-right: 40px;
    margin-bottom: 20px;
    align-self: flex-end;
    width: 100%;
    padding-top: 10%;
    letter-spacing: 1px;
}

.copyright[lang="zh-CN"] {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
}

/* ========================= */
/* レスポンシブデザイン */
/* ========================= */
/* スマホ対応 (最大1179px) */
@media (max-width: 1179px) {
    .pc-menu {
        display: none;
    }

    .hamburger-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .hamburger-menu {
        display: flex;
    }

    .responsive{
        display: contents;
    }
    .feature-explanation{
        font-size: 25px;
        line-height: 1.5;
        width: 270px;
    }
    .feature{
        width: 250px;
        padding: 5px;
    }
    .feature p{
        font-size: 15px;
        line-height: 1.8;
        text-align: center;
        width: 80%;
        margin: 0 auto;
    }
    .feature-content{
        margin-top: 30px;
        gap: 10px;
        padding-top: 50px;
        
    }
    .feature-header {
        margin-bottom: 20px;
        gap: 10px;
    }
    .feature-header img{
        width: 44px;
    }
    .feature-header h4{
        font-size: 26px;
    }
    .feature-title{
        margin-bottom: 20px;
    }
    .feature-title h4 {
        font-size: 24px;
    }
    .feature-title img{
        width: 70px;
        height: 70px;
    }
    .feature-items{
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2列構成 */
        grid-template-rows: auto auto; /* 2行構成 */
        justify-content: center;
        gap: 10px; /* アイテム間の間隔 */
        width: 100%;
        max-width: 360px;
    }
    .feature-items-en{
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2列構成 */
        grid-template-rows: auto auto; /* 2行構成 */
        justify-content: center;
        gap: 10px; /* アイテム間の間隔 */
        width: 100%;
        max-width: 360px;
    }
    .feature-item-container{
        flex: none;
        gap: 5px;
    }
    .feature-item-container-en{
        flex: none;
        gap: 5px;
    }
    .feature-item-container img{
        width: 150px;
        height: 150px;
    }
    .feature-item-container-en img{
        width: 150px;
        height: 150px;
    }
    .feature-item-container h3{
        font-size: 18px;
        width: 150px;
        margin-bottom: 0;
        padding-bottom: 5px;
    }

    .feature-item-container-en h3{
        font-size: 18px;
        width: 150px;
        margin-bottom: 0;
        padding-bottom: 5px;
    }
    .feature-item-container p{
        font-size: 14px;
        width: 140px;
    }
    .feature-item-container-en p{
        font-size: 14px;
        width: 140px;
    }
    .responsive-feature-items{
        display: flex; /* グリッドではなくフレックスボックスに変更 */
        flex-direction: column; /* 縦並び */
        align-items: center; /* 横方向で中央揃え */
        justify-content: center; /* 縦方向で中央揃え */
        width: 80%;
        gap: 20px;
    }
    .responsive-feature{
        flex-direction: row;
        gap: 20px;
    }

    /* INFORMATION */
    .menu{
        display: none;
    }
    #top-movie{
        display: none;
    }
    #information{
        background: url('../assets/images/SP/n_1@2x.png') no-repeat center center;
        background-size: cover;
        width: 100%;
        padding-top: 150px;
        z-index: -1;
        background-color: rgba(0, 0, 0, 0.54); /* 背景に半透明を適用 */
        }
    
    .information {
        width: 78%; /* 横幅を調整 */
        padding-bottom: 100px;
        margin: 10px auto; /* 中央揃え */
        color: white; /* 文字色 */
        font-size: 15px; /* フォントサイズ */
        line-height: 1; /* 行間を調整 */
        text-align: center;
        line-height: 1.5; /* 行間を調整 */
    }
    .info-title {
        font-size: 28px;
        letter-spacing: 5px;
        padding-top: 40px;

    }
    #information-container{
        padding-left: 0;
    }
    .info-item {
        padding: 5px 0; /* 上下の余白を追加 */
        gap: 1px; /* 要素間のスペース */
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 14px;
        font-weight: 700;
        width: 100%;
    }
    .info-item[lang="zh-CN"] {
        font-family: 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', sans-serif;
    }
    .info-date{
        padding-left: 0px;
        flex: 0 0 100px; 
    }
    .iphone-information{
        display: block;
        text-align: center;
    }
    .iphone-information h2{
        margin: 0;
        font-size: 51px;
    }
    .iphone-information img{
        width: 30%;
        height: auto;
        margin-top: 20%;
    }
    .iphone-information p{
        font-size: 45px;
        font-family: 'Josefin Sans', sans-serif;
        margin: 15px;
    }
    .iphone-information[lang="zh-CN"] {
        font-family: 'Josefin Sans', 'Noto Serif SC', 'Songti SC', serif;
    }
    .iphone-title h2 {
        font-size: 51px;
        font-family: 'Orbitron', sans-serif;
        font-weight: 700;
        margin: 0;
    }

    /* ハイライト部分（赤色） */
    .highlight {
        color: red;
    }

    /* 使い方 */
    .overview {
        background: none; /* PC版の背景画像を無効化 */
    }
    .overview::before{
        content: '';
        display: block;
        background: url('../assets/images/SP/n_6.png') no-repeat center center;
        background-size: cover;
        opacity: 1;
        width: 100%;
        height: calc(100% + 150px);
        background-position: center;
        background-position-y: -150px;
        position: absolute; /* 絶対配置 */
        top: 0;
        left: 0;
        z-index: -2; /* 重なり順序を調整 */
    }
    .overview::after{
        content: '';
        display: block;
        background: url('../assets/images/SP/n_7.png') no-repeat center center;
        background-size: cover;
        opacity: 0.7;
        width: 100%;
        height: calc(100% + 80px);
        background-position: center;
        background-position-y: 0px;
        position: absolute; /* 絶対配置 */
        top: -80px;
        left: 0; /* 画面の中央を基準に開始 */
        z-index: -1; /* 重なり順序を調整 */
    }
    .iphone-image{
        display: none;
    }
    .responsive-iphone{
        width: 380px;
        height: auto;
    }

    .overview-container{
        display: contents;
    }
    .overview-container h2{
        font-size: 30px;
    }
    .overview-header h2{
        width: 90%;
        font-size: 22px;
    }
    .overview-header p{
        font-size: 13px;
    }
    .overview-sub-container{
        padding-left: 0;
        padding-top: 10px;
        max-width: 85%;
    }
    .overview-promo{
        display: contents;
        align-items: center;
    }
    .overview-promo h3{
        font-size: 18px;
        margin-top: 50px;
        margin-bottom: 30px;
    }
    .movie-container{
        width: 300px;
    }
    .movie-container img{
        width: 100%;
        height: auto;
    }
    .overview-features{
        display: block;
        width: 100%; /* 横幅を調整 */
        text-align: center;
        margin: 0 auto;
    }
    .first-feature, .second-feature {
        display: flex; /* フレックスボックスを有効化 */
        flex-wrap: wrap; /* 必要に応じて折り返し */
        justify-content: center; /* 横方向の中央揃え */
        align-items: center; /* 縦方向の中央揃え */
        gap: 20px; /* 各要素の間隔を均等に */
        text-align: center; /* テキストを中央揃え */
        width: 100%; /* 親要素の幅を100%に */
        margin: 0 auto; /* 親要素自体を中央揃え */
    }
    .feature {
        width: 100%; /* 親要素に対する幅を指定 */
        max-width: 390%; /* 最大幅を設定 */
        margin: 10px auto; /* 上下左右の中央揃え */
        text-align: center; /* テキストの中央揃え */    
    }

    /* mykoi */
    .mykoi{
        padding-top: 0px;
        margin-top: 80px;
    }
    .mykoi-container {
        margin-bottom: 0;
        margin-top: 0;
        display: block;
        width: 100%;
    }
    .mykoi-items{
        width: 90%;
    }
    .mykoi-feature-explanation{
        width: 240px;
        margin: 0 auto;
    }
    .mykoi-iphone{
        display: none;
    }
    .feature-item-container .responsive-mykoi-iphone{
        width: 200px;
        height: 370px;
        margin-bottom: -35px;
    }
    

    /* ガイド */
    
    /* tools */
    .tools-container{
        flex-direction: column; /* 上下に配置 */
    }
    .tools-iphone-image {
        order: 2; /* 順番を後にする */
        max-width: 70%;
        margin-left: 0;
    }
    .tools-items {
        order: 1; /* 順番を前にする */
        width: 260px;
    }
    .badge{
        font-size: 13px;
        padding: 2px 7px;
    }

    /* home */
    .home{
        min-height: 740px;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 50px;
        padding: 20px 0;
    }
    .home-container{
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
        justify-content: center; /* 上下中央揃え（必要なら追加） */
        width: 100%;
    }
    .home-items{
        width: 80%;
        flex: none;
        margin-bottom: 20px;
    }
    .home-images{
        width: 100%;
        max-width: 800px; /* 最大幅を設定 */
        transform: scale(0.6); /* 縮小を適用 */
        position: relative; /* 親要素内で相対配置 */
        transform-origin: center center;
        margin: 0 auto;
    }
    .home-feature-explanation{
        font-size: 24px;
        width: 340px;
    }

    /* shows */
    .shows{
        min-height: 1210px;
    }
    .shows-iphone-image{
        display: none;
    }
    .shows-items{
        margin-right: 0;
    }
    .fair-movie{
        width: 80%;
    }
    .shows h2{
        font-size: 20px;
    }
    .fair-buttons{
        flex-direction: column;
    }
    .fair-button {
        display: flex;
        width: 200px;
        justify-content: center; /* 横方向の中央揃え */
        align-items: center; /* 縦方向の中央揃え */
        padding: 5px 5px;
        margin: 0 15px;
        border-radius: 8px;
        font-size: 15px;
        gap: 5px; /* アイコンとテキストの間隔 */
    }
    .feature-item-container .responsive-shows-iphone{
        margin-top: -20px;
        width: 220px;
        height: auto;
    }

    /* download */
    .download{
        gap: 20px;
    }
    .download::before {
        content: '';
        display: block;
        background: url('../assets/images/SP/pixta_91196614.png') no-repeat center top;
        background-size: 150%;
        background-position: center top;
        background-position-x: -50px;
        width: calc(100% + 50px);
        height: calc(100% - 380px);
        position: absolute;
        top: 380px;
        left: -50px;
    }
    .download h1{
        font-size: 29px;
        margin-top: 100px;
    }
    .download-arrow{
        gap: 10px;
    }
    .download-arrow p{
        font-size: 19px;
    }
    .download-arrow img{
        max-width: 12%;
    }
    .download-airskoi img{
        width: 100px;
        height: 100px;
    }
    .download-airskoi p{
        font-size: 21px;
        margin-bottom: 120px;
    }
    .download-logo{
        width: 252px;
        height: 40px;
    }
    .copyright {
        font-size: 10px;
        letter-spacing: 0.5px;
        margin-right: 15px;
        margin-bottom: 0px;
    }
}
