/* Beauty5 Custom Styles - LOGZA WEB DESIGN */

/* フォント設定 - Noto Serif JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/* すべての要素にNoto Serif JPを適用 */
* {
    font-family: "Noto Serif JP", serif;
}

body,
h1, h2, h3, h4, h5, h6,
p, span, a, li, div,
.elementor-widget,
.sc_layouts_menu_nav,
.footer-menu-9847,
.footer-info-9847,
input, textarea, button {
    font-family: "Noto Serif JP", serif;
}

/* ヘッダーロゴ：横長表示（header-logo-white.svg 360×76） */
.sc_layouts_logo .logo_image,
.sc_layouts_logo img[src*="header-logo-white"],
.sc_layouts_item .logo_image,
.sc_layouts_item img[src*="header-logo-white"],
.elementor-element-8b0615a .logo_image,
.elementor-element-dda24a6 .logo_image,
.elementor-element-b44a468 .logo_image {
    height: 44px;
    width: auto;
    max-height: 52px;
    min-width: 0;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 767px) {
    .sc_layouts_logo .logo_image,
    .sc_layouts_logo img[src*="header-logo-white"],
    .sc_layouts_item .logo_image,
    .elementor-element-8b0615a .logo_image {
        max-height: 45px;
        height: 40px;
    }
}

/* Elementorのグローバルタイポグラフィをオーバーライド */
:root {
    --e-global-typography-primary-font-family: "Noto Serif JP";
    --e-global-typography-secondary-font-family: "Noto Serif JP";
    --e-global-typography-text-font-family: "Noto Serif JP";
    --e-global-typography-accent-font-family: "Noto Serif JP";
}

/* ヒーロー動画セクション - 新構造 */
.hero-video-wrapper-9847 {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.hero-bg-video-9847 {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
}

/* 動画のネイティブコントロール・再生マーク・再生バーを非表示（restaurant1同様・ラッパー内のvideoを対象） */
.hero-video-wrapper-9847 video::-webkit-media-controls {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-enclosure {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-panel {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-play-button {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-start-playback-button {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-timeline {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-current-time-display,
.hero-video-wrapper-9847 video::-webkit-media-controls-time-remaining-display {
    display: none !important;
}
.hero-video-wrapper-9847 video::-webkit-media-controls-mute-button,
.hero-video-wrapper-9847 video::-webkit-media-controls-fullscreen-button {
    display: none !important;
}
.hero-video-wrapper-9847 video[controls] {
    pointer-events: none;
}
.hero-video-wrapper-9847 video {
    -webkit-appearance: none;
    appearance: none;
}

.hero-video-desktop-9847 {
    display: block;
}

.hero-video-mobile-9847 {
    display: none;
}

.hero-video-overlay-9847 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 2;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


.hero-text-content-9847 {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 80px 50px;
    z-index: 3;
}

.hero-text-wrapper-9847 {
    text-align: right;
    color: #ffffff;
}

.hero-main-title-9847 {
    font-size: 120px;
    font-weight: 200;
    line-height: 1.2;
    margin: 0 0 20px 0;
    letter-spacing: -3px;
    color: #ffffff;
}

.hero-line-spacer-9847 {
    height: 40px;
}

.hero-sub-text-9847 {
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.hero-secondary-title-9847 {
    font-size: 120px;
    font-weight: 200;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -3px;
    color: #ffffff;
}

/* タブレット対応 */
@media screen and (max-width: 1024px) {
    .hero-main-title-9847,
    .hero-secondary-title-9847 {
        font-size: 80px;
    }
    
    .hero-sub-text-9847 {
        font-size: 14px;
    }
    
    .hero-text-content-9847 {
        padding: 60px 40px;
    }
}

/* モバイル対応：Canvas は PC では非表示 */
.hero-canvas-mobile-9847 {
    display: none;
}

@media screen and (max-width: 768px) {
    .hero-video-wrapper-9847 {
        overflow: hidden;
    }
    
    .hero-bg-video-9847 {
        overflow: hidden;
        height: 100%;
    }
    
    .hero-video-desktop-9847 {
        display: none;
    }
    
    .hero-video-mobile-9847 {
        display: block;
    }
    
    /* 動画の上に Canvas を重ねて再生バーを隠す（動画は隠さない＝再生は維持） */
    .hero-canvas-mobile-9847 {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none;
    }
    
    .hero-main-title-9847,
    .hero-secondary-title-9847 {
        font-size: 43px;
        letter-spacing: -2px;
    }
    
    .hero-sub-text-9847 {
        font-size: 13px;
    }
    
    .hero-text-content-9847 {
        top: 50%;
        bottom: auto;
        left: 0;
        right: 0;
        padding: 40px 20px;
        transform: translateY(-50%);
    }
    
    .hero-text-wrapper-9847 {
        text-align: center;
    }
}

/* ポップアップを非表示 */
.adp-popup,
.adp-popup-overlay {
    display: none;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

/* フッターの地図エリア */
.footer-map-section-9847 {
    width: 100%;
    padding: 0;
    background-color: #f8f8f8;
}

.footer-map-container-9847 {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.footer-map-wrapper-9847 {
    width: 100%;
    height: 450px;
    border: none;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
}

.footer-map-wrapper-9847 iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* フッターメニューのカスタマイズ */
.footer-content-section-9847 {
    background-color: #2c2c2c;
    color: #ffffff;
    padding: 60px 0 40px;
}

.footer-content-container-9847 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-columns-9847 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
}

.footer-column-9847 {
    color: #ffffff;
}

.footer-column-title-9847 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.footer-menu-9847 {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu-9847 li {
    margin-bottom: 12px;
}

.footer-menu-9847 a {
    color: #cccccc;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 14px;
    display: inline-block;
}

.footer-menu-9847 a:hover {
    color: #ffffff;
    padding-left: 5px;
}

.footer-info-9847 p {
    color: #cccccc;
    line-height: 1.8;
    margin: 8px 0;
    font-size: 14px;
}

.footer-info-9847 a {
    color: #cccccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-info-9847 a:hover {
    color: #ffffff;
}

/* フッター下部（コピーライト） */
.footer-bottom-9847 {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 30px;
	text-align: center;
}

.footer-copyright-9847 {
	color: #999999;
	font-size: 14px;
	margin: 0;
}

/* お問い合わせCTAセクション */
.contact-cta-section-9847 {
	text-align: center;
	padding: 20px;
}

.contact-cta-text-9847 {
	font-size: 16px;
	line-height: 1.8;
	color: #666666;
	margin-bottom: 30px;
}

.contact-cta-button-wrap-9847 {
	display: flex;
	justify-content: center;
}

.contact-cta-button-9847 {
	display: inline-block;
	padding: 18px 50px;
	background-color: #265577;
	color: #ffffff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.contact-cta-button-9847:hover {
	background-color: #1d4059;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(38, 85, 119, 0.3);
}

/* タブレット対応 */
@media screen and (max-width: 1024px) {
    .footer-columns-9847 {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .footer-map-wrapper-9847 {
        height: 400px;
    }
}

/* モバイル対応 */
@media screen and (max-width: 768px) {
	.footer-map-wrapper-9847 {
		height: 300px;
	}
	
	.footer-content-section-9847 {
		padding: 40px 0 30px;
	}
	
	.footer-columns-9847 {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.footer-column-9847 {
		text-align: center;
	}
	
	.footer-menu-9847 a:hover {
		padding-left: 0;
	}
	
	.contact-cta-text-9847 {
		font-size: 14px;
		margin-bottom: 20px;
	}
	
	.contact-cta-button-9847 {
		padding: 15px 40px;
		font-size: 14px;
	}
}

@media screen and (max-width: 480px) {
    .footer-map-wrapper-9847 {
        height: 250px;
        border-radius: 0;
    }
    
    .footer-column-title-9847 {
        font-size: 16px;
    }
    
    .footer-menu-9847 a,
    .footer-info-9847 p {
        font-size: 13px;
    }
}
