@charset "UTF-8";

/*
Template: swell
Theme Name: SWELL CHILD
Theme URI: https://swell-theme.com/
Description: SWELLの子テーマ
Version: 1.0.0
Author: LOOS WEB STUDIO
Author URI: https://loos-web-studio.com/

License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ==================================================
   GOOGLE FONTS
================================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');


/* ==================================================
   FONT / BASE
================================================== */

/* 全体 */
body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: .03em;
    line-height: 1.9;
}

/* 英字・タイトル系 */
.c-pageTitle,
.c-postTitle,
.p-pageTitle,
.p-postList__title,
.en {
    font-family: "Outfit", sans-serif !important;
}

/* 固定ページタイトル */
.c-pageTitle {
    text-align: right;
    font-size: 48px;
}


/* ==================================================
   スマホ：見出しサイズ
================================================== */

@media screen and (max-width: 767px) {

    /* H1 */
    .post_content h1,
    .post_content h1 * {
        font-size: 35px !important;
    }

    /* H2 */
    .post_content h2,
    .post_content h2 * {
        font-size: 30px !important;
    }

    /* H5 */
    .post_content h5,
    .post_content h5 * {
        font-size: 15px !important;
    }
}


/* ==================================================
   HEADER
================================================== */

/* PCの通常グローバルナビを非表示 */
@media screen and (min-width: 960px) {

    #gnav {
        display: none !important;
    }

}


/* ==================================================
   MENU BUTTON
   PCでもスマホ用MENUボタンを表示
================================================== */

@media screen and (min-width: 960px) {

    .l-header__menuBtn {
        display: block !important;
        position: fixed !important;
        top: 40px;
        right: 15px;
        width: 72px;
        height: 72px;
        background: #fff;
        border-radius: 50%;
        z-index: 9999;
    }

    /* PCでもメニューモーダルを使用 */
    .p-spMenu {
        display: block !important;
    }

    /* 開いたメニューの横幅 */
    .p-spMenu__inner {
        max-width: 25%;
    }

}


/* ==================================================
   MENU BUTTON：閉じている時
================================================== */

/* SOILのマークを表示 */
[data-spmenu="closed"] .l-header__menuBtn {
    background-image: url('https://soilandco.or.jp/wp-content/uploads/2026/05/moti-hu.png') !important;
    background-size: 42px auto !important;
    background-repeat: no-repeat !important;
    background-position: center 20px !important;
}


/* MENU文字 */
.l-header__menuBtn .c-iconBtn__label {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    font-size: 10px;
    letter-spacing: .12em;
    color: #5eb284;
}


/* 閉じている時は元のハンバーガー線を非表示 */
[data-spmenu="closed"] .-menuBtn .c-iconBtn__icon,
[data-spmenu="closed"] .-menuBtn .c-iconBtn__icon::before,
[data-spmenu="closed"] .-menuBtn .c-iconBtn__icon::after {
    background: transparent !important;
    background-image: none !important;
}


/* ==================================================
   MENU BUTTON：開いている時
================================================== */

.-menuBtn .c-iconBtn__icon {
    position: relative;
    width: 42px;
    height: 22px;
    background: transparent !important;
}


/* × の基本設定 */
.-menuBtn .c-iconBtn__icon::before,
.-menuBtn .c-iconBtn__icon::after {
    content: '';
    position: absolute;
    right: 6px;
    height: 2px;
    transition: .25s;
}


/* × 1本目 */
[data-spmenu="opened"] .-menuBtn .c-iconBtn__icon::before {
    width: 30px;
    top: 10px;
    transform: rotate(45deg);
    background: #5eb284 !important;
}


/* × 2本目 */
[data-spmenu="opened"] .-menuBtn .c-iconBtn__icon::after {
    width: 30px;
    top: 10px;
    transform: rotate(-45deg);
    background: #5eb284 !important;
}


/* ==================================================
   メニューモーダル
================================================== */

/*
SWELL標準で上側に表示される
MENU
ABOUT US
SERVICE
WORKS
CONTACT
を非表示
*/

.c-widget__title.-spmenu,
.p-spMenu__nav {
    display: none !important;
}


/* ==================================================
   NEWS
================================================== */

/* NEWS一覧 */
.p-postList {
    display: block;
}


/* 各記事 */
.p-postList__item {
    border-top: 2px solid #000 !important;
    background: transparent !important;
    transition:
        background .3s ease,
        color .3s ease;
}


/* 最後の記事だけ下線 */
.p-postList__item:last-child {
    border-bottom: 2px solid #000 !important;
}


/* 通常時の文字色 */
.p-postList__item,
.p-postList__item a,
.p-postList__item span,
.p-postList__item time,
.p-postList__item .p-postList__title {
    color: #333 !important;
}


/* ホバー時：背景を黒 */
.p-postList__item:hover {
    background: #000 !important;
}


/* ホバー時：文字を白 */
.p-postList__item:hover,
.p-postList__item:hover a,
.p-postList__item:hover span,
.p-postList__item:hover time,
.p-postList__item:hover .p-postList__title {
    color: #fff !important;
}


/* NEWS一覧：カテゴリ非表示 */
.p-postList__cat {
    display: none !important;
}


/* ==================================================
   NEWS：スマホ
================================================== */

@media screen and (max-width: 767px) {

    .p-postList__item .p-postList__title,
    .p-postList__item .p-postList__title * {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

}


/* ==================================================
   WORKS - note / Feedzy
================================================== */


/* 記事一覧：PC 3列 */
.feedzy-rss ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px 30px;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: start;
}


/* 各記事 */
.feedzy-rss .rss_item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    list-style: none !important;
}


/* サムネイル */
.feedzy-rss .rss_item .rss_image {
    float: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
}


/* サムネイル画像 */
.feedzy-rss .rss_item .rss_image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}


/* 記事タイトル */
.feedzy-rss .rss_item .title {
    display: block;
    margin: 0 0 8px;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
}


/* タイトルリンク */
.feedzy-rss .rss_item .title a {
    color: #584540 !important;
    text-decoration: none !important;
    transition: opacity .25s ease;
}


/* タイトル：ホバー */
.feedzy-rss .rss_item .title a:hover {
    opacity: .6;
}


/* 日付 */
.feedzy-rss .rss_item .rss_meta,
.feedzy-rss .rss_item small {
    display: block;
    margin-top: 8px;
    color: #999 !important;
    font-size: 12px !important;
    font-style: normal !important;
}


/* Feedzyの日付周辺 */
.feedzy-rss .rss_item .rss_content {
    color: #999;
}


/* ==================================================
   WORKS：タブレット
================================================== */

@media screen and (max-width: 959px) {

    .feedzy-rss ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 24px;
    }

}


/* ==================================================
   WORKS：スマホ
================================================== */

@media screen and (max-width: 600px) {

    .feedzy-rss ul {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .feedzy-rss .rss_item .title {
        font-size: 16px !important;
    }

}