/*
Theme Name: 株式会社skip
Theme URI: https://skip-service.com
Template: arkhe
Author: 株式会社skip
Author URI: https://skip-service.com
Description: A very simple theme for production templates. Customize as you like.
Tags: two-columns,one-column,right-sidebar,custom-colors,custom-menu,editor-style,theme-options,block-styles,wide-blocks
Version: 1.00.0.342
Updated: 2025-10-21

*/

h1,
h2,
h3,
h4,
h5,
li,
p {
    font-optical-sizing: auto;
    font-style: normal;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 600 !important;
}

li,
p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong {
    color: #FC5185;
}

strong {
    font-size: 110% !important;
}

p strong {
    color: #FC5185;
}

@media (min-width: 768px) {
    .br_1 {
        display: none;
    }
}

@media (max-width: 480px) {
    h3 {
        font-size: 1.3em;
    }

    .skip-ad-boxup .smb-container__body {
        width: 100% !important;
    }
}

.smb-section__divider svg {
    width: initial !important;
}

.skip-ad-box1 .smb-section__divider svg {
    width: 100% !important;
}

/* ---------- ページヘッダー ---------- */
.c-pageTitle__main {
    color: #333;
}

.c-pageTitle__main {
    display: inline-block;
    background-color: #fff;
    color: #333;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 10px 50px;
    border-radius: 50px;
}

.c-pageTitle {
    text-align: center;
    /* 親で中央寄せ */
}

@media (min-width: 1000px) {
    ul.c-gnav {
        width: 97% !important;
    }
}

@media (min-width: 768px) {
    a.contact_button {
        border-radius: 10px !important;
    }

    .c-pageTitle__main {
        text-align: justify;
    }

    /*.p-topArea {
        margin-top: -35px;
    }*/
}

@media (min-width: 768px) {
    .p-breadcrumb__list {
    margin-top: 30px;
}
}

@media (max-width: 680px) {
    .c-pageTitle__main {
        background-color: transparent;
        color: #ffffff;
        font-size: 1.7rem;
        padding: 10px;
    }

    body.single .c-pageTitle__main {
        color: #222;
        font-size: 1.6rem;
    }

    body.single .l-content__body {
        margin: 0.5rem auto;
    }

}


/* ---------- スマホ メインメニュー ---------- */
[data-btns="r-l"] .l-header__body {
    grid-template-columns: var(--ark-searchW) calc(15% - var(--ark-searchW)) 70% calc(15% - var(--ark-drawerW)) var(--ark-drawerW);
}

.p-drawer {
    background: #0c4da2e6;
}

.c-drawerNav {
    border: 0px !important;
}

.c-drawerNav .menu-item {
    border-bottom: 1px dotted #0b2e5c;
}

/* ---------- 見出し ---------- */

.heading_h2 h2 {
    font-size: 2.4rem;
}

h2.smb-section__title strong {
    color: #FC5185;
}

.smb-section__subtitle,
.smb-section__lede-wrapper {
    font-size: 1.4rem;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
}

h3.wp-block-heading {
    position: relative;
    padding: 0.8em 1em 0.8em;
    background: #E7F2F3;
}

h3.wp-block-heading::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px rgb(149, 158, 155);
}

h3.wp-block-heading strong {
    color: #FC5EA1;
}

h2.h2_title1 {
    position: relative;
    background: #dfefff;
    box-shadow: 0px 0px 0px 5px #dfefff;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
    color: #454545;
}

h2.h2_title1:after {
    position: absolute;
    content: '';
    left: -7px;
    top: -7px;
    border-width: 0 0 15px 15px;
    border-style: solid;
    border-color: #fff #fff #a8d4ff;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.smb-step__item__title>span {
    font-size: 1.4rem;
    border-bottom: 1px solid #008B8B;
    color: #008B8B;
}

@media (max-width: 1000px) {
    .heading_h2 h2 {
        font-size: 1.8rem;
    }

    .smb-step__item__title>span {
        font-size: 1.2rem;
    }
}

@media (max-width: 640px) {
    .heading_h2 h2 {
        font-size: 1.6rem;
    }
}

/* ---------- メインメニュー ---------- */

.__mainText {
    color: #fff !important;
}

/* 2段表示を維持しつつ、メニューを等幅表示 */
@media (min-width: 1000px) {

    /* ヘッダー全体を2段表示にする */
    .l-header__body {
        display: flex;
        flex-direction: column;
        /* 縦方向にレイアウトを維持 */
        align-items: center;
    }

    /* 1段目のロゴ部分 */
    .l-header__center {
        max-width: 1200px;
        /* 固定幅1200px */
        width: 100%;
        text-align: left;
        /* 左揃え */
        margin: 0 auto;
        /* 中央揃え */
    }

    /* 2段目のメニュー部分 */
    .l-header__right {
        max-width: 1200px;
        /* 固定幅1200px */
        width: 100%;
        text-align: right;
        /* 右揃えの要素を保持 */
        margin: 0 auto;
        /* 中央揃え */
        background-color: #008b8b;
        padding-top: 5px;
        margin-top: 5px;
        border-radius: 30px;
        margin-bottom: -30px;
        border: 5px solid #fff;
    }

    /* ナビゲーションのラップ（中央揃え、固定幅1200px） */
    .c-gnavWrap {
        width: 1200px;
        /* 固定幅1200px */
        margin: 0 auto;
        /* 中央揃え */
    }

    /* ナビゲーションメニューの等幅表示 */
    .c-gnav {
        display: flex;
        justify-content: space-between;
        /* 各メニューを等間隔に配置 */
        padding: 0;
        margin: 0;
        list-style: none;
        /* リストのデフォルトスタイルを削除 */
        width: 100%;
        /* ナビゲーション全体を100%幅に */
    }

    /* 各メニューアイテムの等幅設定 */
    .c-gnav__li {
        flex: 1;
        /* メニュー項目を等幅に表示 */
        text-align: center;
        /* テキストを中央に配置 */
    }

    /* メニューリンクのスタイル */
    .c-gnav__a {
        display: block;
        padding: 10px 0;
        /* クリックしやすいパディング */
    }

    /* l-header__center の中で logo と header_info を横並びに */
    .l-header__center {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        /* 横幅全体を使用 */
    }

    .header_info {
        width: 530px;
        /* header_info の幅を 700px に設定 */
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-left: 20px;
        /* ロゴとのスペースを確保 */
    }

    .tel_info {
        display: flex;
        flex-direction: column;
        margin-right: 15px;
        /* TEL番号と営業時間を縦並びに */
    }

    .tel_number {
        font-size: 2.05rem;
        /* TEL番号を適度に大きく */
        background-color: transparent;
        /* 背景は無色 */
        font-weight: 600 !important;
        color: #008B8B;
        line-height: 120%;

    }

    .business_hours {
        font-size: 0.7rem;
        /* 営業時間を小さく表示 */
    }

    a.contact_button {
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: auto;
        max-width: 280px;
        padding: 10px 35px;
        font-family: "Noto Sans Japanese";
        text-decoration: none;
        color: #ff8c00;
        line-height: 1.8;
        transition: 0.3s ease-in-out;
        font-weight: 500;
        border: 1px solid #ff8c00;
        font-weight: 700;
        background-color: #ffffffa6;
    }

    a.contact_button:after {
        content: "";
        position: absolute;
        top: 50%;
        bottom: 0;
        right: 1.4rem;
        font-size: 90%;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: right 0.3s;
        width: 6px;
        height: 6px;
        border-top: solid 2px currentColor;
        border-right: solid 2px currentColor;
        transform: translateY(-50%) rotate(45deg);
    }

    a.contact_button:hover {
        background: #ffa500;
        color: #FFF;
        border: 1px solid #ff8c00;
    }

    a.contact_button:hover:after {
        right: 1.1rem;
    }

    ul.c-gnav {
        padding-bottom: 8px;
    }

    ul.c-gnav li {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .c-gnav__li>.c-gnav__a {
        padding: 0px 12px !important;
    }

}

@media (min-width: 1000px) {
    ul.c-gnav li {
        /*    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'ＭＳ Ｐ明朝', 'MS PMincho', serif;*/
        font-size: 1rem !important;
        font-weight: 500;
    }
}

@media (max-width: 999px) {
    .header_info {
        display: none;
    }
}

@media (min-width: 768px) {
    .chukai_menu .__mainText {
        font-size: 0.8rem !important;
        margin-top: -3px;
    }

    .chukai_menu .__subText {
        font-size: 0.5rem;
    }
}

/* ---------- スマホTEL ---------- */
@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
        color: #000;
    }
}

.mainimg_box1 strong {
    font-size: 120%;
    color: #FAEE00;
}

.mainimg_box2 strong {
    color: #FAEE00;
}

/* ------------ 見出しデザイン ------------ */
.heading1 {
    position: relative;
    font-size: 2.4rem;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
}

.heading1::before {
    content: attr(data-number);
    display: block;
    margin-bottom: 30px;
    color: #fc5185;
    font-size: 30px;
}

.heading1::after {
    content: '';
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 20px;
    background-color: #fc5185;
}

h4 {
    color: #333;
    text-shadow: 0 0 5px white;
    padding: 0.9em;
    background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px, #e9f4ff 3px, #e9f4ff 7px);
    background: repeating-linear-gradient(-45deg, #E7F2F3, #E7F2F3 3px, #f0fff0 3px, #f0fff0 7px);
}

.skip_h4_em>em:nth-child(1) {
    background-color: #FCFD6C !important;
    padding: 5px 10px !important;
    font-style: normal !important;
}

@media (max-width: 680px) {
    .skip_h4_em>em:nth-child(1){
        display: block !important;
        text-align: center;
    }
    h4.skip_h4_em{
        padding: 0.9em 0.4em !important;
    }
}

/* ------------ トップページ ------------ */
/*.top_sec1 .smb-section__body {
    background-color: #fff;
    padding: 30px;
    margin-top: -120px;
    border-radius: 20px;
}*/

.top_item11 .wp-image-1625 {
    margin-top: -180px !important;
}

.top_sec1 .fnt_1,
.top_sec1 .fnt_2 {
    font-size: 2rem;
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
}

.top_sec1 .fnt_2 {
    line-height: 140%;
    margin-top: 0px !important;
}

.top_sec2 .fnt_3 {
    text-align: center;
    font-size: 1.3rem;
}

.top_sec2 h2 {
    font-size: 2.2rem !important;
}

.h5_fnt1 {
    line-height: 1.6;
}

/* 先頭数字を四角いボックスとして左に固定 */
.h5_fnt1::first-letter {
    background-color: #008B8B;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: bold;
    float: left;
    /* ← これがポイント！ */
    margin-right: 10px;
    /* 数字と本文の間に余白 */
}

@media (max-width: 680px) {
    .top_sec2 h2 {
        font-size: 1.6rem !important;
    }

    .top_item11 .wp-image-1625 {
        margin-top: -90px !important;
    }

    .n2-ss-slider .n2-ss-text {
        font-size: 1.6rem !important;
    }

    .n2-ss-slider {
        height: 360px;
    }

    .top_sec1 .fnt_1,
    .top_sec1 .fnt_2 {
        font-size: 1.5rem;
    }

    .top_sec2 .fnt_3 {
        font-size: 1.2rem;
    }

    .top_sec2 .fnt_3 {
        text-align: left;
        font-size: 1.2rem;
    }
    .top_sec2 .smb-section__inner>.c-container{
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    .img_box1 img{
        width: 50%;
        margin: auto;
    }
    .item_11 h2.smb-section__title{
        font-size: 1.3rem !important;
    }
}

/* ------------ コンテンツ ------------ */

.stepitem1 .smb-step__item__number {
    display: flex;
    flex-direction: column;
    /* 縦方向に配置 */
    align-items: center;
    justify-content: center;
    font-weight: 400;
    background-color: var(--smb-step--number-background-color);
    border-radius: 100%;
    color: var(--smb-step--number-color);
    height: 50px;
    width: 50px;
    overflow: hidden;
}

.stepitem1 .smb-step__item__number::before {
    content: counter(item);
    counter-increment: item;
    font-size: 1.6em;
    /* 数字を少し大きめに */
    line-height: 1;
    margin-bottom: -8px !important;
}

.stepitem1 .smb-step__item__number::after {
    content: "STEP";
    font-size: 1em;
    line-height: 1;
    margin-bottom: 2px;
    /* 数字との間隔 */
    order: -1;
    /* 上に配置 */
}


.pointitem1 .smb-step__item__number {
    display: flex;
    flex-direction: column;
    /* 縦方向に配置 */
    align-items: center;
    justify-content: center;
    font-weight: 400;
    background-color: var(--smb-step--number-background-color);
    border-radius: 100%;
    color: var(--smb-step--number-color);
    height: 50px;
    width: 50px;
    overflow: hidden;
}

.pointitem1 .smb-step__item__number::before {
    content: counter(item);
    counter-increment: item;
    font-size: 1.6em;
    /* 数字を少し大きめに */
    line-height: 1;
    margin-bottom: -8px !important;
}

.pointitem1 .smb-step__item__number::after {
    content: "POINT";
    font-size: 1em;
    line-height: 1;
    margin-bottom: 2px;
    /* 数字との間隔 */
    order: -1;
    /* 上に配置 */
}

p.skip_fnt1 {
    text-align: center;
    font-size: 1.2rem;
    padding: 10px;
    margin: 30px 0;
    background-color: #FCFD8F;
}

p.skip_fnt2 {
    font-size: 1.4rem !important;
    padding: 10px !important;
}

p.skip_fnt3 {
    text-align: center;
    font-size: 1.6rem;
}

p.skip_fnt4 {
    text-align: center;
    font-size: 1.1rem;
}

p.skip_fnt5 {
    font-size: 1.2rem;
}

ul.ul_fnt1 li {
    font-size: 1.2rem;
}

ul.ul_fnt1 li em {
    font-style: normal;
    font-size: 1.1rem !important;
}

/* 少しずらしたボックス */
p.skip_fnt3 {
    margin: 1em auto;
    /* 外側余白 */
    padding: 1em;
    /* 内側余白 */
    background: repeating-linear-gradient(-45deg,
            /* ストライプの角度 */
            #EEFFEF 0 6px,
            /* 薄いグレー、幅6px */
            #fff 6px 12px
            /* 白（#fff）、幅6px */
        );
    max-width: 1100px;
    /* 最大幅 */
}

p.skip_fnt3_1_1 {
    font-size: 1.1rem;
}

p.skip_fnt3_1_1 {
    margin: 1em auto;
    /* 外側余白 */
    padding: 1em;
    /* 内側余白 */
    background: repeating-linear-gradient(-45deg,
            /* ストライプの角度 */
            #EEFFEF 0 6px,
            /* 薄いグレー、幅6px */
            #fff 6px 12px
            /* 白（#fff）、幅6px */
        );
    max-width: 1100px;
    /* 最大幅 */
}

ul.ul_box1 {
    display: flex;
    flex-wrap: wrap;
}

ul.ul_box1 li {
    width: 33.333%;
}

.kadai_box1 {}

p.kadai__p1 {
    background-color: #FCFD6C;
    padding: 10px;
    width: 120px;
    text-align: center;
    margin-bottom: -10px;
    position: relative;
    z-index: 100;
    margin-left: 15px;
    border: 5px solid #fff;
}

p.kadai__p2 {
    background-color: #FCFD6C;
    padding: 10px;
    width: 120px;
    text-align: center;
    margin-bottom: -10px;
    position: relative;
    z-index: 100;
    margin-left: 15px;
    border: 5px solid #fff;
    margin-bottom: -45px;
}

.skip_box1 {
    margin-left: 20px !important;
    background-color: #fff;
}

.top_group1 {
    text-align: center;
}

.top_group1 strong {
    font-size: 2.8rem;
    color: #FC5185;
}

@media (min-width: 768px) {
    p.skip_fnt2 {
        text-align: center;
    }

    .top_group1 {
        padding: 0 50px;
    }
}

@media (max-width: 680px) {
    .wp-block-media-text.is-style-media-round-corner.img_box1 .wp-block-media-text__media img {
        width: 50% !important;
        margin: auto !important;
    }

    .skip_fnt1 {
        text-align: left !important;
    }

    p.skip_fnt1 {
        text-align: left;
        font-size: 1rem;
        padding: 15px;
        margin: 0px;
    }

    p.skip_fnt2 {
        font-size: 1.1rem !important;
    }
    p.skip_fnt3{
        font-size: 1.2rem;
        text-align: left;
    }
    p.skip_fnt4{
        text-align: left;
    }
    p.skip_fnt5 {
        font-size: 1rem;
    }

    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        background-color: #F9FFF8;
        padding-left: 5px;
        padding-right: 5px;
    }

    ul.ul_fnt1 li {
        font-size: 1rem;
    }

    .ulli_box1 ul {
        display: flex;
        flex-wrap: wrap;
    }

    .ulli_box1 ul li {
        width: 100%;
        margin: 3px 0 !important;
    }
    .skip_box1{
        margin-left: 0px !important;
    }
}

/* ------------ ブロック ------------ */
.wp-block-media-text__content {
    margin-top: 0px !important;
}

.vk_balloon_icon:not(:empty) {
    flex-basis: 100px !important;
}

.vk_balloon {
    margin-bottom: 5px !important;
}

.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-inner,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder,
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-iconFeature {
    border-width: 1px !important;
}

.vk_button_link_txt {
    font-family: 'Noto Sans JP', sans-serif;
}

.wp-block-spacer {
    margin: 0px !important;
}

.fukidasi_box1 .smb-balloon__figure {
    height: 100px;
    width: 100px;
}

.fukidasi_box1 p {
    font-size: 1.3rem;
}

.sme-highlighter {
    background-image: linear-gradient(rgba(252, 185, 0, 0.5),
            /* ← 色（ここを変える） */
            rgba(252, 185, 0, 0.5));
    background-repeat: no-repeat;
    background-size: 100% 8px;
    /* ← 高さ（太さ）ここで自由に調整 */
    background-position: 0 100%;
}

@media (min-width: 768px) {
    .vk_balloon_icon_image {
        width: 100px !important;
        height: 100px !important;
    }
}

@media (max-width: 480px) {
    .vk_button_link_txt{
        text-align: left;
    }
    .fukidasi_box1 p {
        font-size: 1rem !important;
    }
    .vk_button.vk_button-align-wide, .editor-styles-wrapper .vk_button.vk_button-align-wide {
    max-width: 100% !important;
    }
}

/* 吹き出し全体を「縦方向のflex」に変更して中央寄せ */
.fukidasi_box1.smb-balloon {
    display: flex;
    flex-direction: column; /* 上：画像　下：吹き出し に並べる */
    align-items: center;    /* 中央寄せ */
}

/* 人物（画像）ブロックを中央に */
.fukidasi_box1 .smb-balloon__person {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 var(--smb-balloon--gap) 0; /* 左マージンを消して下だけ余白 */
}

/* 画像サイズ（既に指定済みならそのままでOK） */
.fukidasi_box1 .smb-balloon__figure {
    width: 100px;
    height: 100px;
}

/* 吹き出し本体と三角を中央に */
.fukidasi_box1 .smb-balloon__body {
    position: relative;
    width: 100%;
}

.fukidasi_box1 .smb-balloon__body:after {
    left: 50%;
    transform: translateX(-50%);
}

/* ------------ よくある質問 ------------ */

/* 目次 */
.vk_faq-body {
    --border-color-1: #fafafa;
    /* ストライプ背景の色 */
    --border-color-2: #ddd;
    /* 上下枠線の色 */
    margin: 2em auto;
    /* 外側余白 */
    padding: 2em;
    /* 内側余白 */
    background: linear-gradient(-45deg,
            transparent 25%,
            var(--border-color-1) 25%,
            var(--border-color-1) 50%,
            transparent 50%,
            transparent 75%,
            var(--border-color-1) 75%,
            var(--border-color-1));
    /* ストライプ模様 */
    background-size: 4px 4px;
    /* ストライプのサイズ */
    border-top: 4px double var(--border-color-2);
    /* 上枠線 */
    border-bottom: 4px double var(--border-color-2);
    /* 下枠線 */
    background-clip: padding-box;
    /* 背景をパディング領域まで表示 */
}

.vk_faq {
    border-bottom: 0px !important;
}

.vk_faq-body {
    margin: 1em auto;
}

@media (max-width: 680px) {
    .vk_faq-body {
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* --- 共通 --- */
.mokuji_list1 {
    display: flex;
    flex-wrap: wrap;
    /* ← 2段に必須 */
    gap: 10px;
    list-style: none;
    padding: 10px;
    background-color: #edffff;
    border-radius: 8px;
}

.mokuji_list1 li {
    flex: 1 0 calc(33.333% - 10px);
    /* ← 3列等幅（隙間を引いた幅） */
}

.mokuji_list1 a {
    display: block;
    padding: 12px 15px;
    background: #ffffff;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    border: 1px solid #d0eded;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: 0.25s;
}

/* --- ホバー時 --- */
.mokuji_list1 a:hover {
    background: #c7f2f2;
    border-color: #a4e1e1;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
}

/* --- スマホ時：縦並び --- */
@media (max-width: 768px) {
    .mokuji_list1 {
        flex-direction: column;
    }

    .mokuji_list1 li {
        flex: none;
        width: 100%;
    }
}

/* ------------ プライバシーポリシー ------------ */

.privacy_item1 h2 {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.3rem;
        color: #006b6b;
}

.privacy_item1  .smb-section__contents-wrapper {
    background-color: #ffffffad;
}

@media (min-width: 768px) {
    .privacy_item1 .smb-section__contents-wrapper {
        padding: 50px;
    }

    .privacy_item1 ul,
    .privacy_item1 p {
        margin-left: 35px;
    }

}

@media (max-width: 680px) {
    .privacy_item1 .smb-section__contents-wrapper {
        padding: 15px;
    }
    .privacy_item1 .c-container{
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* ------------ ブログ ------------ */
body.single .c-pageTitle__main {
    padding: 0 0 10px 0 !important;
}

/* ------------ サイドバー ------------ */
#sidebar {
    background-color: #fffcee;
    padding: 30px 20px;
    border-radius: 20px;
}

#sidebar h2 {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #008B8B;
    font-size: 1rem !important;
    font-weight: normal;
    box-shadow: 2px 2px 4px #eee;
    border-radius: 10px;
}

.wp-block-search__label {
    background-color: #fff;
    padding: 10px;
    border-left: 5px solid #008B8B;
    font-size: 1rem !important;
    width: 100%;
    display: block;
    margin-bottom: 10px;
    box-shadow: 2px 2px 4px #eee;
    border-radius: 10px;
}

.menu-item {
    border: 0px !important;
}

.menu {
    border-bottom: 0px !important;
    border-top: 0px !important;
}

.wp-block-latest-posts:not(.is-grid) {
    border-bottom: 0px solid #eee8aa;
}

.wp-block-latest-posts:not(.is-grid) li {
    border-bottom: 1px solid #eee8aa;
}

ul.wp-block-latest-posts__list {
    border-top: 0px !important;
}

.wp-block-latest-posts__list li a {
    text-decoration: none !important;
}

@media (min-width: 768px) {
    #sidebar {
        border: 5px solid #fff;
    }
}

@media (max-width: 680px) {
    #sidebar {
        padding: 15px;
    }
}

/* ------------ 問い合わせフォーム ------------ */

.date-time-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.date-time-row .date-label {
    min-width: 80px;
    font-weight: bold;
}

.date-time-row input {
    margin-right: 10px;
}

.date-time-row input,
.date-time-row select {
    width: 240px;
    padding: 0.8rem;
}

#form1 {
    overflow: hidden;
}

#form1 th,
#form1 td {
    padding: 20px !important;
}

#form1 th {
    width: 40%;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

div.wpcf7 .wpcf7-spinner {
    display: block;
}

#form1 .form_1 {
    background-color: #f39800;
    padding: 10px;
    color: #fff;
    text-align: center !important;
    margin-bottom: 20px;
}

#form1 .color-botton01 {
    width: 220px;
    margin: 20px auto;
    padding: 15px 5px;
    background-color: #f39800;
    text-align: center;
    border-radius: 30px;
}

#form1 .color-botton01 a {
    color: #fff;
}

@media (min-width: 768px) {
    .wpcf7 {
        width: 100% !important;
    }
}

.wpcf7 {
    margin: 0px auto !important;
    padding: 0px !important;
    padding-bottom: 0px !important;
}

span.wpcf7-list-item {
    display: block !important;
    margin: 0 0 0 1em;
    width: 100%;
}

.must {
    color: #fff;
    margin-right: 5px;
    padding: 3px 5px;
    background: #F92931;
    border-radius: 20px;
    font-size: 11px;
}

.free {
    color: #fff;
    margin-right: 5px;
    padding: 3px 5px;
    background: #a9a9a9;
    border-radius: 20px;
    font-size: 11px;
}

input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
}

input.wpcf7-submit {
    padding: 10px 80px;
    background: #ff7b00;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.formb2 {
    margin-top: 10px;
    text-align: center;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
}

.wpcf7-form-control.wpcf7c-btn-confirm {
    width: 350px;
    padding: 15px !important;
    color: #fff;
    font-size: 30px !important;
    font-weight: 600;
    border-radius: 50px !important;
    margin-top: 30px !important;
    background: #ffc86a !important;
    background: -moz-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: -webkit-linear-gradient(top, #ffc86a 0%, #f39800 100%) !important;
    background: linear-gradient(to bottom, #ffc86a 0%, #f39800 100%) !important;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc86a', endColorstr='#f39800', GradientType=0) !important;
}

@media only screen and (max-width:480px) {
    #form1 {
        margin: 0 -10px;
    }

    #form1 th,
    #form1 td {
        width: 100% !important;
        display: block;
        border-top: none;
    }

    #form1 tr:first-child th {
        border-top: 1px solid #ddd;
    }
}

/* ------------ 固定連絡情報 ------------ */

.ad_title1 {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    font-size: 1.8rem;
}

p.ad_addres1 {
    margin-top: 5px !important;
    font-size: 0.8rem;
}

p.ft_tel1 {
    font-size: 2.4rem;
    line-height: 100%;
    font-weight: 600;
    font-family: 'Noto Serif JP', serif;
}

.adtd_2 p,
.adtd_4 p {
    margin: 0px !important;
}

.vk_button .vk_button_link.btn-lg {
    font-size: 1.2rem !important;
    width: 100% !important;
    padding: 20px !important;
    border-radius: 50px !important;
}
.ft_sec12 .vk_button a.vk_button_link.btn:hover {
    background-color: #FC5185 !important;
    color: #fff;
}

.skip-ad-boxup h2 {
    font-size: 1rem;
    background-color: #008B8B;
    padding: 5px;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    position: relative;
    z-index: 3;
    border: 3px solid #fff !important;
}

.skip-ad-boxup img {
    margin-top: -15px;
}

p.ft_tel1 a {
    text-decoration: none;
}

@media (min-width: 1000px) {
    .skip-ad-box1 {
        padding-left: 50px;
        padding-right: 50px;
    }

}

@media (max-width: 680px) {
    .skip-ad-box1 .smb-section__inner>.c-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .skip-ad-boxup h2 {
        border-radius: 10px;
    }
}

/* ------------ フッター ------------ */

.widget_nav_menu .menu-item {
    border-bottom: 0;
}

.widget_nav_menu .menu {
    border-top: 0;
    border-bottom: 0;
}

.footerbox1 .svg-inline--fa {
    position: relative;
    font-size: 0.6rem;
    top: -1px;
}

@media (min-width: 768px) {
    .footerbox1 ul.menu {
        display: flex;
        flex-wrap: wrap;
    }

    .footerbox1 ul.menu li {
        width: 33.333%;
    }
}

@media (max-width: 680px) {
    .ft_group1 {
        text-align: center;
    }
    .ft_sec11 h3.smb-section__title{
        font-size: 1.3rem !important;
    }
    .ft_sec12 h2.wp-block-heading.has-text-align-center{
        font-size: 1.3rem !important;
    }
    .ft_sec12 h2.wp-block-heading{
        font-size: 1.3rem !important;
    }
    .wp-block-cover{
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
}

/* --- SNS icons (TikTok / Twitter) --- */
.sns-icons {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none
}

.sns-icons .sns {
    --size: 36px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    transition: transform .2s ease, opacity .2s ease
}

.sns-icons .sns i {
    font-size: 18px
}

.sns-icons .sns.-tiktok {
    background: #000
}

.sns-icons .sns.-twitter {
    background: #1da1f2
}

.sns-icons .sns:hover {
    transform: translateY(-2px);
    opacity: .9
}


/* = ZF Post Grid (unique prefix: zfpg-) */
.zfpg-grid {
    --zfpg-gap: 16px;
    --zfpg-cols: 3;
    --zfpg-cols-sp: 1;
    display: grid;
    gap: var(--zfpg-gap);
    grid-template-columns: repeat(var(--zfpg-cols), minmax(0, 1fr));
}

@media (max-width:767px) {
    .zfpg-grid {
        grid-template-columns: repeat(var(--zfpg-cols-sp), minmax(0, 1fr));
    }
}

.zfpg-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.zfpg-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
}

.zfpg-link {
    display: block;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

.zfpg-media {
    position: relative;
    aspect-ratio: 16/12;
    overflow: hidden;
}

.zfpg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.zfpg-card:hover .zfpg-img {
    transform: scale(1.05);
}

.zfpg-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .40) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, .45) 100%);
    pointer-events: none;
}

/* 画像上に出す親カテゴリのピル */
.zfpg-cat {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-block;
    background: rgba(0, 0, 0, .7);
    color: #fff;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
}

/* タイトル */
.zfpg-title {
    font-size: clamp(16px, 1.2vw + 12px, 20px);
    font-weight: 700;
    line-height: 1.3;
    padding: 12px 14px 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.9rem;
}

/* サムネが無い場合のプレースホルダ */
.zfpg-img--placeholder {
    background: linear-gradient(135deg, #e8eef6 0%, #f6f8fb 100%);
}

/* ---------- フッター固定メニュー ---------- */
/* --- スマホのみ表示 --- */
@media (max-width: 768px) {

  .footer-fixed-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    border-top: 2px solid #eee;
    z-index: 9999;
    transition: transform 0.3s ease;
  }

  /* 1段目：タイトル */
  .f-fixed-nav-title {
    text-align: center;
    background: #008B8B;
    color: #fff;
    font-size: 15px;
    padding: 8px 0;
    font-weight: bold;
    border-bottom: 1px solid #fff;
  }

  /* 2段目：ボタン3つ並び */
  .f-fixed-nav-contens {
    display: flex;
    width: 100%;
  }

  .f-fixed-nav-contens .nav-item {
    flex: 1;
    text-align: center;
    padding: 10px 5px;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
  }

  .f-fixed-nav-contens .nav-item i {
    display: block;
    font-size: 24px;
    margin-bottom: 3px;
  }
  .f-fixed-nav-contens .svg-inline--fa{
    font-size: 20px;
  }

  .f-fixed-nav-contens span{
        font-size: 24px;
        font-weight: 600;
  }

  /* カラー設定 */
  .nav-item.tel { background: #1e90ff; }
  .nav-item.mail { background: #FD6DCD; }
  .nav-item.line { background: #00C854; }

  /* スクロールで消える動作 */
  .footer-fixed-nav.hide {
    transform: translateY(100%);
  }
}

/* PCでは非表示 */
@media (min-width: 769px) {
  .footer-fixed-nav {
    display: none;
  }
}
