.mv {
    margin-top: 120px;
    margin-bottom: 100px;
    position: relative;
}
.mv video.mainVisual_movie {
    width: 100%;
    height: calc(100vh - 180px);
    object-fit: cover;
}
.mv .mv-title {
    position: absolute;
    left: 4vw;
    top: -30px;
    z-index: 1;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 14px;
}
.mv .mv-title > div {
    border-radius: 5px;
    background-color: #72cbf5;
    color: #fff;
    font-size: 3rem;
    font-family: a-otf-ryumin-pr6n, serif;
    writing-mode: vertical-rl;
    padding: 14px 5px;
    letter-spacing: 3px;
}

.mv .mv-banner {
    width: 250px;
    position: absolute;
    right: 20px;
    bottom: 20px;
}
.mv .mv-banner a {
    display: block;
    margin-top: 1em;
}

@media screen and (max-width: 1023px) {
    .mv .mv-banner {
        width: 215px;
        position: absolute;
        right: 7px;
        bottom: 0px;
    }
}
@media screen and (max-width: 767px) {
    .mv {
        margin-top: 120px;
        margin-bottom: 40px;
        position: relative;
    }
    .mv .mv-title > div {
        font-size: 2rem;
        padding: 14px 3px;
        letter-spacing: 2px;
    }
    .mv .mv-banner {
        width: 90%;
        position: relative;
        top: 0;
        right: 0;
        bottom: inherit;
        left: 0;
        margin: -100px auto 0;
    }
}
#intro {
    padding: 0 0 130px;
    position: relative;
}
#intro:after {
    content: "";
    position: absolute;
    right: 6vw;
    bottom: -40px;
    background: url(../img/top/cara.png) center center no-repeat;
    background-size: contain;
    width: 250px;
    height: 240px;
}
#intro .intro-flex {
    gap: 40px;
    margin-bottom: 60px;
}
#intro .intro-flex .col-l {
    width: 355px;
}
#intro .intro-flex .col-r {
    flex: 1;
}

#intro .intro-flex .col-r .school{
    padding:0 15px;
}

#intro .intro-flex h2 {
    padding-bottom: 60px;
    position: relative;
}
#intro .intro-flex h2:before {
    content: "";
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/top/school_logo.png) center center no-repeat;
    background-size: contain;
    width: 205px;
    height: 212px;
    z-index: -1;
}
#intro .intro-flex p {
    color: #b0272d;
    line-height: 2;
    font-weight: bold;
}
@media screen and (max-width: 1023px) {
    #intro {
        padding: 0 4vw 40px;
        position: relative;
    }
    #intro:after {
        content: none;
    }
    #intro .intro-flex {
        flex-wrap: wrap;
    }
    #intro .intro-flex .col-l {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px;
    }
    #intro .intro-flex h2 {
        padding-bottom: 0px;
        position: relative;
        width: 50%;
    }
    #intro .intro-flex h2:before {
        content: "";
        position: absolute;
        bottom: -60px;
        left: 50%;
        transform: translateX(60%);
    }
    #intro .intro-flex p {
        position: relative;
        width: 50%;
        padding-left: 40px;
    }
    #intro .intro-flex .col-r {
        gap: 30px;
    }
}
@media screen and (max-width: 767px) {
    #intro .intro-flex .col-l {
        width: 100%;
        display: block;
        margin-bottom: 30px;
    }
    #intro .intro-flex h2 {
        width: 100%;
    }
    #intro .intro-flex h2:before {
        content: "";
        position: absolute;
        bottom: -140px;
        left: 50%;
        transform: translateX(-50%);
    }
    #intro .intro-flex {
        gap: 0px;
        margin-bottom: 40px;
        flex-direction: column;
    }
    #intro .intro-flex p {
        position: relative;
        width: 100%;
        padding-left: 0;
        padding-top: 40px;
    }
    #intro .intro-flex .col-r {
        flex-direction: column;
    }
    #intro .intro-flex .col-r .school {
        width: 100%;
        text-align: center;
    }
}
#education {
    position: relative;
    z-index: 2;
}
#education .education-flex .col-l,
#education .education-flex .col-r {
    width: 50%;
    max-height: 660px;
    overflow: hidden;
}
#education .education-flex .col-l {
    background-color: #d5effc;
}
#education .education-flex .col-r img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#education .education-flex .txt-inner {
    max-width: 540px;
    float: right;
    padding: 80px 0;
    margin-right: 80px;
}
#education .education-flex .txt-inner h2 {
    font-size: 30px;
    font-family: a-otf-ryumin-pr6n, serif;
    line-height: 1.6;
    margin-bottom: 30px;
}
#education .education-flex .txt-inner h2 + p {
    margin-bottom: 40px;
}
#education .education-flex .txt-inner .more-btn {
    margin: 40px 0 0;
}
#education .swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 30px;
}
#education .swiper-pagination-bullet-active {
    background: #b0272d;
}
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    display: inline-block;
}
@media screen and (max-width: 1023px) {
    #education .education-flex {
        flex-wrap: wrap;
    }
    #education .education-flex .col-l,
    #education .education-flex .col-r {
        width: 100%;
        max-height: 100%;
        overflow: hidden;
    }
    #education .education-flex .col-r {
        margin: 20px 4vw 0;
    }
    #education .education-flex .txt-inner {
        max-width: 100%;
        float: none;
        padding: 40px;
        margin-right: 0;
    }
    #education .education-flex .txt-inner h2 {
        font-size: 30px;
    }
    #education .education-flex .txt-inner h2 + p {
        margin-bottom: 40px;
    }
    #education .education-flex .txt-inner img {
        margin: 0 auto;
        display: block;
    }
    #education .education-flex .txt-inner .more-btn {
        margin: 40px auto 0;
    }
}

#news {
    padding: 100px 0;
}
.news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}
.news-header .title {
    display: flex;
    align-items: center;
    font-size: 2.4rem;
    font-family: a-otf-ryumin-pr6n, serif;
}
.news-header .title .line {
    width: 60px;
    height: 1px;
    background-color: #808080;
    margin: 0 10px;
}
.news-header .title .en {
    color: #a2a2a2;
    font-size: 14px;
    font-family: sans-serif;
}
.news-header .archive-link:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
    background: url(../img/common/link-arrow.svg) center center no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
}

.newsArea {
    display: flex;
    justify-content: space-between;
}
.news-card {
    max-width: 277px;
}
.news-card figure {
    margin-bottom: 10px;
}
.news-card .txt .date {
    color: #808080;
    font-size: 1.4rem;
}
@media screen and (max-width: 1023px) {
    #news {
        padding: 60px 0;
    }

    .news-header .title .line {
        width: 40px;
    }

    .newsArea {
        flex-wrap: wrap;
    }
    .news-card {
        width: 48%;
        max-width: 100%;
        margin-bottom: 40px;
    }
    .news-card figure {
        margin-bottom: 10px;
    }
    .news-card figure img {
        width: 100%;
    }
    .news-card .txt .date {
        color: #808080;
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 767px) {
    .news-card {
        width: 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }
    .news-card figure img {
        width: 100%;
    }
}

#photo {
    padding: 100px 0;
    overflow: hidden;
}
#photo .wrap {
    position: relative;
}

.photo-title {
    position: absolute;
    left: 4vw;
    top: -30px;
    z-index: 10;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 14px;
}
.photo-title > div {
    border-radius: 5px;
    background-color: #72cbf5;
    color: #fff;
    font-size: 3rem;
    font-family: a-otf-ryumin-pr6n, serif;
    writing-mode: vertical-rl;
    padding: 14px 5px;
    letter-spacing: 3px;
}
#photo .photoSwiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 1023px) {
    #photo {
        padding: 40px 0;
        margin-bottom: 60px;
    }

    .photo-title > div {
        font-size: 2.4rem;
    }
}

/* 下層ページ
//////////////////////////////////////////// */
.page-header {
    margin-bottom: 60px;
}
.page-header .header-title {
    text-align: center;
    font-size: 4rem;
    font-weight: bold;
    color: #b0272d;
}
.page-header .header-title > span {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
}
.page-header .header-title + p.intro {
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    color: #444241;
    margin-top: 60px;
}

.header-image {
    position: relative;
    height: 460px;
    margin: 0px calc(50% - 50vw) 60px;
}
.header-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.header-image + .page-header {
    z-index: 2;
    position: relative;
    margin-top: -180px;
    background-color: #fff;
    padding-top: 60px;
    border-radius: 30px;
}

.tabNav {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 100px;
}
.tabNav .item {
    background-color: #cccccc;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
    flex: 1;
    color: #fff;
    position: relative;
    font-size: 3rem;
    font-weight: bold;
    cursor: pointer;
}
.tabNav .item:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -35px;
    width: 27px;
    height: 23px;
    background: url(../img/admission/tab-arrow02.svg) center center no-repeat;
}
.tabNav .item.current {
    background-color: #b0272d;
}
.tabNav .item.current:after {
    background: url(../img/admission/tab-arrow01.svg) center center no-repeat;
}

.tab-content {
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
}
.tab-content.active {
    display: block;
    visibility: visible;
    opacity: 1;
}
#admission .card {
    border: none;
}
#admission .photoSwiper {
    position: relative;
    margin-bottom: 80px;
}
#admission .swiper-wrapper {
    width: 100%;
}
#admission .swiper-pagination {
    bottom: -30px;
}
#admission .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    margin: 0 0 0 10px !important;
    background: #fff !important;
    border: 1px solid #808080;
    opacity: 1;
}
#admission .swiper-pagination-bullet-active {
    background: #b0272d !important;
}
#admission .swiper-pagination-bullet:first-child {
    margin: 0 !important;
}
#admission .swiper-button-next,
#admission .swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
}
#admission .swiper-button-next {
    right: 0px;
}
#admission .swiper-button-prev {
    left: 0px;
}
#admission .swiper-button-next:after,
#admission .swiper-button-prev:after {
    content: "";
    width: 40px;
    height: 40px;
}
#admission .swiper-button-next:after {
    background: url(../img/common/next.png) center center no-repeat;
    background-size: contain;
}
#admission .swiper-button-prev:after {
    background: url(../img/common/prev.png) center center no-repeat;
    background-size: contain;
}

#admission .swiper-slide {
    position: relative;
    opacity: 0.5;
    text-align: center;
}

#admission .swiper-slide.swiper-slide-active {
    opacity: 1;
}

/* single */

@media screen and (max-width: 1023px) {
    .page-header .header-title {
        font-size: 3rem;
    }

    .header-image {
        position: relative;
        height: 185px;
    }
    .header-image + .page-header {
        margin-top: -120px;
        padding-top: 30px;
        border-radius: 20px;
    }
    .page-header .header-title + p.intro {
        font-size: 1.8rem;
        margin-top: 40px;
    }
    #admission .photoSwiper {
        position: relative;
        margin-bottom: 40px;
    }

    #admission .swiper-button-next {
        right: 0px;
    }
    #admission .swiper-button-prev {
        left: 0px;
    }
}

/* 入学・編入案内
//////////////////////////////////////////// */

.pamphlet {
    margin-bottom: 60px;
}
.pamphlet .sec-title + p {
    margin-bottom: 20px;
}

.pamphlet-download-list {
    flex-wrap: wrap;
}
.pamphlet-download-list .card {
    width: 48%;
    margin-bottom: 60px;
}
.pamphlet-download-list .card .card-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 16px;
}
.pamphlet-download-list .card .card-title:before {
    content: "●";
    color: #b0272d;
    display: inline-block;
}
.pamphlet-download-list .card .inner {
    background-color: #f2f2f2;
    border-radius: 16px;
    padding: 30px 20px;
}
.pamphlet-download-list .card .inner .title {
    margin-bottom: 40px;
    gap: 20px;
    justify-content: center;
}
.pamphlet-download-list .card .inner .title p {
    font-weight: bold;
    line-height: 1.5;
}
.pamphlet-download-list .card .inner .title span {
    display: block;
    font-weight: normal;
}
.pamphlet-download-list .card .inner .d-btn {
    display: block;
    background: #b0272d url(../img/common/icon-download.png) center right 40px no-repeat;
    color: #fff;
    font-size: 18px;
    width: 300px;
    line-height: 60px;
    margin: 0 auto;
    text-align: center;
    border-radius: 100vmax;
}
@media screen and (max-width: 1023px) {
    .tabNav {
        gap: 20px;
        margin-bottom: 60px;
    }
    .tabNav .item {
        font-size: 1.8rem;
    }
    .tabNav .item:after {
        bottom: -25px;
        width: 20px;
        height: 19px;
        background: url(../img/admission/tab-arrow02.svg) center center no-repeat;
        background-size: contain;
    }

    .pamphlet {
        margin-bottom: 40px;
    }

    .pamphlet-download-list .card {
        width: 100%;
        margin-bottom: 40px;
    }

    .pamphlet-download-list .card .inner {
        border-radius: 13px;
        padding: 20px 10px;
    }
    .pamphlet-download-list .card .inner .title {
        margin-bottom: 30px;
    }
    .pamphlet-download-list .card .inner .title .icon {
        width: 30px;
    }
    .pamphlet-download-list .card .inner .title p {
        font-size: 14px;
    }
    .pamphlet-download-list .card .inner .d-btn {
        display: block;
        background: #b0272d url(../img/common/icon-download.png) center right 30px no-repeat;
        color: #fff;
        font-size: 16px;
        width: 90%;
        line-height: 45px;
    }
}

/* ごあいさつ
//////////////////////// */
.greeting-box {
    margin-bottom: 60px;
    border-radius: 16px;
    background-color: #efefef;
    align-items: flex-end;
}
.greeting-box .photo {
    width: 50%;
}
.greeting-box .photo img {
    margin: 0 auto;
    display: block;
}
.greeting-box .txt {
    padding: 30px;
    width: 50%;
}

.g-box .txt h2 {
    font-size: 4rem;
    font-weight: bold;
    color: #72cbf5;
    margin-bottom: 60px;
}
.g-box .txt h3 {
    font-size: 3rem;
    font-weight: bold;
    border-left: 6px solid #b0272d;
    padding: 0 10px 0 20px;
    margin-bottom: 34px;
}
.greetings-others {
    flex-wrap: wrap;
}
.greetings-others .g-box {
    width: 48%;
    margin-bottom: 60px;
}
.greetings-others .g-box.wide {
    width: 100%;
}
.greetings-others .g-box img {
    max-width: 100%;
}
.greetings-others .g-box ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}
.greetings-others .g-box ul li {
    width: 47%;
    padding-left: 36px;
    font-size: 18px;
    font-weight: bold;
    background: url(../img/greeting/icon01.png) center left no-repeat;
    background-size: 26px;
}
.greetings-others .g-box .more-btn {
    margin: 40px auto 0;
}
@media screen and (max-width: 1023px) {
    .greeting-box {
        flex-direction: column;
    }
    .greeting-box .photo,
    .greeting-box .txt {
        width: 100%;
    }
    .greeting-box .txt {
        padding: 16px;
    }
    .g-box .txt h2 {
        font-size: 2.4rem;
        margin-bottom: 40px;
    }
    .g-box .txt h3 {
        font-size: 2rem;
        font-weight: bold;
        border-left: 3px solid #b0272d;
        padding: 0 0px 0 16px;
        margin-bottom: 20px;
    }
    .greetings-others {
        flex-wrap: wrap;
        flex-direction: column;
    }
    .greetings-others .g-box {
        width: 100%;
        margin-bottom: 40px;
    }
    .greetings-others .g-box ul {
        gap: 10px;
    }
    .greetings-others .g-box ul li {
        width: 48%;
        padding-left: 30px;
        font-size: 15px;
        font-weight: bold;
        background: url(../img/greeting/icon01.png) center left no-repeat;
        background-size: 23px;
    }
}

.para-image {
    margin: 30px calc(50% - 50vw) 120px;
    width: 100vw;
    height: 680px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.para-image_inner {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 580px;
    top: -100px;
    z-index: -9;
    transition-timing-function: linear;
}
@media screen and (max-width: 767px) {
    .para-image {
        margin: 20px calc(50% - 50vw) 60px;
        width: 100vw;
        height: 300px;
    }
    .para-image_inner {
        width: 100%;
        height: 275px;
    }
}
.spirit-image {
    margin-bottom: 80px;
}

.cara-content {
    margin: 0px calc(50% - 50vw) 60px;
    background: #b0272d;
    padding: 80px 0 0;
}
.cara-content .detail {
    display: flex;
    justify-content: flex-start;
    max-width: 1000px;
    margin: 0 auto;
}
.cara-content .detail .image {
    width: 680px;
}
.cara-content .detail .txt {
    width: calc(100% - 580px);
    color: #fff;
}
.cara-content .detail .txt h3 {
    padding-left: 30px;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
.cara-content .detail .txt h3 span {
    display: block;
    font-size: 16px;
    font-weight: bold;
}
.cara-content .detail .txt p {
    padding-left: 30px;
    font-size: 16px;
}
.cara-content .detail .txt img {
    vertical-align: bottom;
}
@media screen and (max-width: 767px) {
    .cara-content {
        padding: 30px 16px 0;
    }
    .cara-content .detail {
        flex-direction: column;
        max-width: 100%;
        margin: 0 auto;
    }
    .cara-content .detail .image,
    .cara-content .detail .txt {
        width: 100%;
    }
    .cara-content .detail .txt h3 {
        padding-left: 0px;
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 20px;
        margin-top: 20px;
    }
    .cara-content .detail .txt p {
        padding-left: 0px;
        font-size: 14px;
    }
}

/* アクセス
//////////////////////// */
#access .gmap {
    width: 100%;
    height: 600px;
    margin-bottom: 100px;
}
#access .access-info {
    width: 100%;
    margin-bottom: 60px;
    display: flex;
    justify-content: space-between;
}
#access .col-l {
    width: 100%;
    max-width: 390px;
}
#access .col-l .tel {
    font-size: 2.6rem;
}
#access .col-l .more-btn {
    background: #72cbf5;
    margin-top: 30px;
    font-size: 2rem;
}
#access .col-r {
    width: 100%;
    max-width: 520px;
}
#access .col-r dl {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-top: 1px solid #ccc;
}
#access .col-r dt {
    width: 160px;
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #ccc;
}
#access .col-r dt span {
    width: 50px;
    margin-right: 10px;
    text-align: center;
}
#access .col-r dd {
    padding: 10px 0;
    width: calc(100% - 160px);
    border-bottom: 1px solid #ccc;
}
#access h3 {
    font-size: 3rem;
    font-weight: bold;
    border-left: 6px solid #b0272d;
    padding: 0 10px 0 20px;
    margin-bottom: 34px;
}
#access h3 span {
    font-size: 1.8rem;
    font-weight: bold;
    display: inline-block;
    margin-right: 10px;
}
#access .map-imagea {
    margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
    #access .gmap {
        height: 300px;
        margin-bottom: 40px;
    }
    #access .access-info {
        margin-bottom: 40px;
        flex-direction: column;
    }
    #access .col-l {
        margin-bottom: 40px;
    }
    #access .col-l .tel {
        font-size: 2rem;
    }
    #access .col-l .more-btn {
        margin-top: 30px;
        font-size: 1.8rem;
    }

    #access .col-r dt {
        width: 120px;
        padding: 5px;
        font-size: 1.4rem;
    }
    #access .col-r dt span {
        width: 30px;
        margin-right: 10px;
        text-align: center;
    }
    #access .col-r dd {
        padding: 5px 0;
        font-size: 1.4rem;
    }
    #access h3 {
        font-size: 2.4rem;
        font-weight: bold;
        border-left: 3px solid #b0272d;
        padding: 0 0px 0 16px;
        margin-bottom: 24px;
    }
    #access h3 span {
        font-size: 1.6rem;
        margin-right: 5px;
    }
    #access .map-imagea {
        margin-bottom: 40px;
    }
}

/* 給食注文システム
//////////////////////// */

#school-lunch .pay {
    margin-bottom: 100px;
}

#school-lunch .pay p {
    margin-bottom: 30px;
}
.bentou {
    display: flex;
    justify-content: space-between;
}
.bentou li {
    text-align: center;
    margin: 0 20px;
}
.bentou li p {
    padding: 10px ;
}

.menu-block {
    position: relative;
    border-radius: 30px;
    background-color: #f8f4ec;
    padding: 100px 60px 60px 60px;
    margin-top: 60px;
}
.menu-block .menu {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
.menu-block .menu li {
    width: 130px;
}
.menu-block .ribbon {
    position: absolute;
    right: 40px;
    top: -70px;
}
.more-area {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.faq-block {
    border-radius: 30px;
    background-color: #f6f6f6;
    padding: 30px;
    margin-bottom: 40px;
}
.faq-block dt {
    padding: 20px 0 20px 78px;
    position: relative;
    font-size: 22px;
    cursor: pointer;
}

.faq-block dt:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 5px;
    background-image: url(../img/school-lunch/icon-q.png);
    background-size: contain;
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
}
.faq-block dt:after {
    content: "＋";
    display: block;
    position: absolute;
    right: 0;
    top: 5px;
    color: #b0272d;
    font-size: 30px;
}
.faq-block dt.active:after {
    content: "ー";
}
.faq-block dd {
    border-top: 1px solid #ccc;
    position: relative;
    font-size: 20px;
    visibility: hidden;
    opacity: 0;
    line-height: 0;
    transition: line-height 0.3s ease-out, opacity 0.1s linear 0.1s, visibility 0.1s linear 0.1s;
}
.faq-block dd:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 25px;
    background-image: url(../img/school-lunch/icon-a.png);
    background-size: contain;
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
}
.faq-block dd.open {
    padding: 20px 0 20px 78px;
    position: relative;
    font-size: 20px;
    visibility: visible;
    opacity: 1;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    #school-lunch .pay {
        margin-bottom: 52px;
    }
    .menu-block {
        padding: 100px 20px 30px 20px;
        margin-top: 60px;
    }
    .bentou {
        flex-direction: column;
    }
    .menu-block .menu {
        flex-wrap: wrap;
        margin-bottom: 40px;
    }
    .menu-block .menu li {
        width: 48%;
        margin-bottom: 20px;
        text-align: center;
    }
    .more-area {
        display: flex;
        justify-content: center;
        gap: 8px;
    }
    .faq-block dt:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: -3px;
        width: 36px;
        height: 36px;
    }
    .faq-block dd:before {
        width: 36px;
        height: 36px;
    }
    .faq-block dt {
        padding: 0px 30px 20px 50px;
        position: relative;
        font-size: 18px;
        cursor: pointer;
    }
    .faq-block dd.open {
        padding: 20px 0 20px 50px;
        font-size: 16px;
    }
    .faq-block dt:after {
        right: -13px;
        top: -2px;
        color: #b0272d;
        font-size: 21px;
    }
}

/* 教育内容
//////////////////////////////// */
#education .ed-list-box {
    margin-bottom: 20px;
    display: flex;
    gap: 20px;
}
#education .ed-list-box02 {
    display: flex;
    gap: 0 10px;
}
#education .ed-list-box.reverse {
    flex-direction: row-reverse;
}
#education .box {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#education .box .photo {
    flex: 1;
    border-radius: 15px;
    overflow: hidden;
}
#education .box .photo > img {
    width: 100%;
    height: 100%;
    //object-fit: cover;
}
#education .txt {
    width: 100%;
    background-color: #f8f4ec;
    padding: 22px;
    border-radius: 15px;
}
#education .txt h3 {
    color: #b0272d;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}
#education .txt h3.center {
    text-align: center;
}
#education .ed-list-box02 {
    display: flex;
    gap: 0 10px;
}
#education .ed-list-box02 .box {
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    display: flex;
    gap: 0;
    flex-wrap: nowrap;
}
#education .ed-list-box02 .box .photo {
    display: block;
    border-radius: 15px 15px 0 0;
    overflow: hidden;
    height: 160px;
    flex: auto;
    width: 100%;
}

#education .ed-list-box02 .txt {
    border-radius: 0 0 15px 15px;
    flex-basis: calc(100% - 160px);
}

.ed-system {
    text-align: center;
    margin: 4em 0 8em;
}
.sec {
    margin-bottom: 80px;
}
#education .info {
    background-color: #b0272d;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 15px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.g-wrap01 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 176px 1fr;
    gap: 10px 10px;
    grid-template-areas:
        "col1 col2 col3 col4 col5"
        "col1 col2 col3 col4 col5";
}
.g-wrap01 .info {
    grid-area: info;
    height: 176px;
}
.g-wrap01 .col1 {
    grid-area: col1;
}
.g-wrap01 .col2 {
    grid-area: col2;
}
.g-wrap01 .col3 {
    grid-area: col3;
}
.g-wrap01 .col4 {
    grid-area: col4;
}
.g-wrap01 .col5 {
    grid-area: col5;
}

/*.g-wrap01 .box,
.g-wrap02 .box {
    height: 100%;
}
*/


.g-wrap02 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 148px 1fr;
    gap: 10px 10px;
    grid-auto-flow: row;
    grid-template-areas:
        "col1 col2 col3 col4"
        "col1 col2 col3 col4";
    margin-bottom: 60px;
}

.g-wrap02 .info {
    grid-area: info;
}

.g-wrap02 .col1 {
    grid-area: col1;
}

.g-wrap02 .col2 {
    grid-area: col2;
}

.g-wrap02 .col3 {
    grid-area: col3;
}

.g-wrap02 .col4 {
    grid-area: col4;
}
#education .w-photo {
    position: relative;
    margin-top: 60px;
    margin-bottom: 30px;
}
#education .w-photo p {
    margin-top: 2em;
}
#education .tate-txt {
    position: absolute;
    left: 4vw;
    top: -30px;
    z-index: 1;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 14px;
}
#education .tate-txt.right {
    left: inherit;
    right: 4vw;
}
#education .tate-txt > div {
    border-radius: 5px;
    background-color: #72cbf5;
    color: #fff;
    font-size: 3rem;
    font-family: a-otf-ryumin-pr6n, serif;
    writing-mode: vertical-rl;
    padding: 14px 5px;
    letter-spacing: 3px;
}
#education h4 {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 10px;
}
#education h4:before {
    content: "●";
    display: inline-block;
    color: #b0272d;
    margin-right: 5px;
}
#education .dokawariBox {
    background-color: #d5effc;
    border-radius: 20px;
    position: relative;
    padding: 60px 40px 30px;
    margin-top: 60px;
}
#education .dokawariBox .kodawari-title {
    background-color: #004ea2;
    border-radius: 20px;
    color: #fff;
    position: absolute;
    padding: 10px 30px;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    gap: 10px;
    font-size: 2rem;
    font-weight: bold;
    white-space: nowrap;
}
#education .dokawariBox figure {
    text-align: center;
}
#education .dokawariBox .kodawari-title span,
#education .dokawariBox .kodawari-title img {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
}
#education .dokawariBox P {
    margin-top: 20px;
}

#education .afterschool {
    flex-wrap: wrap;
}
#education .afterschool .box {
    width: 48%;
    flex: 0 0 48%;
    margin-bottom: 40px;
}
#education .afterschool .course {
    background-color: #d5effc;
    padding: 5px 20px;
    font-size: 1.8rem;
    border-radius: 8px;
    font-weight: bold;
    width: 100%;
    margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
    #education .dokawariBox {
        border-radius: 10px;
        position: relative;
        padding: 27px 18px 21px;
        margin-top: 30px;
    }
    #education .dokawariBox .kodawari-title {
        border-radius: 14px;
        padding: 10px 20px;
        top: 0px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 1.8rem;
        white-space: inherit;
        width: 100%;
        display: flex;
        align-items: center;
        position: relative;
        margin-bottom: 20px;
    }
    #education .afterschool .box {
        width: 100%;
        flex: 1;
        margin-bottom: 20px;
    }
    #education .ed-list-box {
        flex-direction: column;
    }
    #education .ed-list-box.reverse {
        flex-direction: column;
    }
    .ed-system {
        text-align: center;
        margin: 3em 0 4em;
    }

    #education .info {
        font-size: 1.6rem;
        padding: 12px;
    }

    .g-wrap01,
    .g-wrap02 {
        display: block;
    }
    .g-wrap01 .info,
    .g-wrap02 .info {
        height: auto;
    }
    .g-wrap01 > div,
    .g-wrap02 > div {
        margin-bottom: 20px;
    }
    #education .tate-txt {
        position: absolute;
        left: 0;
        top: -30px;
        gap: 10px;
    }
    #education .tate-txt > div {
        font-size: 1.4rem;
        padding: 10px 2px;
        letter-spacing: 2px;
    }

    #education .ed-list-box02 {
        display: flex;
        gap: 15px 10px;
        flex-wrap: wrap;
    }
    #education .ed-list-box02 .box {
        flex: 0 0 48%;
    }
    #education .txt {
        padding: 15px;
        border-radius: 10px;
    }

    #education .ed-list-box02 .box .photo {
        border-radius: 10px 10px 0 0;
        height: 110px;
    }
    #education .ed-list-box02 .txt {
        border-radius: 0 0 10px 10px;
        flex-basis: calc(100% - 110px);
    }
    #education .txt h3 {
        font-size: 16px;
    }
}

/* 教育方針
//////////////////////////////// */
#education .policy-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 100px;
}
#education .policy-list .item {
    width: 50%;
    text-align: center;
    margin-bottom: 60px;
}
#education .policy-list .item h3 {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

#education .policy-list .item figure {
    margin: 1.5em 0;
}

.day-flow {
    margin-bottom: 30px;
    background-color: #f8f4ec;
    padding: 32px;
    border-radius: 15px;
    position: relative;
}
.day-flow:not(:last-of-type):after {
    content: "";
    width: 4px;
    height: 192px;
    background: url(../img/ed-policy/dot.png) center top no-repeat;
    background-size: contain;
    position: absolute;
    left: 100px;
    bottom: -130px;
    z-index: 10;
}
.day-flow .time {
    width: 140px;
    text-align: center;
}
.day-flow .flow h3 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 16px;
}
.day-flow .photo {
    margin-left: auto;
    width: 30%;
}
@media screen and (max-width: 768px) {
    #education .policy-list {
        margin-top: 50px;
    }
    #education .policy-list .item {
        width: 100%;
    }
    #education .policy-list .item:last-of-type {
        margin-bottom: 0;
    }
    #education .policy-list .item h3 {
        font-size: 2rem;
    }

    #education .policy-list .item figure {
        padding: 0 40px;
    }

    .day-flow {
        margin-bottom: 30px;
        padding: 22px;
        border-radius: 10px;
        position: relative;
        flex-wrap: wrap;
    }
    .day-flow:not(:last-of-type):after {
        content: "";
        width: 4px;
        height: 62px;
        background-size: auto;
        position: absolute;
        left: 50%;
        bottom: -50px;
        z-index: 10;
        transform: translateX(-50%);
    }
    .day-flow .time {
        width: 46px;
        text-align: center;
        margin-right: 20px;
    }
    .day-flow .flow {
        flex: 1;
    }
    .day-flow .flow h3 {
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 6px;
    }
    .day-flow .photo {
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }
}
/* アフタースクール
///////////////////////////// */
#afterschool .after-school-main {
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(../img/afterschool/main01.png) center top no-repeat;
    background-size: cover;
    padding: 60px 20px;
    border-radius: 30px;
    overflow: hidden;
}
#afterschool .after-school-main h2 {
    margin-bottom: 40px;
    background-color: #72cbf5;
    color: #fff;
    font-size: 3.4rem;
    font-family: a-otf-ryumin-pr6n, serif;
    padding: 3px 30px;
    border-radius: 8px;
}
#afterschool .after-school-main h3 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
}
#afterschool .after-school-main p {
    text-align: center;
}
#afterschool .after-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#afterschool .after-list .item {
    margin-bottom: 30px;
    width: 48%;
}


#afterschool .after-list .item.wide {
    width: 100%;
    align-items: center;
}
#afterschool .after-list .item.col-3 {
    margin-bottom: 30px;
    width: 31%;
}

#afterschool .photo {
    width: 100%;
    height: 285px;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
}
#afterschool .txt {
    width: 100%;
    background-color: #f8f4ec;
    padding: 22px;
    border-radius: 0 0 15px 15px;
}
#afterschool .txt h3 {
    color: #b0272d;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}
#afterschool .after-list .item.wide .photo {
    width: 50%;
    flex: 1;
    border-radius: 15px 0 0 15px;
}
#afterschool .after-list .item.wide .txt {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    border-radius: 0 15px 15px 0;
}

#afterschool .after-list .item.col-3 .photo {
    height: 186px;
}
@media screen and (max-width: 768px) {
    #afterschool .after-school-main {
        margin-bottom: 30px;
        padding: 30px 10px;
        border-radius: 20px;
    }
    #afterschool .after-school-main h2 {
        margin-bottom: 20px;
        font-size: 2rem;
        padding: 3px 20px;
    }
    #afterschool .after-school-main h3 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    #afterschool .after-list .item {
        margin-bottom: 20px;
        width: 100%;
    }
    #afterschool .after-list .item.col-3 {
        margin-bottom: 20px;
        width: 100%;
    }

    #afterschool .photo {
        width: 100%;
        height: auto;
        overflow: hidden;
        border-radius: 15px 15px 0 0;
    }
    #afterschool .photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        vertical-align: bottom;
    }
    #afterschool .after-list .item.wide {
        flex-wrap: wrap;
    }
    #afterschool .after-list .item.wide .photo {
        width: 100%;
        flex: auto;
        height: auto;
        border-radius: 15px 15px 0 0;
    }
    #afterschool .after-list .item.wide .txt {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: auto;
        border-radius: 0 0 15px 15px;
    }

    #afterschool .after-list .item.col-3 .photo {
        height: 210px;
    }
}

/* お知らせ
//////////////////////// */
.information-flex {
    align-items: flex-start;
}
#information .information {
    width: 708px;
}

#information .side {
    width: calc(100% - 788px);
    background-color: #f9f5ed;
    border-radius: 15px;
    padding: 30px;
}
.infobox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 60px;
}
.infobox h2 {
    font-size: 2.8rem;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 3px solid #b0272d;
    margin-bottom: 20px;
    width: 100%;
}
.infobox .photo {
    width: 330px;
    border-radius: 15px;
    overflow: hidden;
}
.infobox .txt {
    width: calc(100% - 360px);
}
.infobox .txt .date {
    text-align: right;
    color: #808080;
    margin-bottom: 16px;
    font-size: 14px;
}
.infobox .txt .btn {
    width: 200px;
}
.infobox .txt .btn {
    width: 100%;
    margin-top: 20px;
}
.infobox .txt .more-btn {
    width: 200px;
    float: right;
}

.pagenation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 6em 0;
}

.pagenation a {
    background-color: #f4f4f4;
    color: #a1a1a1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 100vmax;
}
.pagenation a.prev,
.pagenation a.next {
    background-color: transparent;
    color: #d4d4d4;
}
.pagenation span {
    background-color: #b0272d;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 100vmax;
}
#information .side .side-sec {
    margin-bottom: 40px;
}
#information .side .side-sec h3 {
    color: #b0272d;
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
}
#information .side .side-sec dt {
    position: relative;
    font-size: 14px;
    padding-left: 15px;
    cursor: pointer;
}
#information .side .side-sec dd {
    position: relative;
    font-size: 14px;
}

#information .side .side-sec dt:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 7px;
    background-image: url(../img/information/arrow.png);
    background-size: contain;
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 10px;
    height: 9px;
    transition: all 0.3s;
}
#information .side .side-sec dt.active:before {
    content: "";
    transform: rotate(90deg);
    top: 9px;
}
#information .side .side-sec dd {
    padding: 0px 0 0px 18px;
    position: relative;
    visibility: hidden;
    opacity: 0;
    height: 0;
    line-height: 0;
    transition: line-height 0.3s ease-out, opacity 0.1s linear 0.1s, visibility 0.1s linear 0.1s;
}
#information .side .side-sec dd.open {
    position: relative;
    visibility: visible;
    opacity: 1;
    height: auto;
    line-height: 1.5;
}
#information .side .side-sec li {
    margin-bottom: 4px;
}
#information .side .side-sec li:before {
    content: "・";
    display: inline-block;
    margin-right: 2px;
    color: #b0272d;
}

#information .side .side-sec a.cat {
    font-weight: bold;
    font-size: 1.6rem;
    display: block;
}
#information .side .side-sec a.cat:before {
    content: "・";
    display: inline-block;
    margin-right: 2px;
    color: #b0272d;
}
@media screen and (max-width: 768px) {
    .information-flex {
        align-items: flex-start;
        flex-direction: column;
    }
    #information .information {
        width: 100%;
    }

    #information .side {
        width: 100%;
        border-radius: 10px;
        padding: 20px 10px;
    }
    .infobox {
        flex-wrap: wrap;
        margin-bottom: 40px;
    }
    .infobox h2 {
        font-size: 2rem;
        padding-bottom: 5px;
        border-bottom: 2px solid #b0272d;
        margin-bottom: 20px;
        width: 100%;
    }
    .infobox .photo {
        width: 100%;
        border-radius: 10px;
        margin-bottom: 16px;
    }
    .infobox .txt {
        width: 100%;
    }
    .infobox .txt .date {
        font-size: 14px;
    }
    .infobox .txt .btn {
        width: 100%;
    }
    .infobox .txt .more-btn {
        width: 200px;
        float: none;
    }

    .pagenation {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        margin: 6em 0;
    }

    .pagenation a {
        background-color: #f4f4f4;
        color: #a1a1a1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 100vmax;
    }

    .pagenation span {
        width: 36px;
        height: 36px;
        border-radius: 100vmax;
    }
    #information .side .side-sec {
        margin-bottom: 20px;
    }
}

/* 投稿詳細
//////////////////////// */
.single-header {
    margin-bottom: 30px;
    width: 100%;
}
.single-header h1 {
    margin-bottom: 20px;
    font-size: 3.6rem;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 3px solid #b0272d;
    width: 100%;
}
.single-header h1 {
    margin-bottom: 20px;
    font-size: 3.6rem;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 3px solid #b0272d;
    width: 100%;
}
.single-header .date {
    color: #808080;
    font-size: 1.4rem;
    text-align: right;
}

.single-body {
    margin-bottom: 60px;
}

.single-body figure {
    margin: 30px 0;
    width: 100%;
    overflow: hidden;
}
.single-body figure img {
    border-radius: 20px;
}
.single-body .block {
    margin-bottom: 40px;
}
.single-body h2 {
    font-size: 3rem;
    font-weight: bold;
    border-left: 6px solid #b0272d;
    padding: 0 10px 0 20px;
    margin-bottom: 24px;
    color: #444241;
}
.single-body h3 {
    color: #444241;
    font-size: 2.4rem;
    font-weight: bold;
    background-color: #d5effc;
    border-radius: 10px;
    padding: 8px 20px;
    margin-bottom: 24px;
}
.single-body h4 {
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: 3px solid #d5effc;
    padding: 0 10px 0 0;
    margin-bottom: 20px;
    color: #444241;
}
.single-body h5 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
    color: #444241;
}
.single-body h5:before {
    content: "●";
    display: inline-block;
    color: #b0272d;
    margin-right: 3px;
}
.single-body h6 {
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: 3px solid #e0e0e0;
    padding: 0 10px 0 0;
    margin-bottom: 20px;
    color: #444241;
}
.single-body p {
    line-height: 2;
}
.single-body p a {
    color: #b0272d;
}
.single-body ul > li {
    margin-left: 1em;
    margin-bottom: 10px;
    position: relative;
}
.single-body ul > li:before {
    content: "・";
    position: absolute;
    left: -16px;
    top: -3px;
    color: #b0272d;
    font-size: 20px;
}
.single-body ol {
    counter-reset: count 0;
    margin-left: 1em;
}
.single-body ol > li {
    position: relative;
}
.single-body ol > li:before {
    content: counter(count) ".";
    counter-increment: count 1;
    position: absolute;
    left: -16px;
    top: 0;
    color: #b0272d;
}
.single-body .line-through {
    text-decoration: line-through;
}
.single-body .sup {
    vertical-align: super;
    font-size: smaller;
}
.single-body .sub {
    vertical-align: sub;
    font-size: smaller;
}
.single-body .link {
    background: url(../img/information/link.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .excel {
    background: url(../img/information/excel.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .word {
    background: url(../img/information/word.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .pdf {
    background: url(../img/information/pdf.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .power {
    background: url(../img/information/power.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .tel {
    background: url(../img/information/tel.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}
.single-body .mail {
    background: url(../img/information/mail.png) center left no-repeat;
    background-size: 18px;
    padding: 5px 28px;
}

.single-body .column {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.single-body .column li {
    margin: 0;
}
.single-body .column li:before {
    content: none;
}
.single-body .column .col-1 {
    width: 100%;
}
.single-body .column .col-2 {
    width: calc(50% - 10px);
}
.single-body .column .col-3 {
    width: calc(33.33% - 14px);
}
.single-body table {
    border-collapse: collapse;
    margin-bottom: 30px;
    width: 100%;
}
.single-body table th,
.single-body table td {
    padding: 20px;
    background-color: #f4f4f4;
    font-size: 16px;
}
.single-body table th {
    background-color: #b0272d;
    color: #fff;
    vertical-align: middle;
}
.single-body .table-type2 tr {
    border-bottom: 4px solid #fff;
}
.single-body .table-type2 th {
    width: 32%;
}
.single-body .table-type2 th.bgBlue {
    background-color: #72cbf5;
    color: #000;
    width: 32%;
}
.single-body .table-type-normal th {
    border: 3px solid #fff;
}
.single-body .table-type-normal td {
    border: 3px solid #fff;
}
.single-body blockquote {
    position: relative;
    background-color: #d5effc;
    border-radius: 10px;
    padding: 30px;
}
.single-body blockquote:before {
    position: absolute;
    content: "“";
    font-size: 50px;
    line-height: 1;
    color: #fff;
    left: 26px;
    top: -13px;
    z-index: 2;
    font-family: a-otf-ryumin-pr6n, serif;
}
.single-body blockquote:after {
    position: absolute;
    content: "";
    background-color: #72cbf5;
    width: 40px;
    height: 40px;
    left: 18px;
    top: -20px;
    border-radius: 100vmax;
}
.single-body blockquote p {
    position: relative;
    padding-left: 30px;
}
.single-body dl {
    position: relative;
    padding: 0 30px 30px;
}
.single-body dl:before {
    position: absolute;
    left: 0;
    top: 10px;
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #d5effc;
    border-radius: 15px;
}
.single-body dl dt {
    background-color: #fff;
    padding: 0 10px;
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
    display: inline-block;
}
.single-body dl dd {
    padding: 0 10px;
}
.single-body .single-tabNav {
    display: flex;
    justify-content: flex-start;
    gap: 5px;
}
.single-body .single-tabNav .item {
    background-color: #f4f4f4;
    border-radius: 10px 10px 0 0;
    padding: 10px;
    text-align: center;
    flex: 1;
    color: #878787;
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    cursor: pointer;
}

.single-body .single-tabNav .item.current {
    background-color: #b0272d;
    color: #fff;
}

.single-body .single-tab-content {
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
    border: 2px solid #b0272d;
    border-radius: 0 0 10px 10px;
    padding: 0 20px;
}
.single-body .single-tab-content.active {
    display: block;
    visibility: visible;
    opacity: 1;
    padding: 20px;
}
.accBox {
    margin-bottom: 3px;
}
.accBox .single-accbtn {
    position: relative;
    background: #f4f4f4 url(../img/information/acc-open.png) right 15px top 10px no-repeat;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
}
.accBox .single-accbtn.active {
    position: relative;
    background: #b0272d url(../img/information/acc-close.png) right 15px top 10px no-repeat;
    padding: 10px 16px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
    color: #fff;
}
.accBox .single-accontet {
    border: 2px solid #b0272d;
    border-radius: 0 0 10px 10px;
    position: relative;
    visibility: hidden;
    opacity: 0;
    height: 0;
    line-height: 0;
    padding: 0 20px;
    transition: line-height 0.3s ease-out, opacity 0.1s linear 0.1s, visibility 0.1s linear 0.1s;
}

.accBox .single-accontet.open {
    padding: 20px;
    visibility: visible;
    opacity: 1;
    line-height: 1.5;
    height: auto;
}
.back-btn {
    margin: 6em 0;
}
.back-btn a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 100vmax;
    background-color: #b0272d;
    color: #fff;
    padding: 8px;
    width: 30rem;
    height: 5.5rem;
    font-size: 1.6rem;
    font-weight: 500;
    position: relative;
    margin: 0 auto;
}
.back-btn a:before {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%) rotate(315deg);
    width: 1.2rem;
    height: 1.2rem;
    order-top: 1px solid #fff;
    border-left: 1px solid #fff;
}
.back-btn a:after {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 1px;
    background-color: #fff;
}
@media screen and (max-width: 768px) {
    .single-header h1 {
        font-size: 2.2rem;
    }
    .single-body h2 {
        font-size: 2rem;
    }
    .single-body h3 {
        font-size: 1.8rem;
    }
}
/* discover
/////////////////// */

.discover {
    flex-wrap: wrap;
}
.discover .item {
    background-color: #f7f7f7;
    text-align: center;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 30px;
}
.discover .item > p {
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 20px;
    color: #444241;
}
.col-2 {
    width: calc(100% / 2 - 30px);
}
.col-3 {
    width: calc(100% / 3 - 30px);
}
#discover .education .education-item figure {
    margin-bottom: 20px;
}
#discover .education .education-item h3 {
    color: #b0272d;
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 16px;
}
#discover .education .education-item ul {
    display: flex;
    gap: 20px;
}
#discover .education .education-item ul li:first-child {
    font-size: 2rem;
    font-weight: bold;
}

#discover .target {
    background-color: #f8f4ec;
    border-radius: 15px;
    padding: 50px 20px;
    text-align: center;
}
#discover .target > h2 {
    color: #b0272d;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 20px;
}
#discover .image .txt {
    flex: 1;
}
#discover .image .txt li {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 16px;
}
#discover .image .txt li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    width: 30px;
    height: 30px;
    background: url(../img/discover/icon-book.png) center center no-repeat;
    background-size: cover;
}
@media screen and (max-width: 768px) {
    #discover .flexbox {
        flex-wrap: wrap;
    }
    #discover .flexbox > div {
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
    }
    #discover .flexbox > div.col-2,
    #discover .flexbox > div.col-3 {
        width: 100%;
    }
    .discover .item > p {
        font-weight: bold;
        font-size: 1.8rem;
    }
    #discover .education .education-item h3 {
        font-size: 1.6rem;
        margin-bottom: 8px;
    }
    #discover .education .education-item ul {
        display: block;
    }
    #discover .target {
        padding: 20px;
    }
    #discover .image .txt {
        text-align: left;
    }
    #discover .image .txt li {
        font-size: 1.6rem;
        text-align: left;
        font-weight: bold;
        margin-bottom: 8px;
    }
    #discover .image .txt li:before {
        content: "";
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
        width: 20px;
        height: 20px;
        background: url(../img/discover/icon-book.png) center center no-repeat;
        background-size: cover;
    }
}
.table td,
.table th {
    padding: 0.75rem 2rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}
.table-striped th {
    width: 10em;
    font-weight: normal;
    text-align: right;
}
.table-striped th b {
    opacity: 0;
}
/* 校歌
////////////////////////////////////////////// */
.school-song .title {
    text-align: center;
    margin-bottom: 60px;
    font-size: 5rem;
    letter-spacing: 8px;
}
.school-song .title > span {
    display: block;
    text-align: center;
    font-size: 2.4rem;
}
.audio {
    width: 100%;
    margin-bottom: 40px;
}
.audio audio {
    width: 100%;
}

.song-wrap {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    border: 5px solid #d5effc;
    padding: 40px;
}
@media screen and (max-width: 768px) {
    .school-song .title {
        text-align: center;
        margin-bottom: 40px;
        font-size: 3rem;
        letter-spacing: 2px;
    }
    .school-song .title > span {
        font-size: 1.8rem;
    }

    .song-wrap {
        display: flex;
        flex-direction: column;
        gap: 20px;
        border: 5px solid #d5effc;
        padding: 20px;
    }
}

/* お問い合わせ
/////////////////////// */
.border-warning {
    border-color: #ffc107 !important;
    border-width: 2px;
    max-width: 100%;
    width: 50%;
}
.border-danger {
    border-color: #dc3545 !important;
    border-width: 2px;
    max-width: 100%;
}
.p-3 {
    padding: 1rem !important;
}
.text-danger {
    color: #dc3545 !important;
    font-weight: bold;
    margin-bottom: 1rem;
}
.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;

    margin: 0 auto;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
}
.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: #ffc107 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: a-otf-ryumin-pr6n, serif;
}
.card-body {
    padding: 1rem;
    text-align: center;
}
.card ul {
    padding-left: 1.5em;
    margin-bottom: 0.5em;
    list-style: disc;
}
.card li {
    margin-bottom: 1.5em;
}
.card h5 {
    color: #cc0000;
    font-weight: bold;
}
.form {
    order: 1;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}
.form-side {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    order: 2;
}
.form-title {
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
    font-family: a-otf-ryumin-pr6n, serif;
}
.btn {
    display: inline-block;
    margin: 0 10px;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1.6rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn-primary {
    color: #000;
    background-color: #d5effc;
    //border-color: #000;
}
.btn-warning {
    color: #fff;
    background-color: #ffc107;
    border-color: #ffc107;
}
.text-right {
    text-align: right !important;
}
.btn-group-sm > .btn,
.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
    border-radius: 0.2rem;
}
.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}
.btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
}
.form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form .flexbox {
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.form .col-2 {
    order: 1;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
    padding: 0 16px;
}
.form .col-8 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
    order: 2;
    padding: 0 26px;
}
.form p {
    margin-bottom: 1em;
}
.form-inline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1em;
}
.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
}
@media screen and (max-width: 768px) {
    .border-warning {
        max-width: 100%;
        width: 100%;
    }
    #contact .form-row {
        flex-wrap: wrap;
        flex-direction: column;
    }
    .form {
        order: 2;
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .form-side {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        order: 1;
        margin-bottom: 30px;
    }
    .form .flexbox {
        flex-wrap: wrap;
        flex-direction: column;
        margin-bottom: 20px;
    }
    .form .col-2,
    .form .col-8 {
        order: 1;
        flex: 0 0 100%;
        max-width: 100%;
        padding: 3px 0;
    }
}
/*
施設紹介
*/
#facility .facility-map {
    margin-bottom: 100px;
}
#facility .photoSwiper {
    position: relative;
    margin-bottom: 200px;
    overflow: hidden;
}
#facility .swiper-wrapper {
    width: 100%;
}
#facility .swiper-pagination {
    bottom: -30px;
}
#facility .swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    margin: 0 0 0 10px !important;
    background: #fff !important;
    border: 1px solid #808080;
    opacity: 1;
}
#facility .swiper-pagination-bullet-active {
    background: #b0272d !important;
}
#facility .swiper-pagination-bullet:first-child {
    margin: 0 !important;
}
#facility .swiper-button-next,
#facility .swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
}
#facility .swiper-button-next {
    right: 100px;
}
#facility .swiper-button-prev {
    left: 100px;
}
#facility .swiper-button-next:after,
#facility .swiper-button-prev:after {
    content: "";
    width: 40px;
    height: 40px;
}
#facility .swiper-button-next:after {
    background: url(../img/common/next.png) center center no-repeat;
    background-size: contain;
}
#facility .swiper-button-prev:after {
    background: url(../img/common/prev.png) center center no-repeat;
    background-size: contain;
}

#facility .swiper-slide {
    position: relative;
    opacity: 0.5;
}

#facility .swiper-slide .title {
    position: absolute;
    top: 40px;
    left: -20px;
    border-radius: 15px;
    background-color: #72cbf5;
    display: flex;
    align-items: center;
}
#facility .swiper-slide .title h2 {
    font-size: 1.8rem;
    color: #fff;
    font-family: a-otf-ryumin-pr6n, serif;
    padding: 5px 19px;
    border-right: 1px solid #fff;
}
#facility .swiper-slide .title p {
    font-size: 1.6rem;
    color: #fff;
    padding: 5px 24px;
}
#facility .swiper-slide.swiper-slide-active {
    opacity: 1;
}
@media screen and (max-width: 768px) {
    #facility .facility-map {
        margin-bottom: 50px;
    }
    #facility .photoSwiper {
        position: relative;
        margin-bottom: 40px;
    }

    #facility .swiper-button-next {
        right: 0px;
    }
    #facility .swiper-button-prev {
        left: 0px;
    }

    #facility .swiper-slide .title {
        position: absolute;
        top: 0px;
        left: 0px;
    }
    #facility .swiper-slide .title h2 {
        font-size: 1.8rem;
        padding: 5px 14px;
    }
    #facility .swiper-slide .title p {
        font-size: 1.4rem;
        padding: 5px 14px;
    }
}

#faq  {
    margin-bottom: 50px;
}
#faq .accBox {
    margin-bottom: 20px;
}

