@charset "UTF-8";

/* ========================================
header.phpとfooter.phpのスタイル(2026/01)
======================================== */
@media screen and (min-width: 769px){
   /* 展開ナビ最下の高校サイトリンク */
	.jh_link {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		width: 205px;
		height: 39px;
		border: 1px solid #002c68;
		color: #002c68;
	}
	.jh_link:hover {
		background-color: #002c68;
		border: 1px solid #fff;
		color: #fff;
	}

    /* コンテンツのカテゴリを示す大見出し(h2) */
    .ttl__cat {
        margin-top: 45px;
    }

	footer.footer div.ftr__wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
        padding-top: 285px !important;
		font-size: 1.6rem;
		color: #fff;
		/* background-color: #002c68;
        position: relative;
        z-index: 9995; */
	}

    .ftr__spmn--btn {
        display: none;
    }

	.ftr__nav ul {
		display: flex;
		justify-content: space-between;
        flex-wrap: wrap;
	}

    .ftr__nav ul li a {
        text-align: center;
    }

    .ftr__nav ul li a:hover {
        color: #ffff00;
    }

	.ftr__nav ul li a:after {
		content: "";
        display: inline-block;
        width: 1px;
        height: 1.6rem;
        padding-top: 0.1rem;
        margin: 0.2rem 0.9rem 0 ;
		background-color: #fff;
	}

    .ftr__nav ul li:last-child a:after {
        content: none !important;
    }
    .ftr__nav--utl {
        justify-content: center !important;
    }

    .ftr__link {
        display: flex;
        justify-content: center;
        padding-top: 22px;
        margin-top: 22px;
        border-top: 1px solid #fff;
    }

    .ftr__link li {
        width: 31.5%;
        margin-right: 20px;
        height: auto;
    }

    .ftr__link li:last-child {
        margin-right: 0;
    }

    .ftr__link li img,
    .ftr__info p img {
        transition: .2s;
        border-radius: 6px;
    }

    .ftr__link li img:hover,
    .ftr__info p img:hover {
        filter: brightness(125%);
        transition: .2s;
    }

    .ftr__info {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin-top: 45px;
    }

    .ftr__info address {
        margin-top: 35px;
    }

    .ftr__info address a {
        display: inline-block;
        margin-left: 1rem;
    }

    .ftr__info p {
        width: 31.5%;
    }

    .ftr__btn {
        display: flex;
        justify-content: space-between;
        margin-top: 45px;
    }

    .ftr__btn li {
        margin-right: 15px;
    }

    .ftr__btn li:last-child {
        margin-right: 0;
    }

    .ftr__btn a {
        display: block;
        box-sizing: border-box;
        padding: 12px 20px;
        border: 1px solid #fff;
        transition: .2s;
    }

    .ftr__btn a:hover {
        border: 1px solid #ffff00;
        color: #ffff00;
        transition: .2s;
    }

    small {
        margin: 30px 0 65px;
    }
}
@media screen and (max-width: 768px){
	.jh_link {
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		height: 39px;
		border: 1px solid #002c68;
		color: #002c68;
	}

    .ftr__wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 100px 15px 65px 15px !important;
    }

    .ftr__spmn--btn {
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding: 1rem 0;
        margin-top: 25px;
        border: 1px solid #fff;
        /* background-color: #ccc; */
        font-size: 1.62rem;
        font-weight: bold;
        color: #fff;
    }
    .ftr__nav {
        display: none;
        width: 100%;
    }
    .ftr__nav--glb li,
    .ftr__nav--utl li {
        border-bottom: 1px dotted #fff;;
    }
    .ftr__nav--glb li a,
    .ftr__nav--utl li a {
        display: block;
        text-align: left;
        padding: 1rem;
        font-size: 1.62rem;
        font-weight: bold;
        color: #fff;
    }
    .ftr__link {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 76%;
        margin-top: 25px;
    }
    .ftr__link li {
        margin-top: 25px;
    }
    .ftr__link li img,
    .ftr__info p img {
        border-radius: 6px;
    }

    .ftr__info {
        width: 76%;
        margin-top: 70px;
    }
    .ftr__info address {
        margin-top: 25px;
        color: #fff;
    }
    .ftr__info address span {
        display: block;
    }
    .ftr__info p {
        margin-top: 25px;
    }

    .ftr__btn {
        width: 100%;
        margin-top: 25px;
    }
    .ftr__btn li {
        margin-top: 15px;
    }
    .ftr__btn li a {
        display: block;
        padding: 1rem;
        border: 1px solid #fff;
        font-size: 1.62rem;
        color: #fff;
        text-align: center;
    }
    small {
        margin-top: 25px;
        color: #fff;
    }
}



:root {
    --clr-gry: #666;
}

main {
    font-size: 1.728rem;
}

.clr-gry {
    color: var(--clr-gry);
}

#header h2,
#header h3,
#header h4,
#header p,
#header dt,
#header dd,
#header a {
    text-align: center;
}

table {
    line-height: 1.5em;
}


.menu5 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    font-size: 1.48rem;
}

.menu5 li {
    width: calc((100% - 6px) / 5);
    /* font-size: 1.39rem; */
    margin-right: 2px;
}

.menu5 a {
    display: block;
    width: 100%;
    line-height: 34px;
    color: #fff;
}

.menu5 li:nth-child(even) a {
    background: #002D69;
}

.menu5 li:nth-child(even) a:hover {
    background: #99cc00;
}

.menu5 li:nth-child(1) a {
    background: #002D69;
}

.menu5 li:nth-child(1) a:hover {
    background: #99cc00;
}

.menu5 li:nth-child(2) a {
    background: #002D69;
}

.menu5 li:nth-child(2) a:hover {
    background: #99cc00;
}

.menu5 li:nth-child(3) a {
    background: #002D69;
}

.menu5 li:nth-child(3) a:hover {
    background: #99cc00;
}

.menu5 li:nth-child(4) a {
    background: #002D69;
}

.menu5 li:nth-child(4) a:hover {
    background: #99cc00;
}

.menu5 li:nth-child(5) a {
    background: #002D69;
}

.menu5 li:nth-child(5) a:hover {
    background: #99cc00;
}

.faq{
    display:flex;
    flex-direction:column;
    align-items:anchor-center;
}

.list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.list {
    padding-bottom: 30px;
    border-bottom: 1px dotted #666;
}

.list~.list {
    margin-top: 30px;
}

/* ============================================
PCスタイル
============================================ */
@media (min-width:769px) {
    .layout-flex .content .row-2 .parent,
    .layout-flex .content .row-2 ul li a {
        text-align: left !important;
    }
    .menu3r li a {
        font-size: 0.9rem;
    }
    .list .item {
        width: 32%;
        /*4項目23%*/
    }
    .list .item:nth-child(n+6) {
        margin-top: 4%;
    }
    /*　explanation/ss.phpの記述 2026/01/16　*/
    div.header h4.title {
        font-size: 2.24rem;
        font-weight: bold;
    }
    div.header P.desc {
        margin-top: 30px;
        text-align: left;
    }
    div.header p#rbtn-blue {
        display: flex;
        justify-content: center;
    }
    div.header p#rbtn-blue a {
        font-size: 2.24rem;
    }

    /*　explanation/faq.phpの記述 2026/01/16　*/
    section.faq div.message {
        margin-top: 0;
        font-size: 1.65rem;
    }
    .header_nav .menu3r li a {
        font-size: 1.52rem;
    }
    .box2 p.desc {
        font-size: 1.65rem;
        line-height: 2.25rem;
        text-align: left;
    }
    article.post_contents {
        margin-top: 30px;
    }
    article.post_contents div.post_detail {
        margin-top: 0;
    }
    .boshuu h4, boshuu p {
        font-size: 1.73rem;
    }
}

/* ============================================
SPスタイル
============================================ */
@media (max-width:768px) {
    .bread_clumb li, .bread_clumb li a {
        font-size: 1.5rem;
    }
    .menu5 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        padding: 0 10px;
    }

    .menu5 li {
        width: 49.5%;
        margin-bottom: 2px;margin-right: 1px;
    }

    .menu5 a {
        font-size: 1.4rem;
        line-height: 30px;
    }

    .title-32 {
        margin: 2.64rem auto;
        font-size: 2.64rem;
        min-width: 280px;
        width: fit-content;
        font-weight: 700;
        color: #002D69;
        font-style: italic;
        text-align: center;
        letter-spacing: .4em;
        padding: 0 1em .25em;
        border-bottom: 3px solid;
    }

    .menu3r a {
        font-size: 1.3rem;
        line-height: 30px;
    }

    .rbtn-ss > a {
        /* font-size: 1.3rem !important; */
        font-size: 1.73rem !important;
    }

    .list .item {
        width: 50%;
    }

    .list .item:nth-child(2n+1) {
        padding-right: 2%;
    }

    .list .item:nth-child(2n+2) {
        padding-left: 2%;
    }

    .list .item:nth-child(n+3) {
        padding-top: 30px;
        border-top: 1px dotted #666;
        margin-top: 30px;
    }

    /*　explanation/index.phpの記述 2026/01/19　*/
    .links-desc {
        text-align: center;
    }
    .links {
        width: 100%;
    }

    /*　explanation/faq.phpの記述 2026/01/19　*/
    h4.title-faq {
        font-size: 1.85rem;
    }
    .item-faq .desc {
        font-size: 1.5rem;
        text-align: left;
    }


}

.list .item dt img {
    border-radius: 8px;
    width: 100%;
}

.list .item dt a {
    width: 100%;
}

.list .item dt a:hover {
    opacity: 0.7;
}

.list .item dd {
    text-align: center;
    margin: 0;
    padding: 0;
    color: #333333;
    font-size: 1.3em;
    line-height: 1.2em;
}

.list .item dd a {
    text-decoration: none;
}

.list .item dd a:hover {
    color: #FF3300;
}

.list .item dd span {
    font-size: 0.7em;
    color: #666666;
}

.list .item dd span a {
    text-decoration: none;
}

.list .item dd span a:hover {
    color: #FF3300;
}

.link[href] img {
    transition: .2s;
}

.link[href]:hover img {
    opacity: .8;
}

.title-32ex {
    font-size: 1.5rem;
    font-weight: 700;
    color: #002D69;
    line-height: 1.2em;
}

.title-32ex.border {
    min-width: 280px;
    width: fit-content;
    font-style: italic;
    text-align: center;
    letter-spacing: .4em;
    padding: 0 1em .25em;
    border-bottom: 3px solid;
    margin: 0 auto 1.0em;
}

@media (max-width:768px) {
    .title-32ex.border {
        min-width: 200px;
        letter-spacing: normal;
    }
}

#newicon {
    margin-left: 10px;
    padding: 3px 5px 2px 5px;
    background-color: #FF0000;
    color: #FFF;
    font-size: 0.7em;
    letter-spacing: .1em;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    line-height: 0.4em;
    vertical-align: 2px;
}

#df-c {
    display: flex;
    justify-content: center;
}

#rbtn-blue a {
    display: inline-block;
    font-size: 2.24rem;
    margin: 0em 0.5em 0em 0.5em;
    padding: 0.7em 2.0em 0.8em;
    background: #203675;
    color: #FFFFFF;
    text-decoration: none;
    text-align: center;
    border-radius: 2.2em;
    /*float:left;*/
    line-height: 1.5em;
}

#rbtn-blue a:hover {
    background: #99CC00;
}

@media (max-width:768px) {
    #df-c {
        display: block;
        justify-content: center;
    }

    #rbtn-blue a {
        display: block;
        /* padding: 0.3rem 0.5rem 0.3rem; */
        margin: 0 auto 1rem;
        background: #203675;
        float: none;
    }
}

/* ============================================
メニュー3
============================================ */

.menu3 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    font-size: 1.48rem;
}

.menu3 li {
    width: calc((100% - 6px) / 3);
    /* font-size: 1.39rem; */
    margin-right: 2px;
}

.menu3 a {
    display: block;
    width: 100%;
    line-height: 34px;
    color: #fff;
}

.menu3 li:nth-child(even) a {
    background: #002D69;
}

.menu3 li:nth-child(even) a:hover {
    background: #99cc00;
}

.menu3 li:nth-child(1) a {
    background: #002D69;
}

.menu3 li:nth-child(1) a:hover {
    background: #99cc00;
}

.menu3 li:nth-child(2) a {
    background: #002D69;
}

.menu3 li:nth-child(2) a:hover {
    background: #99cc00;
}

.menu3 li:nth-child(3) a {
    background: #002D69;
}

.menu3 li:nth-child(3) a:hover {
    background: #99cc00;
}

.menu3 li:nth-child(4) a {
    background: #002D69;
}

.menu3 li:nth-child(4) a:hover {
    background: #99cc00;
}

.menu3 li:nth-child(5) a {
    background: #002D69;
}

.menu3 li:nth-child(5) a:hover {
    background: #99cc00;
}

@media (max-width:768px) {
    .menu3 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        padding: 0 10px;
    }

    .menu3 li {
        width: 49.5%;
        margin-bottom: 2px;
		margin-right: 1px;
    }

    .menu3 a {
        font-size: 1.4rem;
        line-height: 30px;
    }
}


/* ============================================
メニュー2
============================================ */

.menu2 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    font-size: 1.48rem;
}

.menu2 li {
    width: calc((100% - 6px) / 2);
    /* font-size: 1.39rem; */
    margin-right: 2px;
}

.menu2 a {
    display: block;
    width: 100%;
    line-height: 34px;
    color: #fff;
}

.menu2 li:nth-child(even) a {
    background: #002D69;
}

.menu2 li:nth-child(even) a:hover {
    background: #99cc00;
}

.menu2 li:nth-child(1) a {
    background: #002D69;
}

.menu2 li:nth-child(1) a:hover {
    background: #99cc00;
}

.menu2 li:nth-child(2) a {
    background: #002D69;
}

.menu2 li:nth-child(2) a:hover {
    background: #99cc00;
}

.menu2 li:nth-child(3) a {
    background: #002D69;
}

.menu2 li:nth-child(3) a:hover {
    background: #99cc00;
}

.menu2 li:nth-child(4) a {
    background: #002D69;
}

.menu2 li:nth-child(4) a:hover {
    background: #99cc00;
}

.menu2 li:nth-child(5) a {
    background: #002D69;
}

.menu2 li:nth-child(5) a:hover {
    background: #99cc00;
}

@media (max-width:768px) {
    .menu2 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        padding: 0 10px;
    }

    .menu2 li {
        width: 49.5%;
        margin-bottom: 2px;
    }

    .menu2 a {
        font-size: 1.4rem;
        line-height: 30px;
    }
}

/* ============================================
中高（総合）、中学、高校フッターバナー2カラム用
============================================ */
	.ftr__link2 {
        display: flex;
        justify-content: center;
        padding-top: 22px;
        margin-top: 22px;
        border-top: 1px solid #fff;
    }

    .ftr__link2 li {
        width: 48.0%;
        margin-right: 20px;
        height: auto;
    }

    .ftr__link2 li:last-child {
        margin-right: 0;
    }

    .ftr__link2 li img,
    .ftr__info p img {
        transition: .2s;
        border-radius: 6px;
    }

    .ftr__link2 li img:hover,
    .ftr__info p img:hover {
        filter: brightness(125%);
        transition: .2s;
    }

@media screen and (max-width: 768px){
.ftr__link2 {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 76%;
        margin-top: 25px;
    }
    .ftr__link2 li {
        margin-top: 25px;
    }
    .ftr__link2 li img {
        border-radius: 6px;
    }
}

