@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500&display=swap');


.shop-item {
    /* ジャンプした時に、画面上部から100px空けた位置で止まる */
    scroll-margin-top: 100px; 
}


/* --- 基本設定 --- */
.shop-container {
    max-width: 1300px;
    margin: 100px auto;
    padding: 0 40px;
}

.shop-item {
    padding-top: 50px;
    display: flex;
    align-items: center;
    gap: 80px;
    margin-bottom: 200px;
}

.shop-item:nth-child(even) { flex-direction: row-reverse; }

/* --- 画像エリア --- */
.shop-image {
    flex: 1.3;
    position: relative;
    height: 100vh;
    max-height: 1500px; 
    width: 100%;
    overflow: hidden;
    /* セクション登場時のアニメーション（クリップ） */
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.2s cubic-bezier(0.19, 1, 0.22, 1);
}

.shop-item:nth-child(even) .shop-image {
    clip-path: inset(0 0 0 100%);
}

.shop-item.is-visible .shop-image {
    clip-path: inset(0 0 0 0);
}

.slider-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #eee; /* 読み込み前の下地 */
}

.slider-wrapper img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    /* ズームを削除し、不透明度(opacity)の変化のみに限定 */
    transition: opacity 1.2s ease-in-out;
    z-index: 1;
}

/* 表示中の画像 */
.slider-wrapper img.active {
    opacity: 1;
    z-index: 2;
}

/* --- テキストエリア --- */

.tenpo-logo{
	max-width: 250px;
	margin: 0 auto;
}
.tenpo-logo02{
	max-width: 150px;
	margin: 0 auto;
}

.shop-text {
    flex: 1;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease 0.5s;
}

.shop-item.is-visible .shop-text {
    opacity: 1;
    transform: translateY(0);
}

.shop-text h1 {
    font-size: 2.5rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #2A1F1A;
    border-bottom: 3px solid #e17b34;
    padding-bottom: 5px;
    display: inline-block;
    margin-bottom: 10px;
}

.shop-text h2 {
    font-size: 2rem; 
    color: #a67c52;
    margin-bottom: 25px;
    letter-spacing: 0.1em;
}

.shop-text p {
    text-align: left;
    font-size: 1.5rem; /* 少し読みやすく調整 */
    line-height: 2.2;
    color: #444;
}

/* --- マップ・その他 --- */
.info-box { margin-top: 30px; }
iframe {
    width: 100%;
    height: 220px;
    filter: sepia(15%) contrast(90%);
    margin-bottom: 15px;
}
.address-text { 
    font-size: 1.5rem !important; 
    color: #777 !important; 
    line-height: 1.6 !important; 
}

/* --- レスポンシブ --- */
@media (max-width: 1000px) {
    .shop-container { padding: 0 20px; margin: 50px auto; }
    
    .shop-item, .shop-item:nth-child(even) { 
        flex-direction: column; 
        gap: 20px; 
        margin-bottom: 80px; 
    }
    
    .shop-image { 
        flex: none;
        height: 350px; 
        clip-path: none; 
        opacity: 1;
    }

    .shop-item:nth-child(even) .shop-image { clip-path: none; }

    .shop-text { width: 100%; opacity: 1; transform: none; }
    .shop-text h1 { font-size: 1.5rem; }
    .shop-text h2 { font-size: 1.1rem; }
    .shop-text p { font-size: 1.0rem; line-height: 1.8; }
}