.p-section-front-page-content {
    padding: 0;
}

.l-footer {
    border-top: 0;
}

.mt0 {
    margin-top: 0px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mb0 {
    margin-bottom: 0px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.l-header {
    position: fixed;
    width: 100%;
}


.main_bloken {
    padding: 0;
}

.main_bloken .smb-section__body {
    margin-top: 20px;
}

.link_btn .smb-btn {
    display: inline-block;
    width: 350px;
    text-align: center;
    padding: 10px 40px;
    border-radius: 20px;
}

.main_bloken .smb-section-break-the-grid__content {
    padding: 40px 20px;
}

.contact_btn .wp-block-snow-monkey-blocks-btn a {
    width: 350px !important;
    display: inline-block;
    text-align: center;
}

.fv_img {
    display: block;
    max-width: 320px;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -63%) !important;
}

.nolink .smb-btn {
    pointer-events: none;
    background-color: #6a6a6a;
}



@media (min-width: 1024px) {
    .ok_nav a span {
        border: 1px solid #009d91;
        border-radius: 50px;
        box-sizing: border-box;
        padding: 8px 40px !important;
        color: #fff;
        background-color: #009d91;
        transition: all 0.5s;
    }

    .ok_nav a span:hover {
        color: #009d91;
        background-color: #fff;
    }
}




/* about */
.about_table,
.about_box,
.contact_box,
.ok_box {
    background-color: #fff;
    border: 1px solid #009d91;
    border-radius: 5px;
    padding: 40px;
}

.about_table .c-row {
    margin-bottom: 10px;
}

/* .about_table .c-row__col {
    padding: 10px;
} */

/* contact */
input,
textarea {
    border: 1px solid #d2d2d2 !important;
}

.smf-item__col--label {
    margin: 20px 0 10px;
}

.contact_box {
    background-color: #fff;
    padding: 40px 40px;
}

.smf-action {
    text-align: center;
    margin-top: 30px;
}

.smf-action button {
    background-color: #009d91 !important;
    border-radius: 20px !important;
    padding: 10px 20px !important;
    color: #fff !important;
    min-width: 300px;
}

.sme-badge {
    border-radius: 10px;
    margin-left: 10px;
}

/* 投稿 */
.post_box {
    padding: 40px 0;
}

.post-template-blank-content {
    background-color: #E4FFFE;
}

.blog .l-container {
    background-color: #e4fffe;
}

.smf-button-control__control {
    background-image: none !important;
    background-color: #009d91 !important;
}

.other_fv {
    color: #fff;
    font-weight: bold;
}



@media (max-width: 640px) {
    .link_btn .smb-btn {
        width: 100% !important;
        max-width: 100% !important;
    }

    .about_table .c-row .c-row__col:nth-of-type(1) {
        background-color: #d3fffe;
        padding: 10px 30px;
    }

    .c-drawer__menu li {
        font-size: 18px;
        padding: 10px 0 !important;
    }

    .smf-action button {
        min-width: 100%;
    }

    .fv_img {
        max-width: 220px;
    }
}

/* アニメーション */
/* 全体のオーバーレイ */
/* ▼ セクション（ファーストビュー内で完結） */
#confetti-overlay {
    position: relative;
    /* ← fixedを廃止 */
    width: 100%;
    height: 100vh;
    /* 画面高ぶんだけ表示 */
    background: white;
    /* 最初は白で覆う */
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    /* ページ内の他要素に応じて調整 */
}

/* 紙吹雪レイヤー */
#confetti-container {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

/* 紙吹雪：四角形 */
.confetti {
    position: absolute;
    width: 8px;
    height: 8px;
    opacity: 0.9;
    animation: fall linear forwards;
}

@keyframes fall {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    100% {
        transform: translateY(100vh) rotate(720deg);
    }
}

/* ロゴ（最前面＆中央固定） */
#logo_animation {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* 中央 */
    z-index: 2;
    /* 紙吹雪より前面 */
}

#logo_animation img {
    width: 320px;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 1.5s ease, transform 1.5s ease;
}

#logo_animation.visible img {
    opacity: 1;
    /* フェードイン後も維持（消さない） */
    transform: scale(1);
}

/* フェードユーティリティ（ロゴには付けない） */
.is-fadeout {
    opacity: 0;
    transition: opacity 1s ease;
}

/* 背景だけ透明化して紙吹雪が消えたら下のページを見せる */
.overlay-clear {
    background: transparent !important;
    transition: background-color 1s ease;
}

@media (max-width: 640px) {
    #logo_animation img {
        width: 200px;
    }
}

.home .l-header {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.home .l-header.visible {
    opacity: 1;
}