@charset "UTF-8";

/* =====================
   背景
===================== */
body{
    margin: 0;
    background: #420808;
    font-family: 'Noto Sans JP', sans-serif;
}

/* =====================
   中央コンテンツ
===================== */
.article{
    max-width: 500px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #544418; /* 追加 */
}

.section img{
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
}

/* =====================
   PCナビ（右固定）
===================== */
.nav_wrapper{
    position: fixed;
    top: 40%;
    left: 50%;
    margin-left: 280px;
    z-index: 1000;
    width: 400px;
}




.nav_list{
    display:flex;
    flex-direction:column;
    gap:0;
}

.nav_btn{
    display:grid;
    grid-template-columns: 40px auto;
    justify-content:center;
    align-items:center;
    column-gap:12px;

    padding:18px;
    color:#3e3a39;
    text-decoration:none;
    font-weight:700;
    border:none;
    border-radius:0;
    transition: all .3s ease;
}


.nav_btn img{
    width:32px;
    height:32px;
    object-fit:contain;
    flex-shrink:0;
}



.pc_logo{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    margin-left: -700px; /* 画像の左側 */
    z-index: 1000;
}

.pc_logo img{
    width: 400px;
    height: auto;
    display: block;
}

.icon{
    width:32px;
    height:32px;
    display:block;
    background-size:contain;
    background-repeat:no-repeat;
}

.label{
    width:120px;
    text-align:left;
}

/* =====================
   モナコ・吹き出し（PC・スマホ共通）
   応募ボタンには影響させない
===================== */
.cta_top{
    position: relative;
    width: 100%;
    height: 165px;
}

.cta_character{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 135px;
    z-index: 3;
}

.cta_character img{
    display: block;
    width: 100%;
    height: auto;
    cursor: default;
    transform-origin: center bottom;
    animation: monacoBounce 2.6s ease-in-out infinite;
}

@keyframes monacoBounce{
    0%, 100%{ transform: translateY(0) scale(1, 1); }
    12%{ transform: translateY(2px) scale(1.06, 0.94); }
    35%{ transform: translateY(-16px) scale(0.97, 1.04); }
    50%{ transform: translateY(-18px) scale(1, 1); }
    70%{ transform: translateY(0) scale(1.05, 0.95); }
    82%{ transform: translateY(-5px) scale(0.99, 1.01); }
}

.cta_head{
    position: absolute;
    top: 35px;
    left: 145px;
    right: 0;
    z-index: 2;
    box-sizing: border-box;
    padding: 15px 10px;
    background: #fff;
    color: #544418;
    border: 1px solid #e5ded6;
    border-radius: 16px;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 5px 15px rgba(0,0,0,0.12);
    animation: none;
}

.cta_head::before{
    content: "";
    position: absolute;
    left: -13px;
    top: 50%;
    bottom: auto;
    width: 14px;
    height: 18px;
    background: #fff;
    clip-path: polygon(100% 0, 100% 100%, 0 50%);
    transform: translateY(-50%);
}

.cta_free{
    display: block;
    margin-bottom: 5px;
    color: #ff6045;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-shadow:
        2px 2px 0 #fff,
        -2px 2px 0 #fff,
        2px -2px 0 #fff,
        -2px -2px 0 #fff,
        0 4px 7px rgba(45, 40, 25, 0.28);
}

.cta_text{
    display: block;
    color: #544418;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    white-space: nowrap;
}

/* =====================
   フッター
===================== */
.footer{
    text-align:center;
    padding:40px 20px;
    background:#420808;
}

.footer_link{
    display:inline-block;
    padding:10px 24px;
    margin-bottom:20px;

    color:#544418;
    text-decoration:none;
    border:1px solid #544418;

    transition:.3s;
}

.footer_link:hover{
    background:#544418;
    color:#fff;
}

.footer_copy{
    margin:0;
    font-size:12px;
    color:#666;
    line-height:1.6;
}


/* =====================
   PC非表示
===================== */
@media screen and (min-width: 1201px){
	
    .nav_wrapper{
        display:block;
    }

    /* 見出しとボタンの間 */
    .nav_list{
        margin-top:12px;
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    /* ボタン */
    .nav_btn{
        background:#fff;
        border:1px solid #7a4646;
        color:#3e3a39;
    }

    .nav_btn.line,
    .nav_btn.mail{
        background:#fff;
    }

    /* ホバー */
    .nav_btn:hover{
        background:#7a4646;
        color:#fff;
    }
}


/* =====================
   スマホCTA（下固定）
===================== */
@media screen and (max-width: 768px){

	    body{
        padding-bottom: 175px;
    }
	
    .article{
        border: none;
    }
	
    .nav_wrapper{
        position: fixed;
        bottom: 0;
        left: 0;
        top: auto;              /* 追加 */
        transform: none;        /* 追加 */
        margin-left: 0;         /* 追加 */

        width: 100%;
    }



    .nav_list{
        display:flex;
        flex-direction:row;
        width:100%;
    　　border:1px solid #544418;
    }

    .nav_btn{
        flex:1;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:6px;
		padding: 10px;
		 border:none;
    }

.nav_btn + .nav_btn{
    border-left:2px solid #fff;
}

    .icon{
        width:20px;
        flex-shrink:0;
        display:flex;
        justify-content:center;
        align-items:center;
    }

    .nav_btn img{
        width:35px;
        height:18px;
    }

    .label{
        width:auto;
    }
	
.nav_btn.line{
    background:#e5e2df;
}

.nav_btn.mail{
    background:#e5e2df;
}

    /* スマホ用：キャラクターと吹き出しのみ調整 */
    .cta_top{
        height: 110px;
    }

    .cta_character{
        left: 8px;
        bottom: 0;
        width: 95px;
    }

    .cta_head{
        top: px;
        left: 112px;
        right: 12px;
        padding: 11px 8px;
        border-radius: 12px;
    }

    .cta_head::before{
        left: -12px;
        width: 13px;
        height: 16px;
    }

    .cta_free{
        font-size: 18px;
        margin-bottom: 3px;
    }

    .cta_text{
        font-size: clamp(11px, 3.2vw, 13px);
    }
}

/* OS側でアニメーション低減が指定されている場合 */
@media (prefers-reduced-motion: reduce){
    .cta_character img{
        animation: none;
    }
}
