/*------------------------------------------------------------------
　header
------------------------------------------------------------------*/
header {
    position: relative;
    z-index: 1000;
}

/*  header-logo
------------------------------------------------------------------*/
.header-logo {
    position: fixed;
    top: 15px;
    left: 15px;
    z-index: 1;
}

@media screen and (max-width:991px) {
    .header-logo {
        width: 400px;
    }
}

@media screen and (max-width:575px) {
    .header-logo {
        top: 20px;
        left: 10px;
        width: 250px;
    }
}

/*  header-hamburger
------------------------------------------------------------------*/
.header-hamburger {
    position: fixed;
    top: 15px;
    right: 15px;
    width: 80px;
    height: 80px;
    background: #0b8777;
    border-radius: 50%;
    cursor: pointer;
    z-index: 2;
}

.header-hamburger .inner-line {
    position: absolute;
    left: 27px;
    display: block;
    width: 26px;
    height: 2px;
    background-color: #fff;
    transition: .2s;
}

.header-hamburger #line1 {
    top: 31px;
}

.header-hamburger #line2 {
    top: 39px;
}

.header-hamburger #line3 {
    top: 47px;
}

.header-hamburger .inner-line.open#line1 {
    transform: rotate(-45deg);
    top: 39px !important;
}

.header-hamburger .inner-line.open#line2 {
    opacity: 0;
}

.header-hamburger .inner-line.open#line3 {
    transform: rotate(45deg);
    top: 39px !important;
}

@media screen and (max-width:991px) {
    .header-hamburger {
        top: 10px;
        right: 10px;
        width: 50px;
        height: 50px;
    }

    .header-hamburger .inner-line {
        left: 15px;
        width: 20px;
    }

    .header-hamburger #line1 {
        top: 17px;
    }

    .header-hamburger #line2 {
        top: 24px;
    }

    .header-hamburger #line3 {
        top: 31px;
    }

    .header-hamburger .inner-line.open#line1 {
        top: 24px !important;
    }

    .header-hamburger .inner-line.open#line3 {
        top: 24px !important;
    }
}

/*  header-nav-wrapper
------------------------------------------------------------------*/
.header-nav-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #dbebe7;
    visibility: hidden;
    opacity: 0;
    transition: .2s;
    z-index: 1;
}

.header-nav-wrapper.is-show {
    visibility: visible;
    opacity: 1;
}

.header-nav-wrapper::-webkit-scrollbar {
    display: none;
}

/*  header-nav-image
------------------------------------------------------------------*/
.header-nav-image {
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 800px;
    background: url(../images/common/header-nav-image.jpg) no-repeat center / cover;
    z-index: 1;
}

.header-nav-image::before {
    position: absolute;
    top: 0;
    right: -1px;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/common/header-nav-wave.svg) no-repeat center right / contain;
    z-index: 1;
}

@media screen and (max-width:1199px) {
    .header-nav-image {
        display: none;
    }
}

/*  header-nav-detail
------------------------------------------------------------------*/
.header-nav-detail {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    width: 58%;
    height: 100%;
    min-width: 930px;
    padding: 100px max(7vw, 60px);
    overflow-y: scroll;
}

.header-nav-detail::-webkit-scrollbar {
    display: none;
}

@media screen and (max-width:1199px) {
    .header-nav-detail {
        display: block;
        width: 100%;
        min-width: initial;
        padding: 100px 30px;
    }
}

@media screen and (max-width:575px) {
    .header-nav-detail {
        padding: 30px 15px 150px;
    }
}

/*  header-nav-detail-wrapper
------------------------------------------------------------------*/
.header-nav-detail-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 30px;
    margin: auto;
}

@media screen and (max-width:1399px) {
    .header-nav-detail-wrapper {
        column-gap: 15px;
        row-gap: 15px;
    }
}

@media screen and (max-width:767px) {
    .header-nav-detail-wrapper {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
    }
}

/*  header-nav-logo
------------------------------------------------------------------*/
.header-nav-logo {
    grid-column: 1 / 3;
    padding: 0 30px;
    margin-bottom: 10px;
    text-align: center;
}

@media screen and (max-width:767px) {
    .header-nav-logo {
        padding: 0;
    }
}

/*  header-nav-box
------------------------------------------------------------------*/
.header-nav-box {
    height: 100%;
    padding: 30px;
    background: #fff;
    border: 2px solid #0b8777;
    border-radius: 15px;
}

@media screen and (max-width:1399px) {
    .header-nav-box {
        padding: 20px;
    }
}

@media screen and (max-width:767px) {
    .header-nav-box {
        padding: 0;
        border-radius: 5px;
    }
}

/*  header-nav-title
------------------------------------------------------------------*/
.header-nav-title {
    position: relative;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
    color: #0b8777;
}

.header-nav-title a {
    position: relative;
    display: inline-block;
}

.header-nav-title a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    background: #0b8777;
    transition: .2s;
}

/* ホバー時動作 */
.header-nav-title a:hover::before {
    width: 100%;
}

@media screen and (max-width:767px) {
    .header-nav-title {
        padding: 10px;
        margin-bottom: initial;
        font-size: 14px;
        cursor: pointer;
    }

    .header-nav-title::after {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        content: "\2b";
        font-family: "Font Awesome 6 Free";
        font-weight: bold;
        transition: .2s;
    }

    .header-nav-title a {
        pointer-events: none;
    }

    .header-nav-title.open::after {
        transform: translateY(-50%) rotate(180deg);
        content: "\f068";
    }
}

/*  header-nav-basic
------------------------------------------------------------------*/
.header-nav-basic>li {
    margin-bottom: 8px;
}

.header-nav-basic>li:last-of-type {
    margin-bottom: 0;
}

.header-nav-basic>li>a {
    position: relative;
    display: block;
    padding-bottom: 4px;
    border-bottom: 1px dashed #dbb400;
    font-size: 14px;
    transition: .2s;
}

.header-nav-basic>li>a::before {
    display: inline-block;
    margin-right: 5px;
    content: "\f138";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
    color: #0b8777;
}

.header-nav-basic>li>a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    background: #0b8777;
    transition: .2s;
}

/* ホバー時動作 */
.header-nav-basic>li>a:hover {
    color: #0b8777;
}

.header-nav-basic>li>a:hover::after {
    width: 100%;
}

/* アクティブ時動作 */
.header-nav-basic>li>a.active {
    color: #0b8777;
}

.header-nav-basic>li>a.active::after {
    width: 100%;
}

@media screen and (max-width:767px) {
    .header-nav-basic {
        display: none;
        padding: 0 10px 10px;
    }

    .header-nav-basic>li>a {
        display: block;
        padding: 10px;
        background: #dbebe7;
        border-bottom: initial;
        border-radius: 5px;
        font-size: 12px;
    }

    .header-nav-basic>li>a::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        margin-right: initial;
        color: #0b8777;
    }

    .header-nav-basic>li>a::after {
        display: none;
    }
}

/*  header-nav-facility-box
------------------------------------------------------------------*/
.header-nav-facility-box {
    grid-column: 1 / 3;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #fff;
    border: 2px solid #0b8777;
    border-radius: 15px;
}

@media screen and (max-width:767px) {
    .header-nav-facility-box {
        border-radius: 5px;
    }
}

/*  header-nav-facility-box-image
------------------------------------------------------------------*/
.header-nav-facility-box-image {
    flex-shrink: 0;
}

@media screen and (max-width:767px) {
    .header-nav-facility-box-image {
        display: none;
    }
}

/*  header-nav-facility-box-body
------------------------------------------------------------------*/
.header-nav-facility-box-body {
    width: 100%;
    padding: 0 30px;
}

@media screen and (max-width:767px) {
    .header-nav-facility-box-body {
        padding: 0;
    }
}

/*  header-nav-facility
------------------------------------------------------------------*/
.header-nav-facility>li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 8px;
}

.header-nav-facility>li::after {
    display: block;
    order: 2;
    width: 100%;
    height: 1px;
    background: #ccc;
    content: "";
}

.header-nav-facility>li:last-of-type {
    margin-bottom: 0;
}

.header-nav-facility>li>.inner-link {
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
    border-bottom: 1px dashed #dbb400;
    flex-shrink: 0;
    order: 1;
    font-size: 14px;
    transition: .2s;
}

.header-nav-facility>li>.inner-link::before {
    display: inline-block;
    margin-right: 5px;
    content: "\f138";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
    color: #0b8777;
}

.header-nav-facility>li>.inner-link::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    background: #0b8777;
    transition: .2s;
}

.header-nav-facility>li>.blog-link {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    order: 3;
    font-size: 12px;
    color: #999;
}

.header-nav-facility>li>.blog-link::before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    background: #0b8777;
    transition: .2s;
}

.header-nav-facility>li>.blog-link::after {
    display: inline-block;
    margin-left: 5px;
    content: "\f08e";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
}

/* ホバー時動作 */
.header-nav-facility>li>.inner-link:hover {
    color: #0b8777;
}

.header-nav-facility>li>.inner-link:hover::after {
    width: 100%;
}

.header-nav-facility>li>.blog-link:hover {
    color: #0b8777;
}

.header-nav-facility>li>.blog-link:hover::before {
    width: 100%;
}

/* アクティブ時動作 */
.header-nav-facility>li>.inner-link.active {
    color: #0b8777;
}

.header-nav-facility>li>.inner-link.active::after {
    width: 100%;
}

@media screen and (max-width:767px) {
    .header-nav-facility {
        display: none;
        padding: 0 10px 10px;
    }

    .header-nav-facility>li::after {
        display: none;
    }

    .header-nav-facility>li>.inner-link {
        display: block;
        flex-shrink: initial;
        width: 100%;
        padding: 10px;
        background: #dbebe7;
        border-bottom: initial;
        border-radius: 5px;
        font-size: 12px;
    }

    .header-nav-facility>li>.inner-link::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        margin-right: initial;
        color: #0b8777;
    }

    .header-nav-facility>li>.inner-link::after {
        display: none;
    }

    .header-nav-facility>li>.blog-link {
        padding: 10px;
        background: #ffe9ec;
        border-radius: 5px;
        color: #1d1d1d;
    }

    .header-nav-facility>li>.blog-link::after {
        color: #ff7889;
    }
}

/*  header-nav-btn
------------------------------------------------------------------*/
.header-nav-btn {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #fff;
    border: 2px solid #0b8777;
    border-radius: 5px;
    line-height: 1.2;
}

.header-nav-btn::after {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #0b8777;
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    transition: .2s;
}

.header-nav-btn .sub {
    font-family: "Nunito";
    font-size: 14px;
    font-weight: bold;
    color: #0b8777;
}

.header-nav-btn .title {
    font-size: 18px;
    font-weight: bold;
    transition: .2s;
}

/* 色変更 */
.header-nav-btn.pink {
    border-color: #ff7889;
}

.header-nav-btn.pink::after {
    background-color: #ff7889;
}

.header-nav-btn.pink .sub {
    color: #ff7889;
}

.header-nav-btn.yellow {
    border-color: #dbb400;
}

.header-nav-btn.yellow::after {
    background-color: #dbb400;
}

.header-nav-btn.yellow .sub {
    color: #dbb400;
}

/* ホバー時動作 */
.header-nav-btn:hover::after {
    transform: translateY(-50%) rotate(-30deg) scale(1.1);
}

.header-nav-btn:hover .title {
    color: #0b8777;
}

.header-nav-btn.pink:hover .title {
    color: #ff7889;
}

.header-nav-btn.yellow:hover .title {
    color: #dbb400;
}

@media screen and (max-width:1199px) {
    .header-nav-btn .sub {
        font-size: 12px;
    }

    .header-nav-btn .title {
        font-size: 16px;
    }

    .header-nav-btn::after {
        width: 25px;
        height: 25px;
        font-size: 10px;
    }
}

/*  header-nav-btn-image
------------------------------------------------------------------*/
.header-nav-btn-image {
    flex-shrink: 0;
}

@media screen and (max-width:575px) {
    .header-nav-btn-image {
        width: 80px;
    }
}

/*  header-nav-btn-body
------------------------------------------------------------------*/
.header-nav-btn-body {
    width: 100%;
    padding: 0 15px;
}

/*  header-nav-others
------------------------------------------------------------------*/
.header-nav-others {
    grid-column: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 30px;
}

.header-nav-others>li>a {
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px dashed #999;
    font-size: 12px;
    transition: .2s;
}

.header-nav-others>li>a::before {
    display: inline-block;
    margin-right: 5px;
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    color: #999;
}

.header-nav-others>li>a::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    background: #0b8777;
    transition: .2s;
}

/* ホバー時動作 */
.header-nav-others>li>a:hover {
    color: #0b8777;
}

.header-nav-others>li>a:hover::after {
    width: 100%;
}

/* アクティブ時動作 */
.header-nav-others>li>a.active {
    color: #0b8777;
}

.header-nav-others>li>a.active::after {
    width: 100%;
}

@media screen and (max-width:767px) {
    .header-nav-others {
        display: block;
        padding-top: 20px;
        margin-top: 10px;
        border-top: 1px dashed #fff;
    }

    .header-nav-others>li {
        margin-bottom: 10px;
    }

    .header-nav-others>li:last-of-type {
        margin-bottom: 0;
    }

    .header-nav-others>li>a {
        display: block;
        padding: 10px;
        border-bottom: initial;
        border-radius: 20px;
        background: #fff;
        text-align: center;
    }

    .header-nav-others>li>a::before {
        display: none;
    }

    .header-nav-others>li>a::after {
        display: none;
    }
}



/*------------------------------------------------------------------
  footer
------------------------------------------------------------------*/
footer {
    position: relative;
    padding: 85px 0 30px;
    background: #dbebe7;
    z-index: 1;
}

@media screen and (max-width:991px) {
    footer {
        padding: 40px 0 60px;
    }
}

/*  footer-wrapper
------------------------------------------------------------------*/
.footer-wrapper {
    display: flex;
    justify-content: space-between;
    column-gap: 30px;
    margin-bottom: 150px;
}

@media screen and (max-width:767px) {
    .footer-wrapper {
        flex-direction: column;
        align-items: center;
        row-gap: 50px;
        margin-bottom: 60px;
    }
}

/*  footer-detail
------------------------------------------------------------------*/
.footer-detail {
    flex-shrink: 0;
}

@media screen and (max-width:767px) {
    .footer-detail {
        text-align: center;
    }
}

/*  footer-logo
------------------------------------------------------------------*/
.footer-logo {
    margin-bottom: 15px;
}

@media screen and (max-width:991px) {
    .footer-logo {
        width: 250px;
    }
}

@media screen and (max-width:767px) {
    .footer-logo {
        width: auto;
    }
}

/*  footer-facility
------------------------------------------------------------------*/
.footer-facility {
    margin-bottom: 12px;
    letter-spacing: 0;
}

.footer-facility .name {
    margin-bottom: 5px;
    font-weight: bold;
    color: #0b8777;
}

.footer-facility .address {
    font-size: 14px;
}

@media screen and (max-width:991px) {
    .footer-facility .address {
        font-size: 12px;
    }
}

@media screen and (max-width:767px) {
    .footer-facility {
        margin-bottom: 15px;
    }
    .footer-facility .name {
        font-size: 18px;
    }

    .footer-facility .address {
        font-size: 16px;
    }
}

@media screen and (max-width:575px) {
    .footer-facility .name {
        font-size: 16px;
    }

    .footer-facility .address {
        font-size: 14px;
    }
}

/* Instagram icon */
.footer-facility.Instagram_icon {
    margin-bottom: 0;
}

.footer-facility .Instagram_icon_wrapper {
    width: 50px;
}

.footer-facility .Instagram_icon_wrapper img {
    width: 100%;
}

@media screen and (max-width:767px) {
    .footer-facility.Instagram_icon {
        display: flex;
        justify-content: center;
    }
}

/*  footer-nav-wrapper
------------------------------------------------------------------*/
.footer-nav-wrapper {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    column-gap: 60px;
    row-gap: 40px;
}

@media screen and (max-width:991px) {
    .footer-nav-wrapper {
        column-gap: 30px;
        row-gap: 20px;
    }
}

@media screen and (max-width:767px) {
    .footer-nav-wrapper {
        column-gap: 50px;
        row-gap: 30px;
    }
}

@media screen and (max-width:575px) {
    .footer-nav-wrapper {
        display: flex;
        flex-direction: column;
        row-gap: 30px;
        width: 100%;
    }
}

/*  footer-nav-title
------------------------------------------------------------------*/
.footer-nav-title {
    margin-bottom: 5px;
    font-weight: bold;
    color: #0b8777;
}

@media screen and (max-width:767px) {
    .footer-nav-title {
        font-size: 16px;
    }
}

@media screen and (max-width:575px) {
    .footer-nav-title {
        margin-bottom: 10px;
    }
}

/*  footer-nav
------------------------------------------------------------------*/
.footer-nav>li {
    margin-bottom: 4px;
}

.footer-nav>li:last-of-type {
    margin-bottom: 0;
}

.footer-nav>li>a {
    position: relative;
    font-size: 14px;
    letter-spacing: 0;
    transition: .2s;
}

.footer-nav>li>a::before {
    display: inline-block;
    margin-right: 5px;
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
}

.footer-nav>li>a:hover {
    color: #0b8777;
}

@media screen and (max-width:991px) {
    .footer-nav>li>a {
        font-size: 12px;
    }
}

@media screen and (max-width:767px) {
    .footer-nav>li>a {
        font-size: 13px;
    }
}

@media screen and (max-width:575px) {
    .footer-nav>li {
        margin-bottom: 10px;
    }

    .footer-nav>li>a {
        display: block;
        padding: 10px;
        background: #fff;
        border-radius: 5px;
        font-size: 14px;
    }

    .footer-nav>li>a::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
    }
}

/*  copyright
------------------------------------------------------------------*/
.copyright {
    font-size: 12px;
    color: #333333;
    text-align: center;
}

/*-----------------------------------------------------------------
  common page-top
------------------------------------------------------------------*/

/*  page-top-section
------------------------------------------------------------------*/
.page-top-section {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 1700px;
    height: 500px;
    background: #dbebe7;
    z-index: 1;
}

.page-top-section::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/common/treat-page-top-bottom.svg) no-repeat bottom center / contain;
    z-index: -1;
}

@media print,
screen and (max-width:1399px) {
    .page-top-section {
        min-width: 1300px;
        height: 400px;
    }
}

@media screen and (max-width:991px) {
    .page-top-section {
        min-width: 1000px;
        height: 300px;
    }
}

@media screen and (max-width:767px) {
    .page-top-section {
        display: block;
        min-width: initial;
        height: auto;
        padding-top: 120px;
    }

    .page-top-section::after {
        background: url(../images/common/treat-page-top-bottom-sp.svg) no-repeat bottom center / contain;
    }
}

/*  page-top-left
------------------------------------------------------------------*/
.page-top-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 30%;
}

@media screen and (max-width:767px) {
    .page-top-left {
        width: 100%;
        margin-bottom: 40px;
    }
}

/*  page-top-title
------------------------------------------------------------------*/
.page-top-title {
    font-size: 60px;
    font-weight: bold;
    line-height: 1.2;
}

.page-top-title .en {
    display: block;
    font-family: "Nunito";
    color: #0b8777;
    letter-spacing: 0;
}

.page-top-title .jp {
    display: block;
    font-size: max(0.33333em, 16px);
}

@media screen and (max-width:1399px) {
    .page-top-title {
        font-size: 52px;
    }
}

@media screen and (max-width:1199px) {
    .page-top-title {
        font-size: 48px;
    }
}

@media screen and (max-width:991px) {
    .page-top-title {
        font-size: 40px;
    }
}

@media screen and (max-width:767px) {
    .page-top-title {
        font-size: 36px;
        text-align: center;
    }
}

/*  page-top-image
------------------------------------------------------------------*/
.page-top-image {
    position: absolute;
    top: 0;
    right: 0;
    clip-path: url(#page-top-image-clip-path);
    width: 70%;
    max-width: 1220px;
}

@media screen and (max-width:767px) {
    .page-top-image {
        position: relative;
        width: 90vw;
        margin-left: auto;
        margin-right: auto;
        clip-path: url(#page-top-image-clip-path-sp);
    }
}

/*  page-top-image-mask
------------------------------------------------------------------*/
.page-top-image-mask {
    position: absolute;
    top: 0;
    left: 0;
}

/*  page-top-treat01
------------------------------------------------------------------*/
.page-top-treat01 {
    position: absolute;
    top: -160px;
    left: -180px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:991px) {
    .page-top-treat01 {
        width: 320px;
    }
}

@media screen and (max-width:767px) {
    .page-top-treat01 {
        width: 350px;
    }
}

/*  page-top-treat02
------------------------------------------------------------------*/
.page-top-treat02 {
    position: absolute;
    bottom: -160px;
    right: -50px;
    height: auto;
    z-index: 2;
}

@media screen and (max-width:1399px) {
    .page-top-treat02 {
        bottom: -120px;
        width: 200px;
    }
}

@media screen and (max-width:991px) {
    .page-top-treat02 {
        bottom: -80px;
        right: -20px;
        width: 150px;
    }
}

@media screen and (max-width:767px) {
    .page-top-treat02 {
        bottom: -20px;
        right: -10px;
        width: 22vw;
    }
}

/*/////////////////////////////////////////////////////////////////
  index.html
/////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------
  index.html home-hero
------------------------------------------------------------------*/

/*  home-hero-wrapper
------------------------------------------------------------------*/
.home-hero-wrapper {
    position: relative;
    z-index: 1;
}

.home-hero-wrapper::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/common/treat-wave-bottom-green.svg) no-repeat bottom center / contain;
    z-index: 1;
}

/*  home-hero-slider
------------------------------------------------------------------*/
.home-hero-slider {
    position: relative;
    overflow: hidden;
    padding-bottom: 100px;
}

.home-hero-slider::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: #d2e9c2;
    opacity: 1;
    z-index: 1;
}

.home-hero-slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-hero-slider .swiper-slide img {
    height: auto;
}

@media screen and (max-width:1399px) {
    .home-hero-slider .swiper-slide img {
        width: 1500px;
    }
}

@media screen and (max-width:767px) {
    .home-hero-slider .swiper-slide img {
        width: 100%;
        min-width: 550px;
    }
}

/*  home-hero-detail
------------------------------------------------------------------*/
.home-hero-detail {
    position: absolute;
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* text-align: center; */
    /* white-space: nowrap; */
    z-index: 2;
    color: #1d1d1d;
}

.home-hero-txt {
    position: relative;
    padding: 5%;
    background-color: #ffffffbb;
    border-radius: 30px;
    margin-bottom: 40px;
}

.home-hero-txt .ttl {
    font-size: 24px;
    padding-bottom: 0.3em;
    border-bottom: 1px solid #2B8677;
}

.home-hero-txt .des-txt {
    padding-top: 1em;
}

.font-weight-bold {
    font-weight: bold;
}

/* さくら装飾 */
.sakkura_img_wrapper {
    position: absolute;
}
.sakura_img {
    width: 100;
}
    @media screen and (max-width:575px) {
    .sakura_img {
        transform: scale(0.8,0.8);
    }
}
    /* 保育所体験 */
.sakkura_img_wrapper.item01 {
    top: -3%;
    left: -14%;
    transform: rotate(-15deg);
}
@media screen and (max-width:575px) {
}
.sakkura_img_wrapper.item02 {
    bottom: -9%;
    right: -8%;
    transform: rotate(20deg);
}
/* 育児相談 */
.sakkura_img_wrapper.item03 {
    top: -20%;
    left: 0;
    transform: rotate(-15deg);
}
.sakkura_img_wrapper.item04 {
    bottom: -20%;
    right: 6%;
    transform: rotate(20deg);
}

@media screen and (min-width:768px) {
    .home-hero-detail {
        display: flex;
        justify-content: space-between;
    }
    .home-hero-txt {
        width: 48%;
    }
}

@media screen and (max-width:575px) {
    .home-hero-detail {
        padding-top: 50px;
    }
}

/*  home-hero-text
------------------------------------------------------------------*/
.home-hero-text {
    margin-bottom: 20px;
}

.home-hero-text img {
    height: auto;
}

@media screen and (max-width:1399px) {
    .home-hero-text img {
        width: 800px;
    }
}

@media screen and (max-width:991px) {
    .home-hero-text img {
        width: 650px;
    }
}

@media screen and (max-width:767px) {
    .home-hero-text img {
        width: 90vw;
    }
}

/*  home-hero-title
------------------------------------------------------------------*/
.home-hero-title {
    display: inline-block;
    padding: 0.5em 0.9em;
    background: #fff;
    border-radius: 5px;
    font-size: 24px;
    font-weight: bold;
}

@media screen and (max-width:1399px) {
    .home-hero-title {
        font-size: 20px;
    }
}

@media screen and (max-width:991px) {
    .home-hero-title {
        font-size: 18px;
    }
}

@media screen and (max-width:767px) {
    .home-hero-title {
        font-size: 14px;
    }
}

.home-hero-title02 {
    display: inline-block;
    padding: 3em 2.5em;
    color: #fff;
    text-align: center;
    background: rgb(56 56 56 / 20%);
}

.home-hero-title02-box {
    margin-bottom: 30px;
}

.home-hero-title02 h2 {
    font-size: 24px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
}

.home-hero-title02 h2 .green {
    font-size: 28px;
    font-weight: bold;
    color: #0b8777;
}

.home-hero-title02 h3 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
    padding-bottom: 10px;
    color: #0b8777;
    border-bottom: 1px solid #fff;
}

.home-hero-title02 p {
    font-size: 18px;
    margin-bottom: 15px;
    line-height: 1.8;
}

.home-hero-title02 p .red {
    font-size: 16px;
    color: #d30000;
}

.home-hero-title02 p.info {
    background: #ffffff90;
    color: #ff1433 !important;
    font-size: 16px;
    padding: 5px 0;
}

.num {
    font-weight: bold;
    font-size: 110%;
    color: #d30000;
}


@media screen and (max-width:1399px) {
    .home-hero-title02 {
        padding: 1.5em 2em;
    }

    .home-hero-title02 h2 {
        font-size: 20px;
    }

    .home-hero-title02 h2 .green {
        font-size: 22px;
    }

    .home-hero-title02 p {
        font-size: 18px;
    }

    .home-hero-title02 p.info {
        font-size: 14px;
        line-height: 1.6;
    }

    .home-hero-title02 h3 {
        font-size: 20px;
    }
}

@media screen and (max-width:991px) {

    .home-hero-title02 h2 {
        font-size: 18px;
    }

    .home-hero-title02 h2 .green {
        font-size: 20px;
    }

    .home-hero-title02 p {
        font-size: 14px;
    }

    .home-hero-title02 p.info {
        font-size: 12px;
        line-height: 1.6;
    }

    .home-hero-title02 h3 {
        font-size: 18px;
    }

}

@media screen and (max-width:767px) {
    .home-hero-title02 {
        padding: 1em;
    }

    .home-hero-title02 p {
        font-size: 12px;
        text-align: center;
    }

    .home-hero-title02-box {
        margin-bottom: 10px;
    }
}



/*------------------------------------------------------------------
  index.html home-about
------------------------------------------------------------------*/

/*  home-about-wrapper
------------------------------------------------------------------*/
.home-about-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 40px;
}

@media screen and (max-width:767px) {
    .home-about-wrapper {
        flex-direction: column;
        row-gap: 30px;
    }
}

/*  home-about-image
------------------------------------------------------------------*/
.home-about-image {
    position: relative;
    margin-left: -122px;
    z-index: 1;
}

.home-about-image .treat {
    position: absolute;
    left: -239px;
    bottom: -94px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-about-image {
        margin-left: initial;
    }

    .home-about-image .treat {
        left: -129px;
        bottom: -74px;
        width: 400px;
    }
}

@media screen and (max-width:991px) {
    .home-about-image {
        margin-left: -60px;
    }

    .home-about-image .treat {
        left: -129px;
        bottom: -74px;
        width: 400px;
    }
}

@media screen and (max-width:767px) {
    .home-about-image {
        margin-left: initial;
    }

    .home-about-image .treat {
        left: -129px;
        bottom: -30px;
        width: 300px;
    }
}

/*  home-about-detail
------------------------------------------------------------------*/
.home-about-detail {
    position: relative;
    flex-shrink: 0;
    z-index: 1;
}

.home-about-detail .treat01 {
    position: absolute;
    top: -137px;
    right: -292px;
    height: auto;
    z-index: -1;
}

.home-about-detail .treat02 {
    position: absolute;
    bottom: -98px;
    right: 48px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-about-detail .treat01 {
        top: -50px;
        right: -70px;
        width: 250px;
    }

    .home-about-detail .treat02 {
        bottom: -70px;
        right: 30px;
        width: 180px;
    }
}

@media screen and (max-width:1199px) {
    .home-about-detail {
        max-width: 400px;
    }
}

@media screen and (max-width:991px) {
    .home-about-detail .treat01 {
        width: 200px;
    }

    .home-about-detail .treat02 {
        width: 150px;
    }

    .home-about-detail {
        max-width: 350px;
    }
}

@media screen and (max-width:767px) {
    .home-about-detail {
        max-width: initial;
    }

    .home-about-detail .treat01 {
        right: -90px;
        width: 150px;
    }

    .home-about-detail .treat02 {
        right: initial;
        left: -70px;
        bottom: 10px;
        transform: rotate(60deg);
        width: 120px;
    }
}

/*  home-about-text
------------------------------------------------------------------*/
.home-about-text {
    margin-bottom: 30px;
    line-height: 2.25;
}

@media screen and (max-width:991px) {
    .home-about-text {
        line-height: 2;
    }
}

/*------------------------------------------------------------------
  index.html home-education
------------------------------------------------------------------*/

/*  home-education-text
------------------------------------------------------------------*/
.home-education-text {
    margin-bottom: 70px;
    text-align: center;
    line-height: 2.25;
}

@media screen and (max-width:991px) {
    .home-education-text {
        line-height: 2;
    }
}

@media screen and (max-width:767px) {
    .home-education-text {
        text-align: left;
    }
}

/*  home-education-card
------------------------------------------------------------------*/
.home-education-card {
    display: block;
}

.home-education-card .image {
    margin-bottom: 20px;
    border-radius: 15px;
    overflow: hidden;
}

.home-education-card .image img {
    transition: .2s;
}

.home-education-card .title {
    position: relative;
    padding-right: 45px;
    margin-bottom: 15px;
    font-weight: bold;
    z-index: 1;
}

.home-education-card .title::after {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    transition: .2s;
}

.home-education-card .title .jp {
    display: inline-block;
    margin-right: 8px;
    font-size: 20px;
}

.home-education-card .title .en {
    display: inline-block;
    font-family: "Nunito";
    letter-spacing: 0;
}

.home-education-card .text {
    transition: .2s;
}

/* 色変更 */
.home-education-card.pink .title::after {
    background: #ff7889;
}

.home-education-card.pink .title .en {
    color: #ff7889;
}

.home-education-card.yellow .title::after {
    background: #dbb400;
}

.home-education-card.yellow .title .en {
    color: #dbb400;
}

.home-education-card.green .title::after {
    background: #0b8777;
}

.home-education-card.green .title .en {
    color: #0b8777;
}

/* ホバー時動作 */
.home-education-card:hover .image img {
    transform: scale(1.1);
    filter: brightness(0.7);
}

.home-education-card:hover .title::after {
    transform: translateY(-50%) rotate(-30deg) scale(1.1);
}

.home-education-card.pink:hover .text {
    color: #ff7889;
}

.home-education-card.yellow:hover .text {
    color: #dbb400;
}

.home-education-card.green:hover .text {
    color: #0b8777;
}

@media screen and (max-width:991px) {
    .home-education-card .title .jp {
        margin-right: 5px;
        font-size: 16px;
    }
}

@media screen and (max-width:767px) {
    .home-education-card .title .jp {
        margin-right: 8px;
        font-size: 20px;
    }
}

@media screen and (max-width:575px) {
    .home-education-card {
        padding: 0 15px;
    }
}

/*  home-education-box
------------------------------------------------------------------*/
.home-education-target-box {
    padding: 60px;
    background: #fff;
    border: 1px solid #ff7889;
    border-radius: 15px;
}

@media screen and (max-width:767px) {
    .home-education-target-box {
        padding: 40px 30px 30px;
        border-radius: 10px;
    }
}

@media screen and (max-width:575px) {
    .home-education-target-box {
        padding: 40px 15px 30px;
        border-radius: 5px;
    }
}

/*  home-education-target-title
------------------------------------------------------------------*/
.home-education-target-title {
    margin-bottom: 50px;
    font-size: 24px;
    font-weight: bold;
    color: #ff7889;
    text-align: center;
}

@media screen and (max-width:767px) {
    .home-education-target-title {
        margin-bottom: 30px;
        font-size: 20px;
    }
}

/*  home-education-target-card
------------------------------------------------------------------*/
.home-education-target-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    border: 1px solid #1d1d1d;
    border-radius: 5px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

.home-education-target-card::after {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 23px;
    height: 23px;
    z-index: 1;
}

.home-education-target-card.pink {
    border-color: #ff7889;
}

.home-education-target-card.pink::after {
    background: url(../images/common/icon-sakura-pink.svg) no-repeat center / cover;
}

.home-education-target-card.yellow {
    border-color: #dbb400;
}

.home-education-target-card.yellow::after {
    background: url(../images/common/icon-sakura-yellow.svg) no-repeat center / cover;
}

.home-education-target-card.green {
    border-color: #0b8777;
}

.home-education-target-card.green::after {
    background: url(../images/common/icon-sakura-green.svg) no-repeat center / cover;
}

@media screen and (max-width:1399px) {
    .home-education-target-card {
        font-size: 16px;
    }
}

/*  home-education-target-example
------------------------------------------------------------------*/
.home-education-target-example {
    position: relative;
    display: block;
    padding: 0.8em 1em 0.8em 3.2em;
    background: #ffe9ec;
}

.home-education-target-example::before {
    position: absolute;
    top: 0.3em;
    left: 0.7em;
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-size: 1.5em;
    font-weight: bold;
    color: #ff7889;
}

/*  home-education-treat01
------------------------------------------------------------------*/
.home-education-treat01 {
    position: absolute;
    top: -360px;
    left: -800px;
    z-index: -1;
}

/*  home-education-treat02
------------------------------------------------------------------*/
.home-education-treat02 {
    position: absolute;
    bottom: -232px;
    right: -550px;
    z-index: -1;
}

/*  home-education-treat03
------------------------------------------------------------------*/
.home-education-treat03 {
    position: absolute;
    top: -158px;
    left: -133px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:767px) {
    .home-education-treat03 {
        display: none;
    }
}


/*------------------------------------------------------------------
  index.html home-school
------------------------------------------------------------------*/

/*  home-school-card
------------------------------------------------------------------*/
.home-school-card {
    display: block;
}

.home-school-card .image {
    margin-bottom: 20px;
    border-radius: 15px;
    overflow: hidden;
}

.home-school-card .image img {
    transition: .2s;
}

.home-school-card .title {
    position: relative;
    padding-right: 45px;
    font-weight: bold;
    z-index: 1;
}

.home-school-card .title::after {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    transition: .2s;
}

.home-school-card .title .sub {
    display: block;
    font-size: 14px;
}

.home-school-card .title .main {
    display: block;
    font-size: 18px;
    transition: .2s;
}

/* 色変更 */
.home-school-card.pink .title::after {
    background: #ff7889;
}

.home-school-card.pink .title .sub {
    color: #ff7889;
}

.home-school-card.yellow .title::after {
    background: #dbb400;
}

.home-school-card.yellow .title .sub {
    color: #dbb400;
}

.home-school-card.green .title::after {
    background: #0b8777;
}

.home-school-card.green .title .sub {
    color: #0b8777;
}

/* ホバー時動作 */
.home-school-card:hover .image img {
    transform: scale(1.1);
    filter: brightness(0.7);
}

.home-school-card:hover .title::after {
    transform: translateY(-50%) rotate(-30deg) scale(1.1);
}

.home-school-card.pink:hover .main {
    color: #ff7889;
}

.home-school-card.yellow:hover .main {
    color: #dbb400;
}

.home-school-card.green:hover .main {
    color: #0b8777;
}

@media screen and (max-width:1199px) {
    .home-school-card .title .sub {
        font-size: 12px;
    }

    .home-school-card .title .main {
        font-size: 16px;
    }
}

@media screen and (max-width:767) {
    .home-school-card .title .main {
        font-size: 18px;
    }
}

@media screen and (max-width:575px) {
    .home-school-card {
        padding: 0 15px;
    }
}

/*  home-school-treat01
------------------------------------------------------------------*/
.home-school-treat01 {
    position: absolute;
    top: 0;
    left: -178px;
    height: auto;
    z-index: -1;
}

/*  home-school-treat02
------------------------------------------------------------------*/
.home-school-treat02 {
    position: absolute;
    bottom: -328px;
    left: -448px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-school-treat02 {
        bottom: -258px;
        left: -128px;
        width: 350px;
    }
}

/*  home-school-treat03
------------------------------------------------------------------*/
.home-school-treat03 {
    position: absolute;
    bottom: -42px;
    right: -424px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-school-treat03 {
        bottom: 0;
        right: -120px;
        width: 250px;
    }
}

@media screen and (max-width:767px) {
    .home-school-treat03 {
        bottom: 300px;
    }
}


/*------------------------------------------------------------------
  index.html home-links
------------------------------------------------------------------*/

/*  home-links-list
------------------------------------------------------------------*/
.home-links-list {
    display: flex;
    justify-content: space-between;
    column-gap: 60px;
}

@media screen and (max-width:991px) {
    .home-links-list {
        column-gap: 30px;
    }
}

@media screen and (max-width:767px) {
    .home-links-list {
        flex-direction: column;
        row-gap: 60px;
    }
}

/*  home-links-card
------------------------------------------------------------------*/
.home-links-card {
    display: block;
    max-width: 510px;
}

.home-links-card .image {
    margin-bottom: 20px;
    border-radius: 15px;
    overflow: hidden;
}

.home-links-card .image img {
    transition: .2s;
}

.home-links-card .title {
    position: relative;
    padding-right: 65px;
    margin-bottom: 15px;
    font-weight: bold;
    z-index: 1;
}

.home-links-card .title::after {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    content: "\f061";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
    color: #fff;
    transition: .2s;
}

.home-links-card .title .en {
    display: block;
    font-family: "Nunito";
    font-size: 36px;
    line-height: 1.2;
    letter-spacing: 0;
}

.home-links-card .title .jp {
    display: block;
}

.home-links-card .text {
    transition: .2s;
}

/* 色変更 */
.home-links-card.pink .title::after {
    background: #ff7889;
}

.home-links-card.pink .title .en {
    color: #ff7889;
}

.home-links-card.yellow .title::after {
    background: #dbb400;
}

.home-links-card.yellow .title .en {
    color: #dbb400;
}

.home-links-card.green .title::after {
    background: #0b8777;
}

.home-links-card.green .title .en {
    color: #0b8777;
}

/* ホバー時動作 */
.home-links-card:hover .image img {
    transform: scale(1.1);
    filter: brightness(0.7);
}

.home-links-card:hover .title::after {
    transform: translateY(-50%) rotate(-30deg) scale(1.1);
}

.home-links-card.pink:hover .text {
    color: #ff7889;
}

.home-links-card.yellow:hover .text {
    color: #dbb400;
}

.home-links-card.green:hover .text {
    color: #0b8777;
}

@media screen and (max-width:991px) {
    .home-links-card .title {
        padding-right: 45px;
    }

    .home-links-card .title::after {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    .home-links-card .title .en {
        font-size: 30px;
    }
}

@media screen and (max-width:575px) {
    .home-links-card {
        padding: 0 15px;
    }

    .home-links-card .title .en {
        font-size: 28px;
    }
}

/*  home-links-treat01
------------------------------------------------------------------*/
.home-links-treat01 {
    position: absolute;
    bottom: -382px;
    left: -705px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-links-treat01 {
        left: -505px;
    }
}

/*  home-links-treat02
------------------------------------------------------------------*/
.home-links-treat02 {
    position: absolute;
    top: -417px;
    right: -702px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1399px) {
    .home-links-treat02 {
        right: -502px;
    }
}


/*------------------------------------------------------------------
  index.html home-recruit
------------------------------------------------------------------*/

/*  home-recruit-section
------------------------------------------------------------------*/
.home-recruit-section {
    padding: 100px 0;
    background: url(../images/home-recruit-bg.jpg) no-repeat center / cover;
}

@media screen and (max-width:1199px) {
    .home-recruit-section {
        padding: 60px 0;
    }
}

@media screen and (max-width:767px) {
    .home-recruit-section {
        padding: 250px 0 30px;
        background: url(../images/home-recruit-bg-sp.jpg) no-repeat center / cover;
    }
}

/*  home-recruit-section
------------------------------------------------------------------*/
.home-recruit-box {
    width: 635px;
    padding: 80px;
    margin-left: auto;
    background: #fff;
    border-radius: 15px;
}

.home-recruit-box .text {
    margin-bottom: 40px;
    line-height: 2;
}

@media screen and (max-width:1199px) {
    .home-recruit-box {
        width: 580px;
        padding: 60px;
    }
}

@media screen and (max-width:991px) {
    .home-recruit-box {
        width: 400px;
        padding: 30px;
    }
}

@media screen and (max-width:767px) {
    .home-recruit-box {
        width: 100%;
        padding: 30px;
    }

    .home-recruit-box .text {
        margin-bottom: 20px;
    }
}

/*/////////////////////////////////////////////////////////////////
  corporation.html
/////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------
  corporation.html corporation-philosophy
------------------------------------------------------------------*/

/*  corporation-philosophy-wrapper
------------------------------------------------------------------*/
.corporation-philosophy-wrapper {
    display: flex;
    align-items: center;
    column-gap: 30px;
}

@media screen and (max-width:767px) {
    .corporation-philosophy-wrapper {
        flex-direction: column;
        row-gap: 30px;
    }
}

/*  corporation-philosophy-detail
------------------------------------------------------------------*/
.corporation-philosophy-detail {
    position: relative;
    flex-shrink: 0;
    z-index: 1;
}

/*  corporation-philosophy-title
------------------------------------------------------------------*/
.corporation-philosophy-title {
    padding-bottom: 20px;
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
    font-weight: bold;
}

.corporation-philosophy-title .en {
    display: inline-block;
    margin-left: 7px;
    font-family: "Nunito";
    font-size: 14px;
    color: #0b8777;
    letter-spacing: 0;
}

@media screen and (max-width:1399px) {
    .corporation-philosophy-title {
        font-size: 18px;
    }

    .corporation-philosophy-title .en {
        font-size: 12px;
    }
}

/*  corporation-philosophy-text
------------------------------------------------------------------*/
.corporation-philosophy-text {
    margin-bottom: 15px;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.666;
}

@media screen and (max-width:1399px) {
    .corporation-philosophy-text {
        font-size: 40px;
    }
}

@media screen and (max-width:1199px) {
    .corporation-philosophy-text {
        font-size: 36px;
    }
}

@media screen and (max-width:991px) {
    .corporation-philosophy-text {
        font-size: 30px;
    }
}

@media screen and (max-width:767px) {
    .corporation-philosophy-text {
        font-size: 40px;
    }
}

@media screen and (max-width:575px) {
    .corporation-philosophy-text {
        margin-bottom: 5px;
        font-size: 6.5vw;
    }
}

/*  corporation-philosophy-caption
------------------------------------------------------------------*/
.corporation-philosophy-caption {
    font-family: "Nunito";
    font-size: 20px;
    font-weight: bold;
    color: #dbb400;
}

@media screen and (max-width:1399px) {
    .corporation-philosophy-caption {
        font-size: 18px;
    }
}

@media screen and (max-width:575px) {
    .corporation-philosophy-caption {
        font-size: 16px;
    }
}

/*  corporation-philosophy-image
------------------------------------------------------------------*/
.corporation-philosophy-image {
    position: relative;
    margin-right: -175px;
    z-index: 1;
}

@media screen and (max-width:1199px) {
    .corporation-philosophy-image {
        margin-right: -60px;
    }
}

@media screen and (max-width:767px) {
    .corporation-philosophy-image {
        display: none;
    }
}

/*  corporation-philosophy-treat01
------------------------------------------------------------------*/
.corporation-philosophy-treat01 {
    position: absolute;
    top: -120px;
    left: -322px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:991px) {
    .corporation-philosophy-treat01 {
        top: -70px;
        left: -202px;
        width: 250px;
    }
}

/*  corporation-philosophy-treat02
------------------------------------------------------------------*/
.corporation-philosophy-treat02 {
    position: absolute;
    bottom: -59px;
    right: -101px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1199px) {
    .corporation-philosophy-treat02 {
        width: 250px;
    }
}

@media screen and (max-width:991px) {
    .corporation-philosophy-treat02 {
        bottom: -30px;
        right: -61px;
        width: 180px;
    }
}


/*/////////////////////////////////////////////////////////////////
  english.html
/////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------
  english.html english-merit
------------------------------------------------------------------*/

/*  english-merit-box
------------------------------------------------------------------*/
.english-merit-box {
    height: 100%;
    padding: 30px 15px;
    background: #fffae1;
    border-radius: 10px;
    text-align: center;
}

.english-merit-box .num {
    display: inline-block;
    padding: 0 1em;
    margin-bottom: 10px;
    border-radius: 1.5em;
    background: #ff7889;
    font-family: "Nunito";
    font-weight: bold;
    color: #fff;
}

.english-merit-box .image {
    margin-bottom: 10px;
}

.english-merit-box .image img {
    width: 100px;
    height: 100px;
}

.english-merit-box .text {
    font-weight: bold;
}

@media screen and (max-width:575px) {
    .english-merit-box {
        padding: 15px 10px;
    }

    .english-merit-box .text {
        font-size: 12px;
    }
}


/*------------------------------------------------------------------
  english.html english-visit
------------------------------------------------------------------*/

/*  english-visit-wrapper
------------------------------------------------------------------*/
.english-visit-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 30px;
}

@media screen and (max-width:767px) {
    .english-visit-wrapper {
        flex-direction: column;
        row-gap: 30px;
    }
}

/*  english-visit-detail
------------------------------------------------------------------*/
.english-visit-detail {
    position: relative;
    flex-shrink: 0;
    z-index: 1;
}

@media screen and (max-width:767px) {
    .english-visit-detail {
        text-align: center;
    }
}

/*  english-visit-title
------------------------------------------------------------------*/
.english-visit-title {
    margin-bottom: 30px;
    font-size: 52px;
    font-weight: bold;
}

@media screen and (max-width:1399px) {
    .english-visit-title {
        font-size: 48px;
    }
}

@media screen and (max-width:1199px) {
    .english-visit-title {
        font-size: 40px;
    }
}

@media screen and (max-width:991px) {
    .english-visit-title {
        font-size: 32px;
    }
}

/*  english-visit-text
------------------------------------------------------------------*/
.english-visit-text {
    margin-bottom: 50px;
    font-size: 20px;
    line-height: 1.8;
}

@media screen and (max-width:1399px) {
    .english-visit-text {
        margin-bottom: 40px;
        font-size: 18px;
    }
}

@media screen and (max-width:1199px) {
    .english-visit-text {
        margin-bottom: 30px;
        font-size: 16px;
    }
}

@media screen and (max-width:991px) {}

@media screen and (max-width:575px) {
    .english-visit-text {
        font-size: 14px;
    }
}

/*  english-visit-image
------------------------------------------------------------------*/
.english-visit-image {
    position: relative;
    margin-right: -135px;
    z-index: 1;
}

@media screen and (max-width:1399px) {
    .english-visit-image {
        margin-right: -60px;
    }
}

@media screen and (max-width:1199px) {
    .english-visit-image {
        margin-right: 0;
    }

    .english-visit-image img {
        max-width: 100%;
        height: auto;
    }
}

/*  english-visit-treat01
------------------------------------------------------------------*/
.english-visit-treat01 {
    position: absolute;
    top: -120px;
    left: -322px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:991px) {
    .english-visit-treat01 {
        top: -70px;
        left: -202px;
        width: 250px;
    }
}

/*  english-visit-treat02
------------------------------------------------------------------*/
.english-visit-treat02 {
    position: absolute;
    bottom: -59px;
    right: -101px;
    height: auto;
    z-index: -1;
}

@media screen and (max-width:1199px) {
    .english-visit-treat02 {
        width: 250px;
    }
}

@media screen and (max-width:991px) {
    .english-visit-treat02 {
        bottom: -30px;
        right: -61px;
        width: 180px;
    }
}


/*/////////////////////////////////////////////////////////////////
  event.html
/////////////////////////////////////////////////////////////////*/

/*  event-flow
------------------------------------------------------------------*/
.event-flow-wrapper {
    position: relative;
    padding: 130px 0;
    background: #ffe9ec;
    overflow: hidden;
    z-index: 1;
}

.event-flow-wrapper::before {
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 100%;
    height: 53px;
    background: url(../images/common/treat-wave-top-white.svg) no-repeat top center / 100%;
}

.event-flow-wrapper::after {
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 100%;
    height: 53px;
    background: url(../images/common/treat-wave-bottom-yellow.svg) no-repeat bottom center / 100%;
}

@media screen and (max-width:1399px) {
    .event-flow-wrapper {
        padding: 100px 0;
    }
}

@media screen and (max-width:1199px) {
    .event-flow-wrapper {
        padding: 80px 0;
    }
}

@media screen and (max-width:991px) {
    .event-flow-wrapper {
        padding: 60px 0;
    }
}

/*  event-flow-treat01
------------------------------------------------------------------*/
.event-flow-treat01 {
    position: absolute;
    top: -360px;
    left: -800px;
    z-index: -1;
}

/*  event-flow-treat02
------------------------------------------------------------------*/
.event-flow-treat02 {
    position: absolute;
    bottom: -232px;
    right: -550px;
    z-index: -1;
}

/*  event-flow
------------------------------------------------------------------*/
.event-flow {
    max-width: 1000px;
    margin: 0 auto;
}

.event-flow>li {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 30px;
    padding: 15px 15px 15px 110px;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 5px;
    z-index: 1;
}

.event-flow>li::before {
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    content: "";
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: url(../images/common/icon-sakura-pink.svg) no-repeat center / 80%, #fff;
    z-index: 2;
}

.event-flow>li::after {
    position: absolute;
    top: 0;
    left: 60px;
    content: "";
    width: 1px;
    height: calc(100% + 30px);
    background: #ff7889;
}

.event-flow>li:first-of-type::after {
    top: 50%;
}

.event-flow>li:last-of-type {
    margin-bottom: 0;
}

.event-flow>li:last-of-type::after {
    height: 50%;
}

.event-flow .image {
    flex-shrink: 0;
}

.event-flow .body {
    width: 100%;
}

.event-flow .time {
    display: block;
    font-family: "Nunito";
    font-size: 20px;
    font-weight: bold;
    color: #ff7889;
}

.event-flow .text {
    display: block;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width:991px) {
    .event-flow>li {
        padding: 10px 10px 10px 70px;
        column-gap: 15px;
    }

    .event-flow>li::before {
        left: 15px;
        width: 40px;
        height: 40px;
    }

    .event-flow>li::after {
        left: 34px;
    }

    .event-flow .image {
        width: 150px;
    }

    .event-flow .time {
        font-size: 18px;
    }

    .event-flow .text {
        font-size: 18px;
    }
}

@media screen and (max-width:767px) {
    .event-flow>li {
        margin-bottom: 15px;
    }

    .event-flow .image {
        width: 100px;
    }

    .event-flow .time {
        font-size: 16px;
    }

    .event-flow .text {
        font-size: 16px;
    }
}

@media screen and (max-width:575px) {
    .event-flow>li {
        padding: 10px 10px 10px 40px;
    }

    .event-flow>li::before {
        left: 10px;
        width: 20px;
        height: 20px;
    }

    .event-flow>li::after {
        left: 19px;
        height: calc(100% + 15px);
    }

    .event-flow .image {
        width: 80px;
    }

    .event-flow .time {
        font-size: 14px;
    }

    .event-flow .text {
        font-size: 14px;
    }
}

/*  event-box
------------------------------------------------------------------*/
.event-box {
    padding: 50px 30px;
    margin-bottom: 60px;
    background: #fff;
    border-radius: 5px;
}

.event-box:last-of-type {
    margin-bottom: 0;
}

.event-box .title {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    margin-bottom: 30px;
    font-size: 30px;
    font-weight: bold;
}

.event-box .title img {
    width: 30px;
    height: 30px;
}

@media screen and (max-width:991px) {
    .event-box {
        padding: 30px 15px;
    }

    .event-box .title {
        font-size: 24px;
    }

    .event-box .title img {
        width: 24px;
        height: 24px;
    }
}

/*  event-contents
------------------------------------------------------------------*/
.event-contents .image {
    margin-bottom: 15px;
    border-radius: 5px;
    overflow: hidden;
}

.event-contents .month {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
}

.event-contents .month span {
    font-size: 1.5em;
    font-family: "Nunito";
}

@media screen and (max-width:991px) {
    .event-contents {
        display: flex;
        align-items: flex-start;
        column-gap: 15px;
        margin-bottom: 30px;
    }

    .event-contents .image {
        flex-shrink: 0;
        width: 150px;
        margin-bottom: 0;
    }

    .event-contents .body {
        width: 100%;
    }

    .event-contents .month {
        margin-bottom: 10px;
        font-size: 18px;
        text-align: left;
    }
}

@media screen and (max-width:575px) {
    .event-contents .image {
        width: 100px;
    }
}

/*/////////////////////////////////////////////////////////////////
  shinkoiwa.html
/////////////////////////////////////////////////////////////////*/

/*  shinkoiwa-top-section
------------------------------------------------------------------*/
.shinkoiwa-top-section {
    position: relative;
    height: 500px;
    margin-bottom: 170px;
    z-index: 1;
}

.shinkoiwa-top-section::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/common/treat-page-top-bottom.svg) no-repeat bottom center / contain;
    z-index: -1;
}

.shinkoiwa-top-section.shinkoiwa1 {
    background: url(../images/shinkoiwa1-page-top.jpg) no-repeat center / cover;
}

.shinkoiwa-top-section.shinkoiwa2 {
    background: url(../images/shinkoiwa2-page-top.jpg) no-repeat center / cover;
    ;
}

.shinkoiwa-top-section.shinkoiwa2bunen {
    background: url(../images/shinkoiwa2bunen-page-top.jpg) no-repeat center / cover;
    ;
}

@media screen and (max-width:1399px) {
    .shinkoiwa-top-section {
        margin-bottom: 190px;
        height: 400px;
    }
}

@media screen and (max-width:1199px) {
    .shinkoiwa-top-section {
        margin-bottom: 170px;
    }
}

@media screen and (max-width:991px) {
    .shinkoiwa-top-section {
        margin-bottom: 140px;
        height: 300px;
    }
}

@media screen and (max-width:767px) {
    .shinkoiwa-top-section {
        margin-bottom: 90px;
    }
}

@media screen and (max-width:575px) {
    .shinkoiwa-top-section {
        margin-bottom: 100px;
        height: 250px;
    }
}

/*  shinkoiwa-top-detail
------------------------------------------------------------------*/
.shinkoiwa-top-detail {
    position: absolute;
    bottom: -210px;
    left: 50%;
    transform: translateX(-50%);
    padding: 100px;
    background: #ffe9ec;
    border-radius: 42% 58% 24% 76% / 64% 30% 70% 36%;
    white-space: nowrap;
}

.shinkoiwa1 .shinkoiwa-top-detail {
    background: #ffe9ec;
}

.shinkoiwa2 .shinkoiwa-top-detail {
    background: #fffae1;
}

.shinkoiwa2bunen .shinkoiwa-top-detail {
    background: #dbebe7;
}

@media screen and (max-width:1399px) {
    .shinkoiwa-top-detail {
        bottom: -220px;
        padding: 90px;
    }
}

@media screen and (max-width:1199px) {
    .shinkoiwa-top-detail {
        bottom: -190px;
        padding: 80px;
    }
}

@media screen and (max-width:991px) {
    .shinkoiwa-top-detail {
        bottom: -150px;
        padding: 60px;
    }
}

@media screen and (max-width:767px) {
    .shinkoiwa-top-detail {
        bottom: -90px;
        padding: 40px;
    }
}

/*  shinkoiwa-top-title
------------------------------------------------------------------*/
.shinkoiwa-top-title {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
    line-height: 1.5;
}

.shinkoiwa-top-title .sub {
    display: block;
    font-size: max(0.5em, 12px);
    letter-spacing: 0;
}

.shinkoiwa-top-title .main {
    display: block;
}

.shinkoiwa1 .shinkoiwa-top-title .sub {
    color: #ff7889;
}

.shinkoiwa2 .shinkoiwa-top-title .sub {
    color: #dbb400;
}

.shinkoiwa2bunen .shinkoiwa-top-title .sub {
    color: #0b8777;
}

@media screen and (max-width:1399px) {
    .shinkoiwa-top-title {
        font-size: 36px;
    }
}

@media screen and (max-width:1199px) {
    .shinkoiwa-top-title {
        font-size: 32px;
    }
}

@media screen and (max-width:991px) {
    .shinkoiwa-top-title {
        font-size: 28px;
    }
}

@media screen and (max-width:767px) {
    .shinkoiwa-top-title {
        font-size: 24px;
    }
}

@media screen and (max-width:575px) {
    .shinkoiwa-top-title {
        font-size: 20px;
    }
}


/*  shinkoiwa-capacity-table
------------------------------------------------------------------*/
.shinkoiwa-capacity-table {
    width: 100%;
}

.shinkoiwa-capacity-table>thead>tr>th,
.shinkoiwa-capacity-table>tbody>tr>td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #fff;
    text-align: center;
}

.shinkoiwa-capacity-table.pink>thead>tr>th {
    background: #ff7889;
    color: #fff;
}

.shinkoiwa-capacity-table.pink>tbody>tr>td {
    background: #ffe9ec;
}

.shinkoiwa-capacity-table.yellow>thead>tr>th {
    background: #dbb400;
    color: #fff;
}

.shinkoiwa-capacity-table.yellow>tbody>tr>td {
    background: #fffae1;
}

.shinkoiwa-capacity-table.green>thead>tr>th {
    background: #0b8777;
    color: #fff;
}

.shinkoiwa-capacity-table.green>tbody>tr>td {
    background: #dbebe7;
}

@media screen and (max-width:767px) {
    .shinkoiwa-capacity-table {
        display: flex;
    }

    .shinkoiwa-capacity-table>thead,
    .shinkoiwa-capacity-table>tbody {
        display: block;
        width: 100%;
    }

    .shinkoiwa-capacity-table>thead>tr,
    .shinkoiwa-capacity-table>tbody>tr {
        display: block;
        width: 100%;
    }

    .shinkoiwa-capacity-table>thead>tr>th,
    .shinkoiwa-capacity-table>tbody>tr>td {
        display: block;
        width: 100%;
    }
}


/*/////////////////////////////////////////////////////////////////
  welfare.html
/////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------
  welfare.html welfare-box
------------------------------------------------------------------*/

/*  welfare-box
------------------------------------------------------------------*/
.welfare-box {
    height: 100%;
    padding: 30px 15px;
    background: #fffae1;
    border-radius: 5px;
    text-align: center;
}

.welfare-box .num {
    display: inline-block;
    padding: 0.5em 1em;
    margin-bottom: 15px;
    border-radius: 2em;
    background: #dbb400;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
}

.welfare-box .image {
    margin-bottom: 15px;
}

.welfare-box .image img {
    width: 100px;
    height: 100px;
}

.welfare-box .text {
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width:767px) {
    .welfare-box .text {
        font-size: 16px;
    }
}

@media screen and (max-width:575px) {
    .welfare-box {
        padding: 20px 10px;
    }

    .welfare-box .num {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .welfare-box .image {
        margin-bottom: 10px;
    }

    .welfare-box .image img {
        width: 80px;
        height: 80px;
    }

    .welfare-box .text {
        font-size: 14px;
    }
}


/*/////////////////////////////////////////////////////////////////
  contact.html
/////////////////////////////////////////////////////////////////*/

/*------------------------------------------------------------------
  contact.html contact-tel
------------------------------------------------------------------*/

/*  contact-tel-box
------------------------------------------------------------------*/
.contact-tel-box {
    max-width: 700px;
    padding: 30px;
    margin: 0 auto;
    background: #fff;
    border-radius: 5px;
    text-align: center;
}

.contact-tel-box .tel {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    font-size: 48px;
    font-weight: bold;
    line-height: 1.5;
}

.contact-tel-box .tel i {
    font-size: 0.83em;
    color: #d7000f;
}

@media screen and (max-width:767px) {
    .contact-tel-box .tel {
        font-size: 36px;
    }
}

@media screen and (max-width:575px) {
    .contact-tel-box .tel {
        font-size: 30px;
    }
}

/*  トップ　入園のお知らせ
------------------------------------------------------------------*/
.notice_visit {
    padding: 100px 0 60px;
    text-align: center;
}

@media screen and (min-width:768px) {
    .notice_visit {
        padding: 120px 0 100px;
        text-align: center;
    }
}

.notice_visit .home-education-target-box,
.notice_visit .info_icon_wrapper {
    width: 90%;
    margin: 0 auto;
    max-width: 920px;
}

.notice_visit .info_icon_wrapper {
    display: flex;
    justify-content: right;
    margin-bottom: 10px;
}

.notice_visit .info_icon {
    display: flex;
    justify-content: space-evenly;
    width: 120px;
}

.notice_visit .info_icon .icon_wrapper {
    width: 50px;
}

.notice_visit .info_icon .icon_wrapper img {
    width: 100%;
}

@media screen and (max-width: 575px) {
    .notice_visit .home-education-target-box {
        padding: 40px 10px 30px;
    }s
}

.notice_visit .home-education-target-title {
    margin-bottom: 10px;
}

.notice_visit .home-education-target-box .detail {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.notice_visit .home-education-target-box .detail .item {
    width: 100%;
    text-align: left;
    padding-bottom: 5px;
}

.notice_visit .home-education-target-box .detail .contents {
    width: 100%;
    text-align: left;
    padding-bottom: 10px;
    margin-bottom: 15px;
    border-bottom: solid 1px #d8bebe;
}

.notice_visit .home-education-target-box .detail .postscript {
    display: inline-block;
    font-size: 80%;
    padding-top: 5px;
}
.notice_visit .home-education-target-box .note {
    text-align: center;
}
.notice_visit .home-education-target-box .note span {
    display: inline-block;
    text-align: left;
}
    .red {
    color: #d7000f;
}

.pc_only {
    display: none;
}

@media screen and (min-width:768px) {
    .pc_only {
        display: block;
    }
    .notice_visit .home-education-target-box .detail .item {
        width: 20%;
    }
    .notice_visit .home-education-target-box .detail .contents {
        width: 80%;
    }
    .notice_visit .home-education-target-box .detail {
        width: 90%;
    }
}
@media screen and (max-width:767px) {
    .notice_visit .home-education-target-box .detail .item::before {
        display: inline;
        content: "●";
        padding-right: 5px;
    }
}