@charset "UTF-8";

/* CSS Document */

body {
    position: relative;
}
p{            word-break: keep-all;
    overflow-wrap: break-word;}

main{width: 100%;
}


/*メイン写真 ここから************************************************************************  */
    .main_img {
        /* max-width: 1200px; */
        margin: 0 auto;
        position: relative;
    }
    .slideBox {
        position: relative;
        height: 100vh;
        }
    .slideBox picture {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 2s ease-in-out; /* フェードアニメーション */
        z-index: 1; /* 全画像を重ねて配置 */
    }
    
    .slideBox picture.active {
        opacity: 1;
        z-index: 2; /* 表示中の画像を最前面に */
    }
    
    .slideBox img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* 縦横比を維持しつつ、スライドボックスに収める */
        }
/*メイン写真 ここまで************************************************************************  */





/* 店内写真 ここから*************************************************************************/
.gallery-container{display: grid;grid-template-columns: 4fr 1fr;margin:auto;}
    /* メインの拡大画像エリア */
    .main-display {
        position: relative;
        width: 100%;
        max-height: 600px;
        height: auto;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .main-display img {
        width: 100%;
        height: auto;
        object-fit: contain;
        transition: transform 0.3s ease;
    }
    .main-display .alt-text {
        width: 500px;
        text-align: center;
        font-weight: bold;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        color: #fff;
        background-color: rgba(0, 0, 0, 0.6);
        padding: 10px 20px;
        font-size: 1.5rem;
        border-radius: 5px;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    /* サムネイルエリア */
    .thumbnail-container {
        display: flex;
        flex-direction: column;
        overflow-x: auto;
        gap: 10px;
        padding: 20px;
        justify-content: center;
    }
    .thumbnail-container img {
        width: 120px;
        height: auto;
        cursor: pointer;
        transition: transform 0.3s ease;
    }

    /* PCでのホバー時のスタイル */
    .thumbnail-container img:hover {
        transform: scale(1.1);
    }
    .thumbnail-container img.active {
        transform: scale(1.2);
        border: 2px solid #333;
    }

    /* スマホ用レイアウト */
    @media screen and (max-width: 768px) {
        .gallery-container{grid-template-columns: 1fr}
        .main-display .alt-text {
        opacity: 1;
        font-size: 1.2rem;
        }
        .thumbnail-container {
            height: 120px;
        overflow-x: scroll;
        flex-direction: row;
        justify-content: flex-start;
        padding: 10px;
        }
    }


/* 店内写真 ここまで*************************************************************************/



/* プロフィール ここから   profile *************************************************************************/
#profile p{place-content: center;}
#profile {
    & img {
    max-width: 300px;
    }
    }

/* アクセス ここから　access map
　*************************************************************************/
#access p{margin-inline: auto;padding: 20px;}
#access p span{font-weight: bold;}
        .map{width: 100%; aspect-ratio: 16/9;}


/* アクセス/プロフィールは 共通あり*************************************************************************/
    .grid2_inner{
    display: grid; grid-template-columns:1fr 1fr;
    margin-top: 2rem;
    }


        @media screen and (max-width: 500px) {
            .grid2_inner{grid-template-columns: 1fr;
            }
            section h1{font-size: 2rem;text-wrap: nowrap;text-align: center;}
            section h2{font-size: 1.5rem;}

        #profile {
            & img {
                display: none;
            }
            }


        }


        /* #special ここから 髪質改善*************************************************************************/

/* ▼ SPECIALセクション：NEWS風に統一 */

#special {
background: #f9f9f9;
padding: 60px 20px;
text-align: center;
}

#special h2 {
font-size: 2rem;
font-weight: bold;
margin-bottom: 15px;
}

.special_item {
max-width: 720px;
margin: 0 auto 40px auto;
padding: 20px;
border-bottom: 1px solid #ddd;
background: #fff;
text-align: left;
}

.special_item a {
display: block;
text-decoration: none;
color: #222;
}

.special_title {
font-size: 1.2rem;
font-weight: bold;
margin-bottom: 10px;
}

.special_meta {
font-size: 0.85rem;
color: #999;
margin-bottom: 10px;
}

.special_cat {
background: #f0f0f0;
padding: 2px 6px;
border-radius: 4px;
font-size: 0.75rem;
color: #333;
margin-left: 8px;
}

.special_sub {
display: flex;
gap: 10px;
margin-top: 10px;
}

.special_sub img {
width: 48%;
height: auto;
object-fit: cover;
border-radius: 8px;
}

/* VIEW MORE ボタン */
#special .view-more {
margin-top: 30px;
}

#special .view-more a {
display: inline-block;
background-color: #222;
color: #fff;
padding: 10px 25px;
border-radius: 5px;
text-decoration: none;
}

#special .view-more a:hover {
background-color: #444;
}


        /* #louveredo ここから 復元ドライヤー*************************************************************************/


#louveredo button{background-color: coral;}



        /* #kessai ここから 決済方法*************************************************************************/
        /* クリック可能なpタグの装飾 */
    .kessai-img img{max-width: 500px;}
        .clickable {
            cursor: pointer; /* カーソルをポインターに */
            padding: 10px;
            font-weight: bold;

        }

        @media screen and (min-width: 501px) {
            .kessai-img ul{  display: flex }
            .clickable{display: none;}
        }
        @media screen and (max-width: 500px) {
        /* 初期状態で画像を非表示 */
        .hidden-image {
            display: none;
        }
        }


        /* news */
/* NEWSセクション */
.news-section {
background: #f9f9f9;
padding: 60px 20px;
text-align: center;
}

.news-section .section-title {
font-size: 2rem;
margin-bottom: 15px;
font-weight: 700;
}

.news-description {
font-size: 1rem;
color: #666;
margin-bottom: 30px;
}

/* ニュースリスト */
.news-list {
list-style: none;
padding: 0;
margin: 0 auto;
max-width: 720px;
}

.news-item {
border-bottom: 1px solid #ddd;
padding: 18px 10px;
transition: background 0.3s;
}

.news-item:hover {
background: #f1f1f1;
}

.news-link {
text-decoration: none;
display: block;
color: #222;
}

.news-meta {
display: flex;
justify-content: space-between;
align-items: baseline;
flex-wrap: wrap;
gap: 10px;
}

.news-title {
font-weight: 600;
font-size: 1.1rem;
flex: 1;
text-align: left;
}

.news-date {
font-size: 0.85rem;
color: #999;
white-space: nowrap;
}

/* もっと見るボタン */
.news-more {
margin-top: 30px;
}

.news-more-btn {
display: inline-block;
background-color: #222;
color: #fff;
padding: 10px 25px;
border-radius: 5px;
text-decoration: none;
transition: background 0.3s ease;
}

.news-more-btn:hover {
background-color: #444;
}


    /* インフォメーション */

    /* INFORMATIONセクションの共通リンク配置 */
    .info-links {
    text-align: center;
    margin-bottom: 30px;
    }

    /* キャンセルポリシー テキストリンク */
    .cancel-link {
    font-size: 1.1rem;
    color: #242422;
    text-decoration: underline;
    font-weight: bold;
    transition: color 0.3s ease;
    }

    .cancel-link:hover {
    color: #9e837a; /* ホバー時にカラー変化 */
    }

    /* LINEバナー調整（小さめに） */
    .line-banner {
    max-width: 500;
    width: 100%;
    height: auto;
    margin-inline: auto;
    display: block;
    }
