#ouendanmenu {
    background-color: #40abe3;
}

#ouendanmenu ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

#ouendanmenu li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 1 auto;
    text-align: center;
    border-left: 1px solid #ffffff;
}
#ouendanmenu li:first-child {
    border-left: none;
}
#ouendanmenu li:last-child {
    border-right: 1px solid #ffffff;
}
#ouendanmenu a {
    display: inline-block;
    padding: 12px 6px;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.4rem;
}
#ouendanmenu a:hover {
    opacity: 0.8;
}

.uk-padding-none {
    padding: 0 !important;
}
/* YouTube動画埋め込み用（16:9比率） */
.youtube-embed-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9比率 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    border-radius: 14px;
}

.youtube-embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.uk-youtube-small iframe {
    margin-bottom: 1rem;
    border-radius: 10px;
}

.youtube-title {
    display: -webkit-box;
    -webkit-box-orient: vertical; /* 垂直方向に配置 */
    overflow: hidden; /* 溢れた部分を隠す */
    text-overflow: ellipsis; /* 溢れた部分に「...」を表示 */
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

/* YouTube ショート動画用のスタイル */
.youtube-short-embed {
    position: relative;
    width: 100%;
    padding-bottom: 177.78%; /* 9:16比率 */
    height: 0;
    overflow: hidden;
    border-radius: 10px;
}

.youtube-short-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.youtube-short-grid {
    margin-left: -10px;
}

/* YouTubeビデオスライダー用のスタイル */
.youtube-video-slider {
    margin-left: -10px;
}

/* スライダーナビゲーション用のスタイル */
.uk-slider-nav {
    margin-top: 15px;
}

/* Map image, YouTube short & Instagram button overlay */
#headMapRight {
    position: absolute;
    right: 20px;
    bottom: 5px;
    width: 25%; /* adjust as needed */
    max-width: 220px;
}
@media (min-width: 480px) {
}

@media (min-width: 768px) {
    #headMapRight {
        position: absolute;
        right: 20px;
        bottom: 20px;
        width: 25%; /* adjust as needed */
        max-width: 220px;
    }
}

@media (min-width: 1200px) {
}

#headMapRight .head-youtube-short-embed {
    position: relative;
    width: 100%;
    padding-bottom: 177.78%; /* 9:16 */
    height: 0;
    overflow: hidden;
    border-radius: 10px;
}

/* #headMapRight .head-youtube-short-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
} */
@media (min-width: 480px) {
}

@media (min-width: 768px) {
    #headMapRight .head-youtube-short-embed iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
}

@media (min-width: 1200px) {
}

/* Map image & Instagram button overlay */
.head-map-container {
    position: relative;
}

.head-map-container .map-image {
    width: 100%;
}

.insta-button {
    display: block;
    margin-top: 8px;
}

.insta-button img {
    width: 100%;
}

/* Divider line after YouTube section */
hr.headLineYoutube {
    border: none;
    border-top: 3px solid #40abe3;
    height: 0;
    margin: 2rem 0;
}

.uk-title-youtube {
    width: 70%;
    margin: 0 auto;
}

.uk-section-sns {
    background-color: #40abe3;
}

/* X image + taggbox side by side */
.head-x-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: center;
    align-items: stretch;
}

.head-x-container #headXImage {
    flex: 0 0 50%;
    max-width: 50%;
}

.head-x-container #headXContent {
    flex: 0 0 50%;
    max-width: 50%;
    height: 800px;
    width: 100%;
    padding: 10px;
    background: white;
    border-radius: 10px;
    overflow-y: auto;
}

/* --- Mobile layout adjustments --- */
@media (max-width: 640px) {
    .head-x-container {
        flex-direction: column;
        gap: 10px;
    }
    .head-x-container #headXImage,
    .head-x-container #headXContent {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .head-x-container #headXContent {
        padding: 0;
        height: 880px;
    }
}

.youtube-short-title a {
    color: black;
    padding-top: 5px;
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: 500;
}

/* --- YouTube shorts slider nav buttons --- */
#youtube .uk-slidenav {
    background: #ffffff;
    color: #000000;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

#youtube .uk-slidenav svg {
    width: 20px;
    height: 20px;
}

/* always show buttons */
#youtube .uk-hidden-hover {
    opacity: 1 !important;
}

.uk-line-height-small {
    line-height: 1.2rem;
}
.uk-accordion-pink {
    background-color: #ff0096;
    padding: 15px;
    color: #ffffff;
}
/* white plus/minus icon */
.uk-accordion-pink.uk-accordion-title::before {
    filter: brightness(0) invert(1);
}

.uk-padding-left {
    padding-left: 10px;
}

ul.uk-ouendan-menu li.uk-nav {
    background-color: #40abe3 !important;
}
.uk-ouendan-menu li a {
    color: #ffffff !important;
    background-color: #40abe3 !important;
}
.uk-ouendan-menu li a::after {
    filter: brightness(0) invert(1);
}
.facebook-responsive-container {
    padding: 5px;
    background-color: white;
    border-radius: 10px;
}
