@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

*/

/* ==========================================
   1. 記事全体の基本フォント・本文設定
========================================== */

/* 基本フォント */
.post_content,
.swell-block-postContent {
    font-family: Noto, "Hiragino Sans", Helvetica, Arial, sans-serif !important;
}

/* 本文の通常の段落（pタグ） */
.post_content > p,
.swell-block-postContent > p {
    color: #333333 !important;
    font-size: 17px !important;
    font-weight: 370 !important;
    line-height: 2 !important;
    padding: 0 !important;
    margin-bottom: 60px !important;
}

@media screen and (max-width: 479px) {
    .post_content > p,
    .swell-block-postContent > p {
        font-size: 16px !important;
        line-height: 30px !important;
        padding: none !important;
    }
}

/* 背景色つきボックス内のテキスト */
.swell-block-box p,
[class*="swell-block-box"] p,
.has-background p,
div[style*="background"] p {
    color: #333333 !important;
    font-size: 17px !important;
    font-weight: 370 !important;
    line-height: 2 !important;
}

/* 吹き出し（SWELL会話ブロック）内のテキスト */
body .swell-balloon p,
body .swell-block-balloon p,
body [class*="swell-block-balloon"] p {
    color: #333333 !important;
    font-size: 17px !important;
    font-weight: 370 !important;
    line-height: 2 !important;
    margin-bottom: 0 !important; /* 吹き出し内は通常マージン不要なことが多いためリセット */
}


/* ==========================================
   2. 見出し（H3）設定
========================================== */

.post_content > h3,
.swell-block-postContent > h3 {
    border-left: 9px solid #4865b2 !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: transparent !important;
    color: #333333 !important;
    font-size: 20px !important;
    font-weight: 550 !important;
    line-height: 40px !important;
    letter-spacing: 1.6px !important;
    padding: 0 15px !important;
    margin: 60px 0px 40px !important;
}

/* スマホ表示（479px以下） */
@media screen and (max-width: 479px) {
    .post_content > h3,
    .swell-block-postContent > h3 {
        font-size: 18px !important;
        margin: 60px 0px 40px !important;
        line-height: 1.5 !important;
    }
}


/* ==========================================
   3. 記事ヘッダー・タイトル（H1）設定
========================================== */

main article header,
.p-articleHead,
.p-articleHead__inner {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

main article h1,
.p-articleHead h1.c-postTitle {
    width: 100% !important;
    text-align: center !important;
    font-family: Noto, "Hiragino Sans", Helvetica, sans-serif !important;
    font-size: 25px !important;
    font-weight: 550 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 1.5em 0 0.5em 0 !important;
    line-height: 2 !important;
}

/* 4. タイトル文字の色を #7B7B7B に完全固定 */
main article h1,
main article h1 *,
.p-articleHead h1.c-postTitle,
.p-articleHead h1.c-postTitle *,
.c-postTitle__main {
    color: #7B7B7B !important;                  
    -webkit-text-fill-color: #7B7B7B !important;
    background-image: none !important;
}

/* スマホ表示時の調整 */
@media screen and (max-width: 768px) {
    main article h1,
    main article h1.c-postTitle {
        font-size: 22px !important;
    }
}


/* ==========================================
   4. ブログカード設定
========================================== */

/* -----ブログカード用CSS (修正版)----- */
a.link-box {
    border: 1px solid #e1e1e1;
    padding: 10px;
    display: flex;
    margin: 0 0 1.5em 0;
    text-decoration: none !important;
    box-sizing: border-box;
}

a.link-box:hover {
    background-color: #f3f3f3;
    transition: background-color .35s;
}

.link-box .img-box {
    width: 25%;
    flex-shrink: 0;
}

.link-box .img-box div {
    min-height: 170px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.link-box .text-box {
    width: 75%;
    padding-left: 20px;
    line-height: 1.7;
    margin: 0;
    box-sizing: border-box;
}

.link-box .text-box .title {
    font-size: 18px;
    font-weight: 600;
    color: #428bca;
    padding: 0;
    margin: 0 0 8px 0;
}

.link-box .text-box .description {
    font-size: 15px;
    color: #333;
    padding: 0;
    margin: 0;
}

@media only screen and (max-width: 479px) {
    .link-box .img-box div {
        min-height: 80px;
    }

    .link-box .text-box {
        padding-left: 10px;
        line-height: 1.5;
    }

    .link-box .text-box .title {
        font-size: 13px;
        margin: 0 0 4px 0;
    }

    .link-box .text-box .description {
        font-size: 11px;
    }
}

/* -----New Share HTML----- */

.link-box {
    border: 1px solid #e1e1e1;
    padding: 10px;
    display: flex;
    margin: 30px;
}

.link-box:hover {
    background-color: #f3f3f3;
    -webkit-transition: background-color .35s;
    transition: background-color .35s;
}

.img-box {
    width: 25%;
    float: left;
}

.img-box div {
    min-height: 170px;
    background-size: cover;
    background-position: center center;
}

.text-box {
    width: 75%;
    float: left;
    padding-left: 20px;
    line-height: 1.7;
    margin: 0;
}

.text-box .title {
    font-size: 18px;
    font-weight: 600;
    color: #428bca;
    padding: 0;
    margin: 0;
}

.text-box .description {
    font-size: 15px;
    color: #333;
    padding: 0;
    margin: 0;
}

@media only screen and (max-width: 479px) {
    .img-box div {
        min-height: 80px;
    }

    .text-box {
        margin-left: 10px;
        line-height: 1.5;
    }

    .text-box .title {
        font-size: 13px;
        margin: 0;
    }

    .text-box .description {
        font-size: 11px;
        margin-top: 5px;
    }
}
/* -----ここまで：New Share HTML----- */


/* ==========================================
   5. ウィジェット・サイドバー設定
========================================== */

/* 人気記事ウィジェット */
.widget_swell_popular_posts ul.p-postList,
.widget_swell_popular_posts .wpp-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.widget_swell_popular_posts .p-postList__item,
.widget_swell_popular_posts li {
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

.widget_swell_popular_posts .p-postList__item .-w-ranking,
.widget_swell_popular_posts .p-postList__thumb::before,
.widget_swell_popular_posts .p-postList__thumb::after,
.widget_swell_popular_posts li::before,
.widget_swell_popular_posts li::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.widget_swell_popular_posts .p-postList__thumb {
    width: 100% !important;
    margin-bottom: 10px !important;
    float: none !important;
    position: relative !important;
}

.widget_swell_popular_posts .p-postList__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important; /* ←ここを追加 */
    border-radius: 0 !important;
    transition: opacity 0.3s ease;
}

.widget_swell_popular_posts ul.p-postList {
    gap: 35px !important;
}

.widget_swell_popular_posts .p-postList__title {
    color: #7B7B7B !important;
    line-height: 1.6 !important;
    letter-spacing: 0.02em !important; 
    font-weight: normal !important;
}

.widget_swell_popular_posts .p-postList__item a:hover .p-postList__title {
    color: #555555 !important;
    text-decoration: underline !important;
}

.widget_swell_popular_posts ul.p-postList > .p-postList__item:last-child,
.widget_swell_popular_posts ul.p-postList > li:last-child {
    margin-bottom: 40px !important;
}

.widget_swell_popular_posts .p-postList__thumb {
    width: 100% !important;
    height: 130px !important; 
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

/* サイドバーアイテム */
#sidebar .p-postList__item {
    padding-left: 5px !important;
    padding-right: 5px !important; 
    box-sizing: border-box !important;
}

#sidebar .p-postList__item .p-postList__thumb {
    width: 100% !important;
    border-radius: 0 !important;
}

#sidebar .p-postList__item .p-postList__body {
    text-align: center !important;
    margin-top: 17px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* サイドバータイトル：中央揃え版 */
.c-widget__title.-side {    
    font-family: Noto, Hiragino Sans, Helvetica, Arial, sans-serif;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #333333 !important;
    letter-spacing: 1px !important;

    /* 変更点：文字を中央揃えにする */
    text-align: center !important;
    
    padding: 40px 0 25px 0 !important;
    margin: 0 0 30px 0 !important;
    border: none !important;
    background: transparent !important;
    position: relative !important;
}

/* 中央配置の短い下線 */
.c-widget__title.-side::after {
    content: "" !important;
    position: absolute !important;
    
    /* 変更点：線を完全に中央へ配置する */
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: 0 !important;
    width: 70px !important;    /* 線の長さ */
    height: 2px !important;    /* 線の太さ */
    background: #4865b2 !important; /* 線の色 */
}

/* 不要な要素を消去 */
.c-widget__title.-side::before {
    display: none !important;
}