/*
Theme Name: My Custom Theme
Theme URI: http://example.com/
Author: あなたの名前
Description: カスタムテーマ
Version: 1.0
*/
html {
    font-size: 62.5%;
    /*font-size:16px=1.6rem  */
    margin: 0;
}





/* ユーザーのブラウザ設定を尊重（アクセシビリティ重視） */
html {
    font-size: 62.5%;
    /* 1rem = 16px（ブラウザデフォルト） */
}

body {
    font-size: 1rem;
    /* 16px */
    background-color: #FFF;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic UI', sans-serif;
    font-weight: 500;
    color: #333333;
    line-height: 1.7;
    margin: 0;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* 階層的な見出し設定 */
h1 {
    font-size: 2.5rem;
    /* 40px */
    font-weight: 700;
    line-height: 1.2;
    margin: 2rem 0 1.5rem;
}

h2 {
    font-size: 2rem;
    /* 32px */
    font-weight: 700;
    line-height: 1.3;
    margin: 1.8rem 0 1.2rem;
}

h3 {
    font-size: 1.75rem;
    /* 28px */
    font-weight: 600;
    line-height: 1.4;
    margin: 1.6rem 0 1rem;
}

h4 {
    font-size: 1.5rem;
    /* 24px */
    font-weight: 600;
    line-height: 1.4;
    margin: 1.4rem 0 0.8rem;
}

h5 {
    font-size: 1.25rem;
    /* 20px */
    font-weight: 600;
    line-height: 1.4;
    margin: 1.2rem 0 0.6rem;
}

h6 {
    font-size: 1.125rem;
    /* 18px */
    font-weight: 600;
    line-height: 1.4;
    margin: 1rem 0 0.5rem;
}

p {
    font-size: 1rem;
    /* 16px（bodyと同じ） */
    line-height: 1.7;
    margin: 0 0 1.2rem;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    /* padding: 0; */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.25rem;
    }

    h5 {
        font-size: 1.125rem;
    }

    h6 {
        font-size: 1rem;
    }
}


*,
*::before,
*::after {
    box-sizing: border-box;
}


/* ヘッダーPC版 */
.header {
    position: sticky;
    top: 0;
    z-index: 10000;
}



/* ヘッダーロゴ */

.header-logo {
    background: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/school-logo_1.png) center bottom no-repeat;
    width: 320px;
    height: 90px;
    background-size: contain;
    display: block;
    -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
    transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}

.header-logo span {
    display: none;
}

/* ヘッダーまとめ */

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* flex-wrap: wrap; */
    padding: 20px 30px 0;
    background-color: #ffffff;
    height: 100%;
    box-sizing: border-box;
}

.global_nav {
    display: flex;
    flex-direction: column;
}

/* 上部メニュー（サブ） */
.header-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}

.header-nav ul {
    display: flex;
    list-style: none;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
}

.header-nav ul li a {
    /* margin-right: 10px; */
    border-right: 2px solid;

}

.gnav_menu ul li a {
    padding-left: 10px;
    padding-right: 10px;
    border-right: 2px solid;
    text-decoration: none;
    color: #1F9ACF;
    font-size: calc(10px + (12 - 10) * ((100vw - 320px) / (1200 - 320)));

}

/* .gnav_menu ul li:not(:first-child) a {
    margin-left: 10px;

} */

.header-menu_one {
    padding: 0;
}

.header-menu_one li a {
    border-right: none !important;
    text-decoration: none;
    padding: 10px 15px !important;
    background-color: #1F9ACF;
    color: #FFF !important;
    border-radius: 20px;
    font-weight: 700;

}

.header-menu {
    margin: 0;

}

/* 下部メニュー（メイン） */

.gnav_menu_bottom {
    margin-top: 15px;

}

.header-nav_bottom {
    display: flex;
    justify-content: flex-end;
    align-items: center;

}

.header-menu_two .sub-menu {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    /* top: 100px; */
    background: #1F9ACF;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); */
    z-index: 100;
    min-width: 160px;
    padding: 15px 0;
    margin: 0;
    transform: translateY(10px);
    /* 下からふわっと */
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;

}

.header-menu_two>li {
    /* position: relative; */
    /* サブメニュー絶対配置用 */
}

.header-nav_bottom ul {
    display: flex;
    list-style: none;
    align-items: center;
    margin: 10px 0 0;
}

.header-menu_two>li:hover>.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    /* 元の位置に戻る */
    display: flex;
    justify-content: center;

}

.gnav_menu_bottom ul li a {
    padding: 10px 1em;
    /* border-right: 2px solid; */
    text-decoration: none;
    color: #1F9ACF;
    font-weight: 700;
    font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1200 - 320)));
    -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
    transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
    display: flex;
    height: 100%;
    flex-direction: row;
    position: relative;
}

.gnav_menu_bottom ul li a::after {
    background-color: #1F9ACF;
    width: 0%;
    height: 2px;
}


.sub-menu {
    width: 100vw;
    flex-wrap: wrap;
    align-content: flex-start;
    margin-left: 0 !important;
    left: 0;
    justify-content: center;
}



.header-menu_two .sub-menu li {
    padding: 0;
    margin: 0;

    border-right: 1px solid #ffffff;
}

.header-menu_two .sub-menu a {
    display: block;
    padding: 0px;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
    margin: 0 30px;
}

.header-menu_two .sub-menu a {
    position: relative;
    display: inline-block;
    /* これで幅が文字にフィットや */
    text-decoration: none;
}

.header-menu_two .sub-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #ffffff;
    /* 好きな色で */
    transition: width 0.3s;
}

.header-menu_two .sub-menu a:hover::after {
    width: 100%;
}

.fa-chevron-right {
    margin-right: 13px;
}

/* 検索フォーム */
.searchform {
    position: relative;
    width: 20%;
    margin-left: 1vw;
    margin-right: 1vw;
}

.searchform input {
    padding: 10px 20px 10px 25px;
    width: 100%;
    border-radius: 20px;
    background-color: #f6f8f9;
    border: none;
}

.searchsubmit {
    position: absolute;
    left: 0;
    background: none;
    border: none;
    top: 0;
    bottom: 0;
}

.openbtn {
    display: none;
}

.hamburger_menu {
    position: absolute;
    display: none;
}


/* TOP画像 */
.slide {
    height: 20vh;
}

.mainvisual {
    position: absolute;
    width: 100%;
    /* height: 100vh; */
    height: 12vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: center;
    object-fit: cover;
    color: #fff;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7);
}

.post_visual {
    /* padding-top: 200px; */
    position: relative;
    width: 100%;
    height: 45vh;
    /* height: 6vh; */
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: center;
    object-fit: cover;
    color: #fff;
    background-color: #000;
}

.copy {
    z-index: 1;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    flex-direction: column;
}

.fee-container {
    max-width: 1080px;
    margin: 0 auto;
    width: 100%;
    padding-left: 3% !important;
    padding-right: 3% !important;

}

.copy h1 {
    font-size: clamp(2.6rem, 2.5vw, 3.4rem);
    font-weight: 700;
    margin: 0 0 15px;
    letter-spacing: 0.05em;
}

.copy p {
    font-size: clamp(1.8rem, 2.5vw, 2.0rem);
    font-weight: 400;
    margin: 0;
}

.mainvisual::before {
    background-color: #95d2f4;
    display: block;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    content: '';
    z-index: 1;
    opacity: 0.5;
}

.news-visual::before {
    opacity: 1 !important;
}


/* TOPぺージ */
.main-container {
    background-color: #f0f8ff;
    /* margin-bottom: 60px; */

}

.top_main-title {
    font-size: clamp(2.6rem, 2.5vw, 3.0rem);
    font-weight: 600;
    margin-bottom: 50px;
}

.top-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 80px 3%;

}



/* li全体にリンクの膜を作る */
/* li要素を基準点に設定 */
.news-grid_container li {
    background-color: #FFF;
    padding: 3%;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* ホバー時の視覚的フィードバック */
.news-grid_container li:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 重要：透明な膜を作成してli全体を覆う */
.news-grid_container li a.wp-block-latest-posts__post-title::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

/* タイトルリンクの基本スタイル */
.news-grid_container li a.wp-block-latest-posts__post-title {
    text-decoration: none;
    color: #333;
    font-weight: 700;
    display: block;
    margin: 8px 0 4px;
}

/* 日付のスタイル調整 */
.news-grid_container li time.wp-block-latest-posts__post-date {
    font-size: 13px;
    color: #666;
    display: block;
}




/* パンくずリスト */
/* パンくずリスト基本スタイル */
.breadcrumbs {
    font-size: 1.8rem;
    margin: 1rem 0;
    padding: 30px 3% 30px;
    background-color: #fbffff;
    margin: 0 auto;
    width: 100%;
    max-width: 1240px;
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcrumbs li {
    display: flex;
    align-items: center;
}

/* 区切り文字 */
.breadcrumbs li+li::before {
    content: "›";
    opacity: 0.6;
    margin: 0 0.25rem;
    display: inline-block;
}

/* リンクスタイル */
.breadcrumbs a {
    color: #0073aa;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumbs a:hover {
    color: #005a87;
    text-decoration: underline;
}

/* 現在ページ（最後の項目） */
.breadcrumbs li[aria-current="page"] span {
    color: #333;
    font-weight: 600;
}

/* 画面幅が1260px以下のときに適用 */
@media screen and (max-width:1260px) {

    .header-logo {

        width: 180px;
        height: 60px;

        display: block;

    }

    .gnav_menu ul li a {
        padding-left: 8px;
        padding-right: 8px;
    }

    .gnav_menu_bottom ul li a {
        margin-right: 15px;

    }

}

@media screen and (max-width:1020px) {
    .header {
        padding: 15px;
        background-color: #ffffff;
    }

    .header-logo {

        width: 300px;
        height: 90px;

    }

    .header-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        /* flex-wrap: wrap; */
        padding: 0;
        background-color: #ffffff;
        height: 100%;
        box-sizing: border-box;
    }


    .global_nav {
        display: none;
    }

    .hamburger_menu {
        position: absolute;
        display: block;
    }

    .hamburger-logo {
        background: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/school-logo_white.png) center bottom no-repeat;
        width: 300px;
        height: 90px;
        background-size: contain;
        display: block;
    }

    .hamburger-logo span {
        display: none;
    }

    .openbtn.active {
        /* background-color: #0F8E6D; */
        /* width: 70px; */
        top: 0;
        height: 70px;
        float: right;
        right: 0;
        /* border-bottom: 1px solid rgba(255, 255, 255, 0.3); */
    }

    .openbtn {
        display: block;
        position: relative;
        z-index: 9999;
        top: 0px;
        right: 0px;
        cursor: pointer;
        width: 70px;
        height: 70px;
    }

    .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        height: 5px;
        border-radius: 2px;
        background-color: #1f3354;
        width: 50px;
    }

    .openbtn span:nth-of-type(1) {
        top: 20px;
    }

    .openbtn span:nth-of-type(2) {
        top: 35px;
    }

    .openbtn span:nth-of-type(3) {
        top: 50px;
    }

    .openbtn::after {
        content: 'MENU';
        position: absolute;
        text-align: center;
        font-size: 1.2rem;
        left: 50%;
        transform: translateX(-50%);
        font-weight: 700;
        color: #1f3354;
        top: 60px;
    }


    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }


    .openbtn.active span:nth-of-type(1) {
        top: 25px;
        left: 10px;
        transform: translateY(6px) rotate(-45deg);
        width: 50px;
        background-color: #1f3354;
    }

    .openbtn.active span:nth-of-type(3) {
        top: 37px;
        left: 10px;
        transform: translateY(-6px) rotate(45deg);
        width: 50px;
        background-color: #1f3354;
    }

    .openbtn.active::after {
        content: 'CLOSE';
        top: 60px;
        position: absolute;
        text-align: center;
        font-size: 1.2rem;
        left: 50%;
        transform: translateX(-50%);
        font-weight: 700;
        color: #1f3354;
    }

    .h-nav ul {
        text-decoration: none;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 30px;
        padding: 0;
        width: 100%;
    }

    .h-nav ul li a {
        font-size: clamp(1.4rem, 2.5vw, 1.8rem);
        text-decoration: none;
        color: #FFF;
    }

    #h-nav {
        position: fixed;
        z-index: 99;
        top: 120px;
        right: -1270px;
        width: 100%;
        height: 100%;
        background-color: #0693e3;
        overflow: scroll;
        padding: 0 3%;
        transition: all .8s;
    }

    #h-nav.panelactive {
        top: 120px;
        right: 0;

    }

    .hamburger_menu .active {
        display: block;
    }

    .h-nav_top {
        padding-top: 10px;
        /* border-top: 2px solid #FFF; */
        margin-top: 15px;

    }

    .h-nav__sub {
        padding-top: 5px;
    }

    .child li a {
        color: #0693e3 !important;
        border-bottom: 1px solid #0693e3;
    }

    #h-nav ul {
        z-index: 999;
        width: 100%;
        padding: 0;
        margin: 0;
        border-radius: 0;
    }

    #h-nav li a {
        color: #FFF;
        text-decoration: none;
        padding: 15px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.15em;
        font-size: 1.4rem;
        text-align: center;
    }



    /* 2・3階層の部分について */
    nav li.has-child ul {
        position: absolute;
        left: 100%;
        top: 10px;
        z-index: 4;
        /*形状を指定*/
        background: #FFF;
        width: 180px;
        /*はじめは非表示*/
        visibility: hidden;
        opacity: 0;
        /*アニメーション設定*/
        transition: all .3s;
    }

    /*hoverしたら表示*/
    nav li.has-child:hover>ul,
    nav li.has-child ul li:hover>ul,
    nav li.has-child:active>ul,
    nav li.has-child ul li:active>ul {
        visibility: visible;
        opacity: 1;
    }

    nav li.has-child ul,
    nav li.has-child ul ul {
        /*絶対配置で位置を指定*/
        left: 0;
        top: 0;
        position: relative;
        width: 100%;
        visibility: visible;
        /*JSで制御するため一旦表示*/
        opacity: 1;
        /*JSで制御するため一旦表示*/
        display: none;
        /*JSのslidetoggleで表示させるため非表示に*/
        transition: none;
        /*JSで制御するためCSSのアニメーションを切る*/
    }

    /* 2階層目の矢印について */
    nav ul li.has-child::before {
        content: '';
        position: absolute;
        right: 30px;
        top: 20px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        transform: rotate(45deg);
    }

    /*矢印の向き*/
    nav ul li.has-child::before {
        transform: rotate(135deg);
        right: 20px;
    }

    nav ul li.has-child.active::before {
        transform: rotate(-45deg);
    }

    /* 検索フォーム・資料請求 */
    .h-nav__bottom {
        display: flex;
        justify-content: space-around;
        align-items: center;
        padding-top: 30px;
        flex-wrap: wrap;
        gap: 0.5em;
    }

    /* 親階層 */
    .sidebar-main_nav {
        margin-top: 0px;
        margin-bottom: 0px;
        padding: 0;
    }

    .menu {
        padding: 0;
    }

    .sidebar-main_nav li {
        list-style: none;
        position: relative;
    }

    .sidebar-main_nav li a {
        color: #023D21;
    }



    .has-child ul {
        position: absolute;
        background-color: #e4fff6;
        width: 240px;
        height: auto;
        -webkit-transition: .05s;
        -moz-transition: .05s;
        -o-transition: .05s;
        z-index: 4;
        opacity: 0;
        visibility: hidden;

        top: 0%;
        left: 105%;
        padding: 0 15px;
        border-radius: 10px;


    }

    .has-child ul.is-active {
        position: absolute;

        visibility: visible;
        /* 見えるように */
        opacity: 1;
        /* 完全に表示 */
        /* top: 40%; */
        left: 105%;
        padding: 0 15px;
        border-radius: 10px;
        /* 元の位置に戻す */
        z-index: 9999;
        /* 他の要素より前面に表示 */
        transition: .5s;

    }

    .searchform {
        width: 50%;
    }

    .searchform input {
        padding: 15px 20px 15px 25px;
        width: 100%;
    }

    .menu-gnav_menu-1-container {
        /* width: 60%; */
    }

    .header-menu_one li a {
        border-right: none !important;
        text-decoration: none;
        padding: 15px 30px !important;
        background-color: #cacb88;
        border-radius: 30px;
        font-weight: 700;
        margin: 10px;
        width: 100%;
    }



}

@media screen and (max-width:1020px) {
    .header {
        padding: 0 15px;
    }

    .header-logo {

        width: 170px;
        height: 50px;

    }

    .hamburger-logo {
        width: 170px;
        height: 50px;
    }

    .openbtn {
        width: 30px;
    }

    .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        height: 3px;
        border-radius: 2px;
        background-color: #1f3354;
        width: 25px;
    }

    .openbtn span:nth-of-type(1) {
        top: 23px;
    }

    .openbtn span:nth-of-type(2) {
        top: 31px;
    }

    .openbtn span:nth-of-type(3) {
        top: 39px;
    }

    .openbtn::after {
        content: 'MENU';
        position: absolute;
        text-align: center;
        font-size: 0.85rem;
        left: 50%;
        transform: translateX(-50%);
        font-weight: 700;
        color: #1f3354;
        top: 50px;
    }



    /*×に変化*/


    .openbtn.active::after {
        content: 'CLOSE';
        top: 50px;
        position: absolute;
        text-align: center;
        font-size: 0.85rem;
        left: 40%;
        transform: translateX(-50%);
        font-weight: 700;
        color: #1f3354;
    }

    .openbtn.active span:nth-of-type(1) {
        top: 25px;
        left: 0px;
        transform: translateY(6px) rotate(-45deg);
        width: 25px;
        background-color: #1f3354;
    }

    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openbtn.active span:nth-of-type(3) {
        top: 37px;
        left: 0px;
        transform: translateY(-6px) rotate(45deg);
        width: 25px;
        background-color: #1f3354;
    }

    #h-nav {
        position: fixed;
        z-index: 99;
        top: 70px !important;
        right: -420%;
        width: 100%;
        height: 100%;
        background-color: #0693e3;
        overflow: scroll;
        padding: 0%;
        transition: all .8s;
    }

    .header-menu_one li a {

        padding: 10px 30px !important;

    }

    #h-nav li {
        list-style: none;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }


    .h-nav ul {
        text-decoration: none;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0px;
        padding: 0;
        width: 100%;
    }


    /* 検索結果 */
    .searchform {
        width: 90%;

    }

    .searchform input {
        padding: 10px 20px 10px 25px;
        width: 100%;
        border-radius: 0px;
        background-color: #f6f8f9;
        border: none;
        margin-bottom: 20px;
    }


    .searchsubmit {
        position: absolute;
        left: 0;
        background: none;
        border: none;
        top: -20px;
        bottom: 0;
    }

    .header-menu_one li {
        border-bottom: none !important;
    }

    .header-menu_one li a {
        border-right: none !important;
        text-decoration: none;
        padding: 15px 30px !important;
        background-color: #cacb88;
        border-radius: 0px;
        font-weight: 700;
    }

    /* TOPぺージ */
    .main-container {
        background-color: #f0f8ff;
        /* margin-bottom: 60px; */

    }

    .top-container {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 60px 3%;
    }

    .top_main-title {
        font-size: clamp(2.2rem, 2.5vw, 2.4rem);
        font-weight: 600;
        margin-bottom: 30px;
    }

    /* お知らせのgird */

    .wp-block-latest-posts.is-grid li {
        margin: 20px auto !important;
        width: 100%;
    }

    .news-grid_container li {
        background-color: #FFF;
        padding: 30px 20px;
    }
}

/* 共通内容（タイトル等）*/

.top-maintitle {
    font-size: clamp(4.0rem, 2.5vw, 5.5rem);
    font-weight: 400;
}

.top-subtitle {
    font-size: clamp(2.0rem, 2.5vw, 2.4rem);
    font-weight: 400;
}

.page-container {
    background-color: #fbffff;
}

.container {
    padding: 70px 5% 100px;
    background-color: #fbffff;
    margin: 0 auto;
    width: 100%;
    max-width: 1240px;
}

.container .article-list {
    width: 100%;
    margin: 0 auto 30px;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
    display: grid;
}

.container .article-list li {
    list-style: none;
    background-color: #FFF;
    padding: 3%;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin: 0 1.25em 1.25em 0;
}

.container .article-list li a {
    text-decoration: none;
    color: #707070;
    font-weight: 500;
}

@media screen and (min-width:768px) {
    .container .article-list {
        width: 100%;
        margin: 0 auto 30px;
        display: flex;
        flex-direction: row;
        align-content: flex-end;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0;

    }

    .container .article-list li {
        width: 30%;
    }


}

.ac-container {
    padding: 50px 5% 50px;
    background-color: #fbffff;
    margin: 0 auto;
    width: 100%;
    max-width: 1240px;
}

.title-bg {
    background-color: #1F9ACF;
    max-width: 1240px;
    margin: 0 auto;
}

.title-bg h1 {
    padding: 20px 5%;
    margin: 0 auto;
    color: #FFF;
    font-size: clamp(4.0rem, 2.5vw, 5.0rem);
    font-weight: 400;
}

.title-bg h1 span {
    color: #fce000;
    font-size: clamp(2.0rem, 2.5vw, 2.6rem);
    font-weight: 400;
    margin-left: 1vw;
}

.title-bg_br {
    display: none;
}

.main-text {
    color: #000 !important;
}

.common-text {
    font-size: clamp(1.8rem, 2.5vw, 2.0rem);
    color: #707070;
    font-weight: 400;
    line-height: 1.8;
}

.common-text a {

    color: #707070;
    text-decoration: none;
}

.main-title {
    font-size: clamp(2.6rem, 2.5vw, 3.0rem);
    font-weight: 600;
    margin-bottom: 20px;
}

.sub-title {
    font-size: clamp(2.0rem, 2.5vw, 2.6rem);
    color: #707070;
    margin-bottom: 20px;
}




.text-column {
    margin: 30px auto;
}

.img-column {
    margin: 40px auto 30px;
}

.text-column figure img {
    max-height: 300px;
    height: auto;
    object-fit: contain;
}

.img-column figure img {
    max-height: 500px;
    height: auto;
    object-fit: contain;
}

.wp-block-media-text>.wp-block-media-text__content {
    direction: ltr;
    grid-column: 2;
    grid-row: 1;
    padding: 0 5% !important;
    word-break: break-word;
}

/* お知らせ一覧 カテゴリー */

ews-contain .archive-post-item {
    margin: 15px auto;
    list-style: none;
}

.archive-post-link {
    color: #0066cc;
}

.archive-date {
    font-size: 1.4rem;
}

/* パンくずリスト */

.breadcrumb-area {
    padding: 20px 3% 20px;
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    font-size: 1.6rem;
}



/* 教育内容ページ */
.education-top_column {
    padding: 0px 3%;
    /* margin-bottom: 50px; */
    /* max-width: 1440px; */
    margin: 0 auto;
    width: 100%;
}

.education-top_column figure {
    padding-bottom: 50px;
}

.education-top_column figure img {
    max-height: 520px;
    object-fit: contain;
    width: 100%;
}

/*教育目標 */
.educational-goals_container {
    margin: 50px 0;
}

.educational-goals_container p {
    margin: 30px 0 30px;
    padding: 0 3%;
}

/* 学習指導 */
.guidance-one,
.guidance-two,
.guidance-three,
.guidance-four {
    position: relative;
}

.guidance-one span,
.guidance-two span,
.guidance-three span,
.guidance-four span {
    padding-left: 20px;
    display: flex;
}


.guidance-one::before {
    content: '(1)';
    position: absolute;
    left: -5%;
}

.guidance-two::before {
    content: '(2)';
    position: absolute;
    left: -5%;
}

.guidance-three::before {
    content: '(3)';
    position: absolute;
    left: -5%;
}

.guidance-four::before {
    content: '(4)';
    position: absolute;
    left: -5%;
}

/* 学校紹介全体 */

.school-container {
    margin: 0 auto;
    width: 100%;
    background: #dbecff;
    padding: 30px 3%;
}

.school-container_box {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;

}


/* 画像部分 */
.about-school_img {
    margin: 0;
}

.about-school_img img {
    width: 100%;
}

.pagenav-box {
    background-color: #FFF;
    padding: 30px 30px 50px;
}

.pagenav-box h2 {
    margin: 0;
    padding-bottom: 20px;
}

.about-school_container {
    padding: 3%;
}

.about-school_container a {
    color: #000;
    text-decoration: none;
}

/* ここまで学校紹介全体 */

/* スクールガイド */

.schoolguide-column {
    margin-top: 30px;
    margin-bottom: 40px;

}



/* スクールライフ */

/* スクールカレンダー */

.month {
    font-family: 'Arial Black', sans-serif;
    font-size: clamp(40px, 5vw, 50px);
    font-weight: 800;
    margin: 0 auto;
    letter-spacing: 0.1em;
}

.month span {
    font-family: 'Arial Black', sans-serif;
    font-size: clamp(22px, 2vw, 22px);
    font-weight: bold;
}

.event_container {
    margin-top: 50px;
}

.event-calendar {
    margin-top: 60px;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    font-weight: 600;
}

.event-calendar .column {
    justify-content: space-between !important;
    display: flex !important;
    flex-direction: column !important;
    /* margin-top: 35px !important; */
    flex-wrap: wrap !important;
    width: 100% !important;
}

.column {
    display: block;
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
    padding: 0.75rem;
}

.column a {
    color: #1F9ACF;
}

.column-text {
    padding: 0 15px;
}

.calendar-bottom_box {
    margin-top: 15px;
}

.calendar-bottom_box img {
    object-fit: cover;
    aspect-ratio: 16 / 10;
    width: 100%;
    height: auto;
}

/* .kt-row-column-wrap {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(var(--arkb-gap--x) * -1);
    row-gap: var(--arkb-gap--y);
} */

/* 部活動 */
.club-title {
    font-size: clamp(3.0rem, 2.5vw, 3.4rem);
    margin-bottom: 30px;
}



.club-subtitle {
    font-size: clamp(2.4rem, 2.5vw, 2.6rem);
}

.club_result-title {
    font-size: clamp(2.8rem, 2.5vw, 3.2rem);
    margin-bottom: 15px;
}

.club_result-subtitle {
    font-size: clamp(2.0rem, 2.5vw, 2.2rem);
    padding: 30px 0 20px 0;
}

.club-text {
    margin-top: 20px;
}

.misson-box {
    margin: 20px auto;
}

.active-box {
    margin: 20px auto;
    border: 2px solid #707070;
    padding: 3%;
}

.club-column_box {
    margin: 30px 0;
}

.result-list {
    margin: 50px auto 0;
}

.club-list li {
    list-style: none;
    margin-bottom: 10px
}

.club-list li a {
    position: relative;
    transition: 0.3s transform;
}

.club-list li a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #1F9ACF;
    bottom: -5px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: 0.3s transform;
}

.club-list a:hover {
    color: #1F9ACF;
    transition: 0.3s transform;
}

.club-list li a:hover::after {
    transform: scale(1, 1);

}

/* 水泳部 */
.result-swim_list {
    margin-bottom: 30px;
}

/* サッカー部 */
.soccer_subtitle {
    background-color: #4D96D9;
    color: #FFF;
    /*     display: inline-block; */
    padding: 15px;
    text-align: center;
    margin-bottom: 30px;
}

/* ソフトボール部 */
.softball-img img {
    width: 100%;
    margin: 0 auto;
}

/* バトン部 */

.baton-img img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}


/* ハンドボール部 */
.handball-goal {
    background-color: #7dd5fb;
    padding: 15px 0;
    margin-bottom: 30px;
    margin-top: 30px;
}

.handball-goal span {
    font-size: 4.0rem;
    position: relative;
    z-index: 1;
}

.handball-goal span::after {
    content: '';
    position: absolute;
    height: 7px;
    background-color: #fbff00;
    top: 43px;
    width: 100%;
    left: 0;
    z-index: -8;
}

.handball-img img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}


.handball-main_archive {
    font-size: clamp(2.6rem, 2.5vw, 3.0rem);
    font-weight: 600;
}

.handball-main_copy {
    color: #1F9ACF;
    font-size: clamp(2.6rem, 2.5vw, 3.0rem);
    font-weight: 600;
}

/* 英語部 */
.english-box {
    margin: 30px auto;
}

.eng-red {
    border: #cc0033 5px solid;
    padding: 10px;
    text-align: center;
}

.eng-blue {
    border: #0066cc 5px solid;
    padding: 10px;
    text-align: center;
}



/* 卒業生の方へ */



.for-alumni_title strong {
    color: #fce000;
    font-size: clamp(2.0rem, 2.5vw, 2.6rem);
    font-weight: 400;
    margin-left: 1vw;
}

/* フッター */

.footer {
    display: block;
    background-color: #1F9ACF;

}



.footer-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 40px 3% 50px;
}

/* フッターロゴ */
.footer-logo {
    background: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/school-logo_white.png) center bottom no-repeat;
    width: 540px;
    height: 150px;
    background-size: contain;
    display: block;


}

.footer-logo_wrapper ul {
    padding-left: 0;
}

.footer-logo_wrapper ul li {
    list-style: none;
    font-size: clamp(1.4rem, 2.5vw, 1.6rem);
    color: #FFF;
    margin-left: 15px;

}

.footer-logo span {
    display: none;
}

.site-copyright {
    padding: 15px 0;
    width: 100%;
    height: auto;
    background-color: #333;
    text-align: center;
}

.copyright {
    width: 100%;
    margin: 0 auto;
    color: #FFF;
    font-size: 12px;
    letter-spacing: 0.05em;
}



/* ナビゲーション */
.global_nav_footer ul {
    list-style: none;
}

.global_nav_footer-one ul,
.global_nav_footer-two ul {
    display: flex;
    font-size: clamp(1.0rem, 2.5vw, 1.2rem);
    margin: 5px 0;
    ;
    padding: 0;
    justify-content: space-between;
}

.global_nav_footer-three ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 50px 0 30px;
}

.global_nav_footer-one ul li a,
.global_nav_footer-two ul li a {
    color: #FFF;
    text-decoration: none;
    margin: 0 10px;
    font-size: clamp(1.4rem, 2.5vw, 1.6rem);
}

.global_nav_footer-three ul li {
    padding-bottom: 10px;
}

.global_nav_footer-three ul li a {
    color: #FFF;
    text-decoration: none;

    border-right: 2px solid #FFF;
    text-decoration: none;
    padding: 0 1vw;
    font-size: clamp(1.2rem, 2.5vw, 1.4rem);

}





/* 進路指導 */

.future-text_box,
.future-section_box {
    margin: 50px auto 30px;
}

.future-section_box {
    padding-bottom: 20px;
}


/* 災害 */


.second-subtitle {
    margin: 30px auto 20px;
    padding: 0 3%;
    font-size: clamp(2.2rem, 2.5vw, 2.4rem);
}


/* 画面幅が767px以下のときに適用 スマホ*/
@media screen and (max-width:767px) {


    .copy h1 {
        font-size: clamp(2.2rem, 2.5vw, 2.6rem);
        font-weight: 700;
        margin: 0;
    }

    .copy p {
        font-size: clamp(1.6rem, 2.5vw, 1.8rem);
        font-weight: 400;
        margin: 0;
    }

    .post_visual {
        padding-top: 200px;
        position: relative;
        width: 100%;
        height: 15vh;
        /* height: 6vh; */
        background-size: cover;
        background-repeat: no-repeat;
        background-position-y: center;
        object-fit: cover;
        color: #fff;
        background-color: #000;
    }


    .main-title {
        font-size: clamp(2.2rem, 2.5vw, 2.4rem);
        font-weight: 600;
    }

    .title-bg h1 {
        padding: 20px 5%;
        margin: 0 auto;
        color: #FFF;
        font-size: clamp(3.2rem, 2.5vw, 4.0rem);
        font-weight: 400;
    }

    .title-bg h1 span {
        color: #fce000;
        font-size: clamp(2.0rem, 2.5vw, 2.4rem);
        font-weight: 400;
        margin-left: 1vw;
    }

    .title-bg_br {
        display: block;
    }

    /* 共通事項 */
    .container {
        padding: 15px 3% 30px;
        background-color: #fbffff;
        margin: 0 auto;
        width: 100%;
        max-width: 1440px;
    }

    .ac-container {
        padding: 50px 3% 50px;
        background-color: #fbffff;
        margin: 0 auto;
        width: 100%;
        max-width: 1440px;
    }

    .common-text {
        font-size: clamp(1.6rem, 2.5vw, 1.8rem);
        color: #707070;
        font-weight: 400;
        line-height: 1.8;
    }

    .top-maintitle {
        font-size: clamp(2.2rem, 2.5vw, 3.2rem);
        font-weight: 400;
    }

    .top-subtitle {
        font-size: clamp(1.6rem, 2.5vw, 2.2rem);
        font-weight: 400;
    }

    .title-bg h1 {
        padding: 10px 5%;

        font-size: clamp(3.2rem, 2.5vw, 4.0rem);

    }

    /* パンくずリスト */

    .breadcrumbs {
        font-size: 1.8rem;
        margin: 1rem 0;
        padding: 30px 3% 15px;
        background-color: #fbffff;
        margin: 0 auto;
        width: 100%;
        max-width: 1440px;
        font-size: 1.6rem;
    }

    /* 教育内容 */
    .education-top_column figure {
        padding-bottom: 30px;
    }

    .educational-goals_container {
        margin: 30px 0;
    }

    .wp-block-kadence-iconlist.kt-svg-icon-list-items24_9df341-88 ul.kt-svg-icon-list:not(.this-prevents-issues):not(.this-stops-third-party-issues):not(.tijsloc) {
        padding-left: 20px !important;
    }

    .educational-goals_container p {
        margin: 20px 0 20px;
    }

    /*  教育課程*/
    .img-column figure img {
        margin: 20px 0 20px;
    }

    /* イベントカレンダー */

    .event-calendar {
        margin-top: 40px;
        font-size: 1.8rem;
        letter-spacing: 0.05em;
        line-height: 1.6;
        font-weight: 600;
    }



    /* 部活動 */

    .club-column_box {
        margin-top: 30px;
    }

    .common-text_box {
        padding: 15px 0;
    }

    .wp-block-media-text>.wp-block-media-text__content {
        direction: ltr;
        grid-column: 2;
        grid-row: 1;
        padding: 0 0% !important;
        word-break: break-word;
    }

    .club-title {
        font-size: clamp(2.4rem, 2.5vw, 2.6rem);
        margin-bottom: 0px;
    }

    /* ハンドボール部 */
    .handball-main_archive {
        font-size: clamp(2.4rem, 2.5vw, 2.8rem);
        font-weight: 600;
    }

    .handball-main_copy {
        color: #1F9ACF;
        font-size: clamp(2.4rem, 2.5vw, 2.6rem);
        font-weight: 600;
    }

    /* 進路指導 */
    .future-text_box,
    .future-section_box {
        margin: 30px auto;
    }

    .future-section_box {
        padding-bottom: 20px;
    }

    /*卒業生の方へ */

    .for-alumni_title strong {
        color: #fce000;
        font-size: clamp(2.0rem, 2.5vw, 2.4rem);
        font-weight: 400;
        margin-left: 1vw;
    }

    /* 災害 */

    .second-subtitle {
        margin: 20px auto 15px;
    }

    /* フッター */
    .footer {
        padding-top: 30px;
    }

    .footer-container {
        display: flex;
        flex-wrap: wrap;
        padding: 0px 0 10px;
        justify-content: center;
    }

    .footer-logo {
        background: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/school-logo_white.png) center bottom no-repeat;
        width: 250px;
        margin: 0 auto;
        height: 70px;
        background-size: contain;
        display: block;
    }

    .global_nav_footer-three ul {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 20px 0 30pxpx;
    }

    .column-text {
        padding: 20px 0px;
    }

    .global_nav_footer {
        margin-top: 30px;
    }

    .global_nav_footer-three ul li a {
        color: #FFF;
        text-decoration: none;

        border-right: 2px solid #FFF;
        text-decoration: none;
        padding: 0 10px;
        font-size: clamp(1.2rem, 2.5vw, 1.4rem);

    }

    .site-copyright {
        padding: 15px 3%;
        width: 100%;
        height: auto;
        background-color: #333;
        text-align: center;
    }
}


/*TOP*/

/* NEWSお知らせプラグイン部分 */
.kt-tabs-id6_af7754-fd>.kt-tabs-content-wrap>.wp-block-kadence-tab {
    border-top: 1px solid #bcbcbc;
    border-right: none !important;
    border-bottom: none !important;
    ;
    border-left: none !important;
    ;
    background: rgba(255, 255, 255, 0);
}




/* FAQ */

/* QとAを強調するシンプルデザイン */
.is-style-shinkawa-faq li {
    list-style: none !important;
    padding: 0 !important;
}

.is-style-shinkawa-faq>li {
    margin-bottom: 30px !important;
    padding: 20px;

    border-radius: 8px;

}

/* 1行目（Qの部分） */
.is-style-shinkawa-faq>li>strong:first-child {
    display: block;
    color: #1F9ACF;
    /* 青色 */
    font-size: 1.1em;
    margin-bottom: 10px;

    padding-bottom: 10px;
}

/* 2行目以降（Aの部分） */
.is-style-shinkawa-faq>li {
    line-height: 1.8;
    color: #444;
}

/* お知らせ一覧 */

.post-container.bg_post {
    /* padding-top: 60px; */
    /* padding-bottom: 60px; */
    position: relative;
    display: block;
}


.post-container {
    padding-top: 0;
    padding-bottom: 60px;
    padding-left: 3%;
    padding-right: 3%;
}

.news-box {
    max-width: 740px;
    margin: 0 auto;
    width: 100%;
    padding: 30px 3% 30px;
}

.school-title {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.news-box p {
    font-size: 1.6rem;
    margin: 15px 0
}

.news-box h2 {
    font-size: 2.4rem;
    margin: 15px 0
}

.post-date_all,
.post-category_all {
    color: #000;

}

.post-category_all {
    font-size: 1.6rem;
}

.post-date_all {
    font-size: 1.4rem;
}

.taxonomy-category {
    margin: 20px auto 15px;
}

.taxonomy-category a {
    background-color: #0693e3;
    padding: 6px 15px;
    color: #FFF !important;
    text-decoration: none;
    /* margin-left: ; */
    border-radius: 26px;
}

.taxonomy-category span {
    color: transparent;
    margin: 0 6px;
}

.school-title {
    font-size: 2.0rem;
    font-weight: 600 !important;
}

/* 新着！ */
.new-label {
    font-weight: bold;
    margin-right: 5px;
    margin-bottom: -5px;
    background-color: #ff0054;
    color: #FFF;
    padding: 5px;
    font-size: 1.4rem;
    line-height: 2.2em;
}

.top-news {
    margin: 0 auto 0px;
}

/* .top-news .left-block {
    width: 100%;
    margin-bottom: 30px;
}

.top-news .right-block {
    width: 100%;
    margin-bottom: 30px;
} */


.top-news .article-list {
    width: 100%;
    margin: 0 auto 30px;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
    display: grid;
}

.top-news .article-list li {
    list-style: none;
    background-color: #FFF;
    padding: 20px;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.top-news .news-heading h3 {
    font-size: 5rem;
    transform: rotate(0);
    margin-left: 0;
}

.top-news .news-heading p {
    font-size: 2rem;
    writing-mode: horizontal-tb;
    position: relative;
    top: 0;
    left: 0;
}

.top-news .topics .topics-list .topics-item {
    width: 100%;
    flex: auto;
    aspect-ratio: 5 / 3;
}

.btn-box {
    display: flex;
    justify-content: center;
    padding: 0;
}

.btn-box .filter-btn {
    font-size: 1.4rem;
    margin-bottom: 0;
    margin: 0 6px;
    padding: 6px 10px;
    background-color: #fff;
    color: #1F9ACF;
    margin-bottom: 20px;
    transition: 0.3s;

}

.btn-box .filter-btn.active {
    background-color: #1F9ACF;
    color: #FFF
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
}

.top-news .article-list li a {
    text-decoration: none;
    color: #707070;
    font-weight: 500;
}

.topics-thumb img {
    height: auto;
    max-width: 100%;
    width: 100%;
}

.article-list {
    padding: 0;
    list-style: none;
}

.no-post {
    background-color: transparent !important;
    font-size: 1.6rem;
}


.more-btn {
    display: block;
    font-size: 1.6rem;
    padding: 10px 20px;
    max-width: 700px;
    width: 100%;
    border-radius: 26px;
    background-color: #FFF;
    border: #1F9ACF 2px solid;
    text-align: center;
    text-decoration: none;
    color: #1F9ACF;
    margin: 0 auto;
    transition: 0.3s;
    font-weight: 800;
}

.more-btn:hover {
    background-color: #1F9ACF;
    color: #FFF;
    border: #FFF solid 2px;
}

/* お知らせ一覧 */

.top-news .article-list_detail li {
    list-style: none;
    background-color: #FFF;
    padding: 3%;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin: 0;
}

@media screen and (max-width:500px) {
    .top-news .article-list {
        width: 90%;

        grid-template-columns: auto;

    }

    .container .article-list {
        width: 90%;

        grid-template-columns: auto;
        gap: 1em;

    }
}

@media screen and (min-width: 767px) {
    .news-wrapper_d {
        padding: 50px 3% 50px;
        max-width: 1440px;
        margin: 0 auto;
        width: 100%;
    }


    .news-box {
        padding: 50px 3% 50px;
    }

    /* 追加 */
    .top-news {
        width: 100%;
        max-width: 1280px;
        height: auto;
        margin: 0 auto 0px;
        display: block;
        /* display: flex; */
        /* flex-wrap: wrap;
        justify-content: space-around;
        flex-direction: column;
        align-items: center; */
    }

    /* .top-news .left-block {
        width: 20%;
    }

    .top-news .right-block {
        width: 78%;
    } */

    .top-news .news-heading {
        position: relative;
    }

    .top-news .news-heading h3 {
        font-size: 7rem;
        font-weight: 400;
        transform-origin: left top;
        /* transform: rotate(90deg); */
        margin-left: 60px;
    }

    .top-news .news-heading p {
        font-size: 2rem;
        writing-mode: vertical-rl;
        position: absolute;
        top: 6px;
        left: 60px;
    }

    .top-news h4 {
        font-size: 2.2rem;
        font-weight: 500;
        display: flex;
        align-items: center;
    }

    .top-news h4::after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #707070;
        margin-left: 10px;
    }

    .top-news .topics .topics-list {
        width: 90%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        padding: 20px 0;
    }

    .top-news .topics .topics-list .topics-item {
        width: 32%;
        flex: 1 1 calc(33.333% - 20px);
        aspect-ratio: 4 / 3;
        /* カード全体の縦横比を調整（任意） */
        position: relative;
        overflow: hidden;
    }

    .top-news .topics .topics-list .topics-item a {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
    }

    .top-news .topics .topics-list .topics-item .topics-thumb {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .topics-thumb img {
        height: auto;
        max-width: 100%;
        width: 100%;
    }

    .top-news .topics .topics-list .topics-item .topics-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* はみ出しOKで縦横いっぱいに */
        object-position: center;
        display: block;
    }

    .top-news .topics .topics-list .topics-item h3 {
        font-size: 1.6rem;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #ffffffbb;
        color: #707070;
        padding: 10px;
    }

    .btn-box {
        padding: 0 0 20px;
    }

    .btn-box .filter-btn {
        display: block;
        text-decoration: none;
        /* background-color: #810D31; */
        /* color: #fff; */
        font-size: 1.6rem;
        font-weight: 500;
        padding: 6px 20px;
        border-radius: 10px;
        /* margin-bottom: 20px; */
    }

    .top-news .article-list {
        width: 100%;
        margin: 0 auto 30px;
        display: flex;
        flex-direction: row;
        align-content: flex-end;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0;
    }

    .top-news .article-list li {
        width: 30%;
        margin: 0 1.25em 1.25em 0;
    }

    .top-news .article-list li:nth-child(3n) {
        margin-right: 0;
    }

    .top-news .article-list li .label {
        display: inline-block;
        text-align: center;
        width: fit-content;
        min-width: 120px;
        background-color: #fff;
        font-size: 1.4rem;
        font-weight: 500;
        color: #1E4184;
        padding: 6px 0;
        border-radius: 40px;
        margin: 0 10px;
    }

    .top-news .article-list li a {
        text-decoration: none;
        color: #707070;
        font-weight: 500;
    }



}


/* -------------------------------------------
   検索結果ページのデザイン
------------------------------------------- */

/* 全体の枠組み */
.container.__search {
    max-width: none;
    /* 横幅が広がりすぎないように制限 */
    margin: 0px auto;
    /* 上下に余白 */
    padding: 60px 20px;
    /* スマホで端が切れないように */
    font-family: "M PLUS Rounded 1c", sans-serif;
    /* サイトで使用中のフォント */
    color: #333;
}

/* ページタイトル (「〇〇」の検索結果) */
.page-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    padding-bottom: 15px;
    border-bottom: 2px solid #eaeaea;
    /* 下線で区切る */
    color: #003366;
    /* 学校らしい濃い青（サイトに合わせて調整可） */
}

/* 検索件数 */
.search-count {
    text-align: right;
    font-size: 0.9rem;
    color: #777;
    margin-bottom: 30px;
}

/* 記事リストのラッパー */
.post-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    /* カード同士の間隔 */
}

/* 各記事のカードデザイン */
.post-item {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    /* 角を少し丸く */
    transition: all 0.3s ease;
    /* ホバー時の動きをなめらかに */
}

/* カードにマウスが乗った時 */
.post-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    /* 影をつけて浮かせる */
    transform: translateY(-3px);
    /* 少し上に移動 */
    border-color: #003366;
    /* 枠線を青くする */
}

/* リンク全体をブロックにしてクリックしやすく */
.post-item a {
    display: block;
    padding: 25px;
    text-decoration: none;
    color: inherit;
}

/* 記事タイトル */
.post-item h3 {
    font-size: 20px;
    font-weight: 700;
    color: #0056b3;
    /* リンクっぽい青 */
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.post-item:hover h3 {
    text-decoration: underline;
    /* ホバー時に下線 */
}

/* 抜粋文 (excerpt) */
.excerpt p {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* 2行以上は...で省略（不要なら削除） */
    overflow: hidden;
}

/* -------------------------------------------
   ページネーション (ページ送り)
------------------------------------------- */
.pagination {
    margin-top: 50px;
    text-align: center;
}

.pagination .nav-links {
    display: inline-flex;
    gap: 10px;
    justify-content: center;
}

.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 45px;
    border: 1px solid #ddd;
    border-radius: 4px;
    /* 四角くする（50%にすると丸） */
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: 0.3s;
    background: #fff;
}

/* 現在のページ & ホバー時 */
.page-numbers.current,
.page-numbers:hover {
    background: #003366;
    /* メインカラー */
    color: #fff;
    border-color: #003366;
}

/* ページトップボタンのスタイル */
#page-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;
    display: none;
    /* 最初は非表示 */
}

#page-top a {
    background: #FFF;
    border: 2px solid #0693e3;
    color: #0693e3;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 50%;
    font-size: 12px;
    font-weight: bold;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s;
    font-size: 1.6rem;
}

#page-top a:hover {
    background: #0693e3;
    border: 2px solid #0693e3;
    color: #FFF;
    /* ホバー時の色 */
    transform: translateY(-5px);
    /* 少し浮くアニメーション */
}

/* 404 */
.notfound-container p {
    font-size: 1.6rem
}

.return-home a {
    font-size: 1.6rem;
}

/* 検索見つからない */

.no-result p {
    font-size: 1.6rem;
}



/*=============
slick
=============*/

.full div {
    background-repeat: no-repeat;
    /* containからcoverに変更：枠いっぱいに広げる */
    background-size: cover;
    background-position: center;
    /* 50vhだと画面半分なので、全画面なら100vh、
       少し小さくするなら70vh〜80vhくらいがおすすめ */
    width: 100%;
    height: 50vw;
    margin: 0;

}

.full div.top-img01 {
    background-image: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/top/top-1.jpg);


}

.full div.top-img02 {
    background-image: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/top/top-2.jpg);
}

.full div.top-img03 {
    background-image: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/top/top-3.jpg);
    ;
}

.full div.top-img04 {
    background-image: url(/cms/wp-content/themes/shinkawa_renewal/assets/images/top/top-4.jpg);
}

.full .slick-dots {
    bottom: 4%;
    z-index: +1;
}


div#slick-slide00 {
    background-size: contain;
    background-color: #D8DFDC;
}

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



    .full div {
        width: 100%;
        height: 50vw;
        object-fit: cover;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;

        margin: 0;
    }

    div#slick-slide00 {
        background-size: cover;
        background-color: #D8DFDC;
    }
}