@charset "utf-8";

.pc {
    display: block;

}

.sp {
    display: none;
}

@media screen and (min-width:1024px) {
    /*　画面サイズが1024pxからはここを読み込む　*/
}

@media screen and (min-width:768px) and (max-width:1024px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/

}

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

@media screen and (min-width:300px) and (max-width:480px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    #page {
        background: url(../img/hd-left.png), url(../img/hd-right.png) #ebf6fa;
        background-repeat: no-repeat;
        background-position: left top, right top;
        background-size: 190px;
    }

    .top-header {
        padding: 1rem;
    }

    .top-main-box a {
    width: 100px;
    left: 12%;
    bottom: -3%;
    top: auto;
    }

    .top-irst {
        background: url(../img/page-bg4.png), url(../img/page-bg3.png), url(../img/page-bg2.png), url(../img/page-bg1.png);
        background-repeat: no-repeat;
        background-size: 98px, contain, contain, contain;
        background-position: 13% 50%, right top, left top, top right;
        padding: 0rem 0 7rem;
        margin-top: 7rem;
    }

    .top-news-inner ul li time {
        display: block;
        padding-left: 0;
    }

    .news-more a {
        margin: 1rem 0 0;
    }

    .top-news-inner h2 {
        text-align: center;
        margin-bottom: 1rem;
    }

    .houshin-box {
        display: block;
    }

    .houshin-inner-left {
        width: 100%;
    }

    .houshin-inner-right {
        width: 100%;
        padding: 2rem 0;
    }

    .front-main section.front-menu {
        background: url(../img/front-menu-bg5.png), url(../img/front-menu-bg4.png), url(../img/front-menu-bg3.png), url(../img/front-menu-bg2.png), url(../img/front-menu-bg1.png);
        background-repeat: no-repeat;
        background-size: 60px, 200px, 50px, 390px, 170px;
        background-position: right 35%, 13% 59%, 50% 78%, top right, left 15%;
        padding-top: 8rem;
        margin-top: -5rem;
    }

    .front-main section.houshin {
        background: url(../img/houshin-bg1.png), url(../img/houshin-bg2.png), url(../img/houshin-bg3.png), url(../img/houshin-bg4.png);
        background-repeat: no-repeat;
        background-size: 50px, 60px, 58px, 300px;
        background-position: 86% 0%, 10% 5%, 21% 12%, 10% top;
        padding: 3rem 0;
    }

    .ft-inner {
        background: url(../img/instabg1.png), url(../img/instabg2.png), url(../img/instabg3.png), url(../img/instabg4.png), url(../img/instabg5.png);
        background-repeat: no-repeat;
        background-size: 90px, 180px, 200px, 120px, 60px;
        background-position: top right, right 95%, left 98%, left top, 74% 36%;
        padding: 5rem 0 7rem;
    }

    .front-menu-inner h2 {
        font-size: 1.3rem;
        margin: 1rem 0;
    }

    .ft-menu-box {
        display: block;
    }

    .ft-menu-inner {
        width: 100%;
    }

    .ft-menu-wrap {
        padding: 2rem 0;
    }

    .ft-contact {
        display: block;
        text-align: center;
    }

    .ft-navi {
        display: block;
        margin-top: 0rem;
    }

    .ft-navi-inner {
        width: 100%;
    }

    .ft-navi {
        display: block;
        margin-top: 2rem;
        padding: 0 1rem;
    }

    img.ft-1 {
        position: absolute;
        width: 170px;
        right: 10%;
        bottom: 15%;
    }

    img.ft-2 {
        display: none;
    }

    .page-hd-ist {
        padding: 5rem 0 0;
    }

    img.page-ist-img {
        bottom: 0%;
        width: 130px;
        left: 10%;
    }

    .rinen-txt {
        position: relative;
        margin-bottom: 1rem;
    }

    .rinen-img {
        width: 100%;
    }

    .page-area-hd h1::before,
    .page-inner h2.h1::before,
    .archives-inner h1::before {
        width: 50px;
        height: 50px;
        margin-right: 10px;
    }

    .page-area-hd h1::after,
    .page-inner h2.h1::after,
    .archives-inner h1::after {
        width: 50px;
        height: 50px;
        margin-left: 10px;
    }

    .page-area-hd h1,
    .page-inner h2.h1,
    .archives-inner h1 {
        font-size: 1.4rem;
    }

    p.name-txt {
        margin: 1rem 0 0;
    }

    .mokuhyo {
        display: block;
    }

    .mokuhyo-inner {
        width: calc(100% / 1);
        background: url(../img/mezasu.png) no-repeat;
        background-position: top center;
        background-size: 150px;
        padding: 25px 0 100px;
    }

    table.tbl-box th,
    table.tbl-box td {
        display: block;
        width: 100%;
    }

    table.tbl-box {
        width: 100%;
    }

    .drawer--top.drawer-open .drawer-nav {
        top: 0;
        padding: 1rem;
        background: rgb(187, 211, 116);
        background: linear-gradient(180deg, rgba(187, 211, 116, 1) 0%, rgba(108, 212, 121, 1) 100%);
        z-index: 11;
    }

    .drawer--top .drawer-hamburger,
    .drawer--top.drawer-open .drawer-hamburger {
        z-index: 333;
    }

    .sp-top-logo {
        position: absolute;
        top: 10%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: 120px;
        border-radius: 0 !important;
    }

    .sp-logo {
        width: 120px;
        margin: 0 auto 1rem;
    }

    ul#d-menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        text-align: center;
    }

    ul#d-menu li {
        width: calc(100% / 4 - 10px);
    }

    ul#d-menu li a {
        font-size: 12px;
    }

    ul#d-menu li a::before {
        display: block;
        content: "";
        height: 50px;
        width: 50px;
        margin: 0 auto;
    }

    ul#d-menu li#menu-item-165 a::before {
        background: url(../img/menu1.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-163 a::before {
        background: url(../img/menu2.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-164 a::before {
        background: url(../img/menu3.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-167 a::before {
        background: url(../img/menu4.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-166 a::before {
        background: url(../img/menu5.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-168 a::before {
        background: url(../img/menu6.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-247 a::before {
        background: url(../img/m1.png) no-repeat;
        background-size: contain;
    }

    ul#d-menu li#menu-item-248 a::before {
        background: url(../img/m2.png) no-repeat;
        background-size: contain;
    }

    .service-menu p {
        font-size: 20px;
        margin: 1rem 0;
        text-align: center;
    }

    ul.sp-info {
        display: flex;
    }

    ul.sp-info li {
        width: 50%;
    }

    ul.sp-info li a {
        font-size: 15px;
        display: block;
    }

    ul.sp-info li a::before {
        font-family: "Font Awesome 5 Free";
        content: '\f054';
        font-weight: 900;
        margin-right: 10px;
    }

    ul.d-menu-contct {}

    ul.d-menu-contct li {
        margin-bottom: 1rem;
    }

    ul.d-menu-contct li::last-child {
        margin-bottom: 0;
    }

    ul.d-menu-contct a {
        display: block;
        text-align: center;
        background: #8bc34a;
        box-shadow: 0px 5px 0 #567b2a;
        color: #fff;
        border-radius: 1rem;
        padding: 7px 0;
    }

    ul.d-menu-contct i {
        margin-right: 10px;
    }

    ul.d-menu-sns {
        display: flex;
        justify-content: center;
        margin: 1rem 0 0;
    }

    ul.d-menu-sns li {
        margin: 0 1rem;
    }

    ul.d-menu-sns a {
        color: #fff;
    }

    ul.d-menu-sns i {
        font-size: 30px;
    }


    .rinen-txt p {
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .rinen-irst img,
    .rinen-irst-right img {
        width: 110px;
    }

    .rinen-box {
        position: relative;
        padding-top: 8rem;
    }

    .page-inner p {
        margin-top: 1rem;
        font-size: 1rem;
        line-height: 30px;
    }

    ul.staff-area li {
        width: calc(100% / 2 - 1rem);
    }

    ul.staff-area p.staff-title {
        font-size: 1rem;
    }

    ul.staff-area p.staff-txt {
        font-size: .8rem;
    }

    .oneday-flow dt {
        width: 100%;
        margin-bottom: 1rem;
    }

    .oneday-flow dd {
        width: 100%;
        margin: 0;
        padding: 1rem 1rem 1rem 3rem;
        margin-bottom: 1rem;
    }

    ul.cyui li {
        margin-left: 1rem;
    }

    a.taiou-link {
        width: 100%;
    }

    .gyoji {
        display: block;
    }

    p.txt-center {
        text-align: left;
    }

    .houshin h2 span,
    .front-menu h2 span {
        padding: 0 5px;
    }

    .archives-inner article span {
        display: block;
        width: auto;
    }

    .archives-inner article {
        padding: 0 0 1rem;
    }

    .archives-inner article a::after {
        right: 0rem;
    }

    .archives-inner article strong {
        width: 90%;
        display: block;
    }

    .page-inner,
    .archives-inner {
        padding: 2rem 1rem;
    }

    .contact-page table {
        width: 100%;
    }

    .contact-page table th,
    .contact-page table td {
        display: block;
    }

    .contact-page table th {
        width: 100%;
    }

    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    input[type="tel"],
    input[type="range"],
    input[type="date"],
    input[type="month"],
    input[type="week"],
    input[type="time"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="color"],
    textarea {
        width: 100%;
    }

    ul#sitemap_list {
        display: block;
    }

    ul#sitemap_list li {
        width: calc(100% / 1);
    }

    ul#sitemap_list ul.children {
        margin-bottom: 1rem;
    }

    .houshin-inner-right p {
        font-size: 1.1rem;
        text-align: center;
    }

    p.rinen-title {
        text-align: center;
        font-size: 1.2rem;
    }

    .oneday-flow dl {
        display: block;
    }

    .page-inner h2 {
        font-size: 1.3rem;
    }

    .page-inner h2::before,
    .page-inner h2::after {
        width: 30px;
        height: 30px;
    }

    .access-page h3 {
        margin: 1rem 0 2rem;
    }

    .insta-more a {
        margin: 2rem auto 0;
    }

    .page-menu ul {
        margin: 2rem 0 0;
    }

    .page-menu li {
        width: calc(100% / 2 - 1rem);
    }

    .slick-prev:before,
    .slick-next:before {
        font-size: 20px;
    }

    .slick-prev {
        left: 5px;
        z-index: 1;
    }

    .slick-next {
        right: 5px;
    }
}