@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Template: cocoon-master
Version: 1.1.5
*/

/************************************
** 1. アピールエリアの完全抹殺と上部引き上げ
************************************/

/* アピールエリアの存在を消す */
#appeal-area, .appeal-area, .appeal-area-in, #appeal-area-in {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    overflow: visible !important; /* バナーは見せる */
}

/* 前後の隙間を消す */
.appeal-area-before, .appeal-area-after, 
#appeal-area-before, #appeal-area-after {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
}

/* ★最重要：アピールエリアの余白をマイナスで相殺する */
#appeal-area, .appeal-area {
    margin-top: -300px !important;
    position: relative !important;
}

/* コンテンツ全体も上に引き上げる */
#content {
    margin-top: -300px !important;
}

.main, .header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/************************************
** 2. ページ基本構成・アニメーション
************************************/

.page .sidebar { display: none; }
.page .main { 
    width: 100% !important; 
    float: none !important;
    animation: fadeUpLoad 1.0s ease-out forwards !important; 
}
.page .entry-title { display: none; }

/* 右下浮動バナー */
.recruit-floating-banner {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    width: 300px !important;
    z-index: 999999 !important;
}
.recruit-floating-banner img {
    width: 100% !important;
    box-shadow: 0 1px 25px rgba(0,0,0,0.3);
    border-radius: 0px;
}

@keyframes fadeUpLoad {
    0% { opacity: 0; transform: translateY(30px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes elegantFadeUp {
    0% { opacity: 0; transform: translateY(20px); filter: blur(5px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes lineExtend {
    0% { width: 0; }
    100% { width: 60px; }
}

/************************************
** 3. 各コンテンツデザイン（PC・共通）
************************************/

/* キャッチコピー */
.elegant-catchphrase { text-align: center; padding: 60px 20px; }
.fade-in-text {
    font-family: "Shippori Mincho", "Yu Mincho", serif;
    font-size: 1.8rem; letter-spacing: 0.15em; line-height: 1.8; opacity: 0;
    animation: elegantFadeUp 2.0s ease-out forwards; animation-delay: 0.5s;
}

/* 会社説明 */
.elegant-description { text-align: center; padding: 0 20px 60px; max-width: 800px; margin: 0 auto; }
.fade-in-desc {
    font-family: "Yu Mincho", serif; font-size: 1.0rem; line-height: 2.2; opacity: 0;
    animation: elegantFadeUp 2.5s ease-out forwards; animation-delay: 1.5s;
}

/* CONTENTS見出し */
.section-title-container { text-align: center; padding: 80px 0 40px; }
.universal-fade-up {
    font-family: "Shippori Mincho", serif; font-size: 2.2rem; letter-spacing: 0.2em;
    position: relative; display: inline-block; opacity: 0;
    animation: elegantFadeUp 1.5s ease-out forwards;
}
.universal-fade-up::after {
    content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
    width: 0; height: 1px; background: #999;
    animation: lineExtend 1.2s ease-out forwards; animation-delay: 0.8s;
}

/* カラム・画像・縦線 */
/* --- カラム・画像・縦線（PC版：短く洗練された印象に） --- */
.wp-block-columns { max-width: 1100px !important; margin: 0 auto !important; gap: 15px !important; }
.wp-block-column { display: flex; flex-direction: column; align-items: center; text-align: center; }
.wp-block-image { margin-bottom: 0 !important; position: relative; }
.wp-block-image img { width: 100% !important; display: block !important; }

.main-contents-area .wp-block-image::after {
    content: ""; position: absolute; 
    bottom: -15px;          /* 画像の下端から20pxはみ出す */
    left: 50%; transform: translateX(-50%);
    width: 1px; 
    height: 45px;           /* 70pxから45pxへ短縮 */
    background-color: #000; z-index: 10;
}

/* タイトル文字 */
.wp-block-column p {
    margin: 10px 0 0 !important; padding: 0 !important;
    font-family: "Shippori Mincho", serif; font-size: 0.95rem;
    min-height: 3em; display: flex; align-items: flex-start; justify-content: center;
    opacity: 0; animation: elegantFadeUp 1.5s ease-out forwards; animation-delay: 1.2s;
}

/* --- 店舗情報3カラム：比率の最適化 --- */
.shop-info-3col {
    display: flex !important;
    max-width: 1000px !important;
    margin: 50px auto !important;
    gap: 40px !important; /* カラム間のゆとり */
    align-items: flex-start;
}

/* 左：ロゴ（幅を小さく固定） */
.shop-info-3col .wp-block-column:nth-child(1) {
    flex: 0 0 100px !important; /* ロゴの幅を100pxに固定 */
    max-width: 100px !important;
}

/* 中央と右：テキスト（残りの幅を等分する） */
.shop-info-3col .wp-block-column:nth-child(2),
.shop-info-3col .wp-block-column:nth-child(3) {
    flex: 1 !important;
    text-align: left;
}

/* テキストの装飾 */
.shop-info-3col p {
    font-family: "Shippori Mincho", serif;
    font-size: 0.85rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 10px !important;
}

/* --- 店舗情報3カラム：比率の最適化 --- */
.shop-info-3col {
    display: flex !important;
    max-width: 1000px !important;
    margin: 50px auto !important;
    gap: 40px !important; /* カラム間のゆとり */
    align-items: flex-start;
}

/* 左：ロゴ（幅を小さく固定） */
.shop-info-3col .wp-block-column:nth-child(1) {
    flex: 0 0 100px !important; /* ロゴの幅を100pxに固定 */
    max-width: 100px !important;
}

/* 中央と右：テキスト（残りの幅を等分する） */
.shop-info-3col .wp-block-column:nth-child(2),
.shop-info-3col .wp-block-column:nth-child(3) {
    flex: 1 !important;
    text-align: left;
}

/* テキストの装飾 */
.shop-info-3col p {
    font-family: "Shippori Mincho", serif;
    font-size: 0.85rem;
    line-height: 1.8;
    color: #444;
    margin-bottom: 10px !important;
}
/* --- 住所エリア全体の装飾 --- */
.shop-address-container {
    padding-left: 20px;
    border-left: 1px solid #ddd; /* 左側に細い線を入れて区切る */
}

/* 「ADDRESS」というラベルを小さく上品に */
.shop-label {
    display: block;
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    color: #999;
    margin-bottom: 10px;
    font-family: 'Helvetica Neue', sans-serif;
}

/* 住所テキスト本体 */
.shop-address-text {
    font-family: "Shippori Mincho", "Yu Mincho", serif !important;
    font-size: 0.9rem !important;
    line-height: 2 !important;
    color: #333 !important;
    margin: 0 0 15px 0 !important;
    letter-spacing: 0.05em;
}

/* Googleマップへのリンクを控えめに */
.map-link {
    font-size: 0.75rem;
    color: #666;
    text-decoration: none;
    border-bottom: 1px solid #ccc;
    padding-bottom: 2px;
    transition: all 0.3s;
}

.map-link:hover {
    color: #000;
    border-color: #000;
}



/************************************
** 4. レスポンシブ（スマホ）
************************************/
@media screen and (max-width: 600px) {
    /* 1. スマホバナー */
    .recruit-floating-banner { width: 140px !important; bottom: 10px !important; right: 10px !important; }

    /* 2. 見出しとカラムの隙間詰め */
    .section-title-container { padding-bottom: 0 !important; margin-bottom: -20px !important; }
    .section-title-container + .wp-block-columns { margin-top: -30px !important; }

    /* 3. カラム横並び維持 */
    .wp-block-columns { 
        display: flex !important; 
        flex-wrap: nowrap !important; 
        gap: 8px !important; 
        padding: 0 10px !important; 
        margin-top: 0 !important;
    }
    .wp-block-column { flex-basis: 33.33% !important; min-width: 0 !important; }

　　/* キャッチコピー：画面幅を突き抜けないように自動調整 */
    .fade-in-text {
        /* 1. 文字サイズをさらに小さく（4vw = 画面幅の4%） */
        font-size: 4vw !important; 
        
        /* 2. 文字間隔をマイナスにして「ギュッ」と凝縮する（★これが効きます） */
        letter-spacing: -0.02em !important; 
        
        /* 3. 絶対に改行させない */
        white-space: nowrap !important;
        
        /* 4. 横幅を「画面内」に限定する */
        display: block !important;
        width: 100% !important;
        max-width: 100vw !important;
        margin: 0 auto !important;
        padding: 0 15px !important; /* 左右に少し余白を設ける */
        box-sizing: border-box !important;
        
        text-align: center !important;
        overflow: hidden; /* 万が一はみ出してもスクロールさせない */
    }

    /* 5. 会社説明：手動改行を優先 */
    .fade-in-desc {
        font-size: 0.85rem !important; 
        line-height: 1.8 !important;
        text-align: center;
        display: block;
        width: 100% !important;
        margin: 0 auto !important;
        word-break: normal; 
        overflow-wrap: normal;
    }
    
    /* 6. 黒線とタイトルのスマホサイズ */
    .universal-fade-up { font-size: 1.6rem !important; }
    .wp-block-column p { font-size: 0.75rem !important; margin-top: 5px !important; }
    .wp-block-column .wp-block-image::after { height: 30px !important; bottom: -15px !important; }
   /* 7. 会社住所 */
	.shop-info-3col {
        flex-direction: column !important; /* 縦に並べる */
        gap: 25px !important;
        padding: 0 20px !important;
    }
    
    .shop-info-3col .wp-block-column:nth-child(1) {
        margin: 0 auto !important; /* ロゴを中央に */
        flex: 0 0 80px !important;
    }
    
    .shop-info-3col .wp-block-column:nth-child(2),
    .shop-info-3col .wp-block-column:nth-child(3) {
        text-align: center; /* スマホでは中央揃えが綺麗 */
    }
	    .shop-address-container {
        padding-left: 0;
        border-left: none; /* スマホでは線を消して中央寄せ */
        text-align: center;
    }

/* モバイルメニューを全画面オーバーレイにする */
#navi-menu-content {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;  /* 画面幅いっぱい */
    height: 100vh !important; /* 画面高さいっぱい */
    background: rgba(0, 0, 0, 0.95) !important; /* 背景色（少し濃いめに） */
    z-index: 999999 !important;
    display: none;
    overflow-y: auto; /* メニューが多い場合にスクロール可能に */
}

/* チェック時に表示 */
#navi-menu-input:checked ~ #navi-menu-content {
    display: block !important;
}

/* メニューリスト全体の調整（左寄せ） */
#navi-menu-content ul {
    margin: 100px 0 0 40px !important; /* 上に余白、左に少し余白 */
    padding: 0 !important;
    text-align: left !important; /* ★左寄せに設定 */
    list-style: none !important;
}

/* メニュー項目（文字）の装飾 */
#navi-menu-content li a {
    color: #fff !important;
    font-size: 24px !important; /* 少し大きめに */
    font-family: "Shippori Mincho", serif; /* サイトの雰囲気に合わせる */
    letter-spacing: 0.1em;
    padding: 15px 0 !important;
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* 控えめな区切り線 */
    width: 80%; /* 線の長さを調整 */
}

/* 閉じるボタン（×）を目立たせる（Cocoon標準のボタン調整） */
.menu-close-button {
    color: #fff !important;
    font-size: 30px !important;
    top: 20px !important;
    right: 20px !important;
}

} /* ←メディアクエリを閉じるカッコはこれ1つだけでOK */
