.color-1 {
    color: #e27310;
}

.color-2 {
    color: #43a03c;
}

.color-3 {
    color: #754c24;
}

.color-4 {
    color: #55a507;
}

.color-5 {
    color: #2ca31f;
}

.color-6 {
    color: #876239;
}

#banner-home {
    position: relative;
}

#banner-home::after {
    content: "";
    width: 100%;
    height: 1351px;
    background-image: url(../images/index/bg-banner.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -162px;
    left: 0;
    z-index: -4;
}

.banner-home {
    position: relative;
}

.banner-home::after {
    content: "";
    width: 250px;
    height: 387px;
    background-image: url(../images/index/after-1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -55px;
    left: 0;
}

.banner-home::before {
    content: "";
    width: 241px;
    height: 545px;
    background-image: url(../images/index/after-3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.banner-slide {
    max-width: 1236px;
    margin-left: 0;
    margin-right: auto;
    position: relative;
}

.banner-slide::after {
    content: "";
    width: 450px;
    height: 510px;
    background-image: url(../images/index/after-2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -120px;
    right: -140px;
}

.banner-slide #main-slider {
    position: relative;
    left: -100px;
}

.slick-slide img {
    width: 100%;
    height: auto;
}

@media(min-width:1496px) {
    .banner-slide {
        max-width: 1400px;
        margin-left: auto;
    }
    /* .banner-slide #main-slider {
    left: calc(50% - 840px);
  }
  .banner-home-cont{
    right: unset;
    left: calc(50% + 175px);
  } */
}

.banner-slide ul.slick-dots {
    position: absolute;
    bottom: 35px;
    right: 240px;
}

ul.slick-dots {
    display: flex;
    gap: 8px;
    align-items: center;
}

ul.slick-dots li {
    width: 16px;
    height: 16px;
    border: 1px solid #aeaeae;
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.slick-dots li.slick-active {
    border-color: #e27310;
    background-color: #e27310;
}

ul.slick-dots li button {
    opacity: 0;
    display: flex;
}

.banner-home-cont {
    position: absolute;
    right: 180px;
    top: 140px;
    z-index: 2;
}

.banner-cont {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.banner-cont p {
    writing-mode: vertical-lr;
    padding: 40px 18px;
    background-color: #fff;
    border-radius: 5px;
    color: #e27310;
    font-size: 3.5rem;
    letter-spacing: 0.15em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
}

.banner-cont p span {
    color: #43a03c;
}

.home-facility-box {
    position: relative;
}

.home-facility-box::after {
    content: "";
    width: 584px;
    height: 390px;
    background-image: url(../images/index/bg-faci.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 23px;
    top: 40px;
    z-index: -1;
}

.home-facility-box.v2 .home-facility-img {
    background: #55a507;
}

.home-facility-box.v2 .home-facility-img::before {
    background-image: url(../images/index/play-btn-2.svg);
}

.home-facility-box:hover .home-facility-img::before {
    background-image: url(../images/index/play-btn-1-hover.svg);
}

.home-facility-box.v2:hover .home-facility-img::before {
    background-image: url(../images/index/play-btn-2-hover.svg);
}

.home-facility-box.v2 .home-facility-img::after {
    width: 108px;
    height: 106px;
    background-image: url(../images/index/after-faci.svg);
    left: 0;
    top: -40px;
}

.home-facility-box.v2 .home-facility-text h3 {
    color: #55a507;
}

.home-facility-box.biggerlink .home-facility-img .img img {
    transition: all 0.3s ease;
}

.home-facility-box.biggerlink:hover .home-facility-img .img img {
    transform: scale(1.05);
}

.home-facility-img .img {
    overflow: hidden;
    border-radius: 30px;
}

.home-facility-img::before {
    z-index: 1;
}

.home-facility-img {
    background: #e27310;
    padding: 10px 18px;
    border-radius: 40px;
    position: relative;
}

.home-facility-img::after {
    content: "";
    width: 140px;
    height: 105px;
    background-image: url(../images/index/after-faci-2.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -27px;
    left: -27px;
}

.home-facility-img::before {
    content: "";
    width: 103px;
    height: 103px;
    background-image: url(../images/index/play-btn-1.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: -18px;
    bottom: -18px;
    transition: all 0.5s;
}

.home-facility-img img {
    border-radius: 30px;
}

.home-facility-text {
    margin-top: 30px;
}

.home-facility-text h3 {
    font-size: 2.6rem;
    text-align: center;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #e27310;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.home-facility-text h3 span {
    font-size: 4.2rem;
}

.main-title {
    text-align: center;
    padding-bottom: 28px;
    position: relative;
}

.main-title h2 {
    font-size: 4.2rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #55a507;
    margin-top: 10px;
}

.main-title::after {
    content: "";
    width: 65px;
    height: 12px;
    background-image: url(../images/index/after-title.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.main-title.v2 h2 {
    font-size: 3.5rem;
    color: #e27310;
}

.list-news.v2 .news-item.item-list {
    border-color: #55a507;
}

.list-news.v2 .news-item.item-list::after {
    background-color: #55a507;
}

.list-news.v2 a {
    color: #55a507;
}

.news-item.item-list {
    background-color: #fff;
    display: flex;
    border: 2px solid #e27310;
    border-radius: 20px;
    padding: 13px;
    position: relative;
    margin-bottom: 20px;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
    transition: 0.3s;
    padding-right: 65px;
}

.news-item.item-list::after {
    content: "";
    width: 16px;
    height: 24px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #e27310;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 42px;
}

.news-item.item-list:hover {
    background-color: #fffbf3;
    /* Use box-shadow instead of border-width to avoid layout shift.
     The 2px spread shadow sits outside the box model, so the box
     size stays exactly the same as the default 2px border state. */
    box-shadow: 0 0 0 2px #e27310, 0 0 7px 0 rgba(146, 207, 221, 0.7);
}

.list-news.v2 .news-item.item-list:hover,
body.page-news .news-item.item-list:hover {
    box-shadow: 0 0 0 2px #55a507, 0 0 7px 0 rgba(146, 207, 221, 0.7);
}

.news-item-img {
    width: 194px;
    margin-right: 30px;
}

.news-item-img img {
    border-radius: 20px;
}

div.date {
    width: 120px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #333;
}

a.cat {
    font-weight: 500;
    color: #e27310;
}

.box-cat {
    display: flex;
    align-items: center;
}

.news-item-cont {
    flex: 1;
    padding-top: 10px;
}

.news-item-cont .title {
    margin-top: 15px;
}

.news-item-cont .title a {
    font-size: 2rem;
    font-weight: 500;
    color: #754c24;
}

a.btn.btn-main {
    max-width: 197px;
    min-height: 53px;
    background-color: #f2872f;
    border: 2px solid #f2872f;
    border-radius: 23px;
    color: #fff;
    font-size: 1.8rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
    letter-spacing: 0.05em;
}

a.btn.btn-main::after {
    content: "";
    width: 8px;
    height: 12px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
    right: 30px;
    transition: 0.3s;
}

a.btn.btn-main:hover {
    background-color: #fff;
    color: #f2872f;
}

a.btn.btn-main:hover::after {
    background-color: #f2872f;
}

a.btn.btn-main.v2 {
    background-color: #55a507;
    border-color: #55a507;
}

a.btn.btn-main.v2::after {
    background-color: #fff;
}

a.btn.btn-main.v2:hover {
    background-color: #fff;
    color: #55a507;
}

a.btn.btn-main.v2:hover::after {
    background-color: #55a507;
}

#home-news {
    position: relative;
}

#home-news::after {
    content: "";
    width: 100%;
    height: 1405px;
    background-image: url(../images/index/bg-home-news.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -4;
}

.home-news {
    position: relative;
}

.home-news::after {
    content: "";
    width: 250px;
    height: 388px;
    background-image: url(../images/index/after-4.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: -30px;
    z-index: -1;
}

.home-news::before {
    content: "";
    width: 210px;
    height: 454px;
    background-image: url(../images/index/after-5.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -90px;
    left: -25px;
    z-index: -1;
}

.home-recruit {
    position: relative;
}

.home-recruit::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/index/bg-home-recruit.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

.home-recruit .container::after {
    content: "";
    width: 88px;
    height: 73px;
    background-image: url(../images/index/icon-menu-5.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 100px;
    top: -120px;
}

.title-recruit {
    font-family: "Zen Maru Gothic", sans-serif;
    position: relative;
}

.title-recruit::after {
    content: "";
    width: 14px;
    height: 100%;
    background: linear-gradient(180deg, #ade077 0%, #36adc9 100%);
    position: absolute;
    left: -30px;
    top: 0;
    border-radius: 7px;
}

.title-recruit h2 {
    font-size: 9.5rem;
    color: #ade077;
    font-weight: 500;
    line-height: 1;
    position: relative;
    top: -12px;
}

.title-recruit h3 {
    font-size: 4rem;
    font-weight: 500;
    color: #36adc9;
}

.box-flex-recruit {
    display: flex;
    align-items: center;
    gap: 35px;
}

a.btn.btn-recruit {
    color: #fff;
    border-radius: 23px;
    font-size: 1.8rem;
    background: linear-gradient(90deg, #ade077 0%, #36adc9 100%);
    padding: 2px;
    overflow: hidden;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
}

a.btn.btn-recruit span {
    width: 193px;
    height: 49px;
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    border-radius: 20px;
}

a.btn.btn-recruit::after {
    content: "";
    width: 8px;
    height: 12px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
    right: 30px;
    transition: 0.3s;
}

a.btn.btn-recruit:hover::after {
    background-color: #29a6dd;
}

a.btn.btn-recruit:hover span {
    background-color: #fff;
    color: #29a6dd;
}

a.btn.btn-recruit.v2 {
    width: -moz-fit-content;
    width: fit-content;
    background: linear-gradient(90deg, rgb(93, 177, 73) 0%, rgb(243, 154, 0) 100%);
    border-radius: 41px;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
    font-size: 2.5rem;
}

a.btn.btn-recruit.v2 span {
    width: 526px;
    height: 78px;
    border-radius: 41px;
}

a.btn.btn-recruit.v2:hover span {
    color: #5db149;
}

a.btn.btn-recruit.v2:hover::after {
    background-color: #5db149;
}

a.btn.btn-recruit.mail::before {
    width: 32px;
    height: 21px;
    background-image: url(../images/sanai/icon-mail.svg);
    left: 30px;
}

.box-home-recruit {
    position: relative;
    padding-bottom: 50px;
}

.box-home-recruit::after {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #fff;
    max-width: 1100px;
    border-radius: 40px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    top: 15px;
}

.box-home-recruit p {
    font-size: 1.7rem;
    color: #00a498;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic", sans-serif;
    line-height: 1.7;
}

.box-home-recruit .img-recruit {
    position: absolute;
    top: -85px;
    right: -275px;
}

.box-border {
    padding: 30px 40px;
    border: 1px solid #55a507;
    border-radius: 40px;
    background-color: #fff;
}

.box-border.v2 {
    padding: 30px 75px;
    padding-right: 30px;
}

.sub-title {
    font-size: 3rem;
    color: #916a4d;
    padding-left: 50px;
    position: relative;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
}

.sub-title::after {
    content: "";
    width: 27px;
    height: 31px;
    background-image: url(../images/index/icon-sub-title.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.sub-title.center {
    padding-left: 0;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.sub-title.center::after {
    left: -50px;
}

.sub-title.v2 {
    padding-top: 30px;
    padding-left: 0;
    text-align: center;
    color: #2ca31f;
}

.sub-title.v2::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}

.table-company {
    display: flex;
}

.table-company-left {
    width: 116px;
    padding: 10px 15px;
    text-align: right;
    font-size: 2.1rem;
    color: #55a507;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
}

.table-company-right {
    flex: 1;
    padding: 13px 10px;
    font-weight: 500;
    border-bottom: 1px solid #aeaeae;
    line-height: 1.75;
    color: #754c24;
}

.box-map-company {
    height: 260px;
}

.box-map-company iframe {
    width: 100%;
    height: 100%;
}

a.btn.btn-link {
    max-width: 230px;
    min-height: 46px;
    border-radius: 23px;
    background-color: #fff;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #4d4d4d;
}

a.btn.btn-link::after {
    width: 18px;
    height: 18px;
    mask-image: url(../images/index/icon-blank.svg);
    -webkit-mask-image: url(../images/index/icon-blank.svg);
    mask-size: 100% 100%;
    mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    background-color: #87c13f;
    right: 16px;
    transition: 0.3s;
}

a.btn.btn-link:hover {
    background-color: #87c13f;
    color: #fff;
}

a.btn.btn-link:hover::after {
    background-color: #fff;
}

.box-history {
    display: flex;
    color: #916a4d;
    align-items: center;
    gap: 25px;
    font-weight: 500;
    margin-bottom: 10px;
}

.history-left {
    width: 160px;
    font-size: 2.4rem;
    font-family: "Zen Maru Gothic", sans-serif;
    text-align: right;
    font-weight: 500;
    margin-right: 25px;
    display: flex;
    justify-content: space-between;
    flex-shrink: 0;
}

.history-right {
    flex: 1;
    font-weight: 500;
}

a.btn.btn-file {
    min-height: 70px;
    border: 2px solid #55a507;
    border-radius: 20px;
    background-color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
    color: #754c24;
    padding-left: 67px;
    box-shadow: 0 0 7px 0 rgba(146, 207, 221, 0.7);
    justify-content: flex-start;
}

a.btn.btn-file::after {
    width: 16px;
    height: 24px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #55a507;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

a.btn.btn-file::before {
    content: "";
    width: 31px;
    height: 38px;
    background-image: url(../images/index/icon-pdf.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 23px;
    top: 50%;
    transform: translateY(-50%);
}

a.btn.btn-file:hover {
    opacity: 0.7;
}

#home-company {
    position: relative;
}

#home-company::after {
    content: "";
    width: 100%;
    height: calc(100% - 336px);
    background-image: url(../images/index/bg-company.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    top: 336px;
    left: 0;
    z-index: -4;
}

#home-company::before {
    content: "";
    width: 610px;
    height: 693px;
    background-image: url(../images/index/after-com.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -120px;
    left: 0;
    z-index: -3;
}

.footer-wrap {
    position: relative;
}

.footer-wrap::after {
    content: "";
    width: 100%;
    height: calc(100% + 24px);
    background-image: url(../images/index/bg-footer.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

.footer-copyright.relative {
    background: #55a507;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 500;
    padding: 10px 0;
    letter-spacing: 0.1em;
}

.footer-top {
    display: flex;
    justify-content: space-between;
}

.footer-left {
    width: 335px;
}

.footer-infor {
    flex: 1;
}

a.link-footer {
    display: block;
    color: #4d4d4d;
    padding-left: 20px;
    position: relative;
    font-size: 1.8rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    margin-bottom: 18px;
}

a.link-footer:after {
    content: "";
    width: 14px;
    height: 16px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #f2872f;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}

a.link-footer:hover {
    color: #E27310;
    opacity: 1;
}

a.link-footer:last-child {
    margin-bottom: 0;
}

.footer-right {
    display: flex;
    gap: 40px;
}

.header-wrapper .header-main .main-menu .nav>li img {
    width: 20px;
    position: absolute;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.header-wrapper .header-main .main-menu .nav>li.nav-2 img {
    width: 24px;
}

.header-wrapper .header-main .main-menu .nav>li.nav-3 img {
    width: 38px;
    left: -10px;
}

.header-wrapper .header-main .main-menu .nav>li.nav-4 img {
    width: 34px;
    left: -5px;
}

.header-wrapper .header-main .main-menu .nav>li.nav-5 img {
    width: 31px;
    left: -5px;
}

.header-wrapper .header-main .main-menu .nav>li.nav-6 img {
    width: 27px;
    left: 0px;
}

.page-header {
    height: 425px;
    margin-top: 45px;
}

.box-page-header {
    display: flex;
    align-items: center;
}

.page-header-img {
    width: 50%;
    min-height: 425px;
    position: relative;
    text-align: center;
}

.page-header-img ul.slick-dots {
    justify-content: flex-end;
    padding-right: 30px;
}


/* Page Header Slider: reveal image from top to bottom */


/* .page-header-slider img {
    clip-path: inset(0 0 100% 0);
}
.page-header-slider .slick-slide.add-animation img {
    animation: pageHeaderRevealDown 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes pageHeaderRevealDown {
    from { clip-path: inset(0 0 100% 0); }
    to   { clip-path: inset(0 0 0%   0); }
} */

.page-header-title {
    flex: 1;
    color: #e27310;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    padding-left: 70px;
}

.sub-title-jp {
    font-size: 2.3rem;
    letter-spacing: 0.05em;
}

.title-jp h1 {
    font-weight: 500;
    font-size: 4.5rem;
    margin-top: 20px;
    line-height: 1.42;
}

.title-jp h1 span {
    font-size: 3.5rem;
}

#page-header {
    position: relative;
}

#page-header::after {
    content: "";
    width: 100%;
    height: 1393px;
    background-image: url(../images/index/bg-page-cs.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -5;
    top: -170px;
    left: 0;
}

body.page-form-lv2 #page-header::after,
body.page-template-page-contact-php #page-header::after {
    background-image: url(../images/index/bg-cs-white.png);
}

#page-header::before {
    content: "";
    width: 195px;
    height: 438px;
    background-image: url(../images/sanai/after-1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 280px;
    right: 0;
    z-index: -1;
}

.list-img-insta {
    display: flex;
}

.title-insta {
    text-align: center;
    font-size: 3.5rem;
    font-weight: 500;
    color: #754c24;
    font-family: "Zen Maru Gothic", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
}

.title-insta span {
    display: block;
    line-height: 1;
}

.box-instagram {
    position: relative;
}

.box-info-btn {
    display: flex;
    gap: 30px;
    align-items: center;
    position: absolute;
    top: 40px;
    right: 0;
}

.box-info-btn p {
    color: #754c24;
    letter-spacing: 0.05em;
}

.box-info-btn a.btn.btn-link {
    width: 112px;
    min-height: 37px;
    font-size: 1.3rem;
    background-color: #e27310;
    color: #fff;
    padding-right: 20px;
    font-family: "Noto Sans JP", sans-serif;
}

.box-info-btn a.btn.btn-link::after {
    width: 14px;
    height: 14px;
    background-color: #fff;
}

.box-white {
    padding: 30px 50px 40px;
    background-color: #fff;
    border-radius: 20px;
    position: relative;
}

.box-white::after {
    content: "";
    width: 27px;
    height: 31px;
    background-image: url(../images/index/icon-sub-title.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -12px;
}

.radius-40 {
    border-radius: 40px;
}

.box-table-company.v2 .table-company-left {
    color: #e27310;
}

.sanai-02 {
    position: relative;
}

.sanai-02::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/sanai/bg-2.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    background-position: center top;
    z-index: -4;
}

.sanai-02::before,
#kodomo:before {
    content: "";
    width: 251px;
    height: 389px;
    background-image: url(../images/index/after-4.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: -30px;
    z-index: -1;
}

#kodomo:before {
    top: -200px;
}

#kodomo .title-border:before {
    content: "";
    width: 112px;
    height: 67px;
    background-image: url(../images/sanai/after-hoa.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: calc(50% - 480px);
    top: -40px;
}

#kodomo .sanai-02 .container::after {
    content: "";
    width: 140px;
    height: 105px;
    background-image: url(../images/index/after-faci-2.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -15px;
    left: 90px;
}

.sanai-02 .container::before {
    content: "";
    width: 152px;
    height: 133px;
    background-image: url(../images/sanai/after-2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -20px;
    right: 117px;
    z-index: -1;
}

.box-staff-info {
    background-color: #fff;
    border: 2px solid #E27310;
    border-radius: 20px;
    padding: 10px 20px;
    display: flex;
    margin-bottom: 30px;
    align-items: flex-start;
}

.box-staff-info:last-child {
    margin-bottom: 0;
}

.img-staff {
    width: 154px;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(90deg, rgb(93, 177, 73) 0%, rgb(243, 154, 0) 100%);
}

.img-staff-inner {
    background-color: #fff;
    border-radius: 50%;
    padding: 5px;
}

.img-staff-inner img {
    border-radius: 50%;
}

.info-staff {
    flex: 1;
    padding-left: 40px;
    padding-top: 25px;
}

.info-staff h2 {
    font-size: 2.5rem;
    color: #E27310;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    margin-bottom: 10px;
}

.info-staff p {
    font-weight: 500;
    line-height: 1.75;
    color: #754c24;
}

.box-staff-list {
    position: relative;
}

.box-staff-list::after {
    content: "";
    width: 88px;
    height: 73px;
    background-image: url(../images/index/icon-menu-5.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 40px;
    top: -136px;
}

.box-staff-list::before {
    content: "";
    width: 112px;
    height: 67px;
    background-image: url(../images/sanai/after-hoa.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 37px;
    top: -150px;
}

.sanai-03 {
    position: relative;
}

.sanai-03::after {
    content: "";
    width: 100%;
    height: calc(100% - 70px);
    background-color: #fff9eb;
    position: absolute;
    z-index: -6;
    top: 0;
    left: 0;
}

.link-header-img::after {
    content: "";
    width: 100%;
    height: calc(100% - 94px);
    background-color: #5d9324;
    border-radius: 40px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.link-header-img {
    padding: 0px 30px 20px;
    position: relative;
    margin-bottom: 30px;
}

.link-header-img::before {
    content: "";
    width: 100%;
    height: 390px;
    background-image: url(../images/index/bg-faci.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 30px;
    bottom: -45px;
    z-index: -4;
}

.img-link-header {
    position: relative;
}

.img-link-header::before {
    content: "";
    width: 84px;
    height: 108px;
    background-image: url(../images/sanai/chim-1.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -10px;
    bottom: -22px;
    z-index: 1;
}

.img-link-header img {
    border-radius: 30px;
    height: 315px;
}

.link-header-img>a {
    font-size: 3.3rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.45;
    display: block;
    padding: 4px 15px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    position: relative;
    margin-top: 18px;
}

.link-header-img a:hover {
    opacity: 1;
}

.link-header-img.biggerlink {
    transition: all 0.3s ease;
}

.link-header-img.biggerlink:hover {
    opacity: 0.6;
}

.link-header-img>a::after {
    content: "";
    width: 104px;
    height: 104px;
    background-image: url(../images/index/icon-right-1.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 0;
}

.link-header-img.v2::after {
    background-color: #e05c03;
}

.link-header-img.v2 a::after {
    background-image: url(../images/index/icon-right-2.svg);
}

.link-header-img.v2 .img-link-header::before {
    background-image: url(../images/sanai/chim-2.png);
    width: 92px;
    height: 82px;
    bottom: -26px;
    left: -15px;
}

.box-ask {
    border: 3px solid #87c13f;
    border-radius: 30px;
    font-size: 2.2rem;
    font-weight: 500;
    color: #754c24;
    padding: 13px 70px;
    padding-right: 30px;
    position: relative;
    margin-bottom: 35px;
    background-color: #fff;
}

.box-ask::after {
    content: "";
    width: 26px;
    height: 26px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 23px;
    background-color: #f6ab3b;
}

.box-ask::before {
    content: "";
    width: 83px;
    height: 35px;
    background-image: url(../images/sanai/icon-ask.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -26px;
}

.box-ress {
    display: flex;
    justify-content: center;
    gap: 55px;
}

.ress-item {
    width: 200px;
}

.ress-item p {
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.4;
    font-weight: 500;
    color: #754c24;
}

.title-border {
    font-size: 3.5rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #5d9324;
    text-align: center;
    padding-bottom: 30px;
    position: relative;
}

.title-border::after {
    content: "";
    width: 100px;
    height: 5px;
    background-color: #5d9324;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    border-radius: 10px;
}

.title-ress {
    width: 200px;
    height: 115px;
    font-size: 3.5rem;
    text-align: center;
    font-weight: 500;
    line-height: 1;
    font-family: "Zen Maru Gothic", sans-serif;
    letter-spacing: 0.05em;
    color: #fff;
    background-image: url(../images/sanai/bg-title-ress.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
}

.title-ress span {
    font-size: 4.4rem;
}

.box-ask-me {
    position: relative;
}

.box-ask-me::after {
    content: "";
    width: 948px;
    height: 948px;
    background-image: url(../images/sanai/bg-ask.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 190px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -2;
}

.step-safe {
    display: flex;
    padding: 20px 0;
    background-color: #fff9eb;
    border-radius: 20px;
    align-items: center;
    margin-bottom: 43px;
    position: relative;
}

.step-safe::after {
    content: "";
    width: 33px;
    height: 20px;
    background-color: #87c13f;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.step-safe:nth-child(2)::after {
    background-color: #f6ab3b;
}

.step-safe:nth-child(2) .step-title {
    color: #b27906;
}

.step-safe:nth-child(2) .step-title span {
    background-color: #b27906;
}

.step-safe:last-child {
    margin-bottom: 0;
}

.step-safe:last-child .step-title {
    color: #e27310;
}

.step-safe:last-child .step-title span {
    background-color: #f28e1e;
}

.step-safe:last-child::after {
    display: none;
}

.step-title {
    width: 395px;
    display: flex;
    justify-content: center;
    font-size: 3.5rem;
    font-weight: 500;
    color: #74b713;
    font-family: "Zen Maru Gothic", sans-serif;
    text-align: center;
    position: relative;
    min-height: 105px;
    align-items: center;
    border-right: 2px solid #c1976d;
    padding-left: 125px;
    justify-content: flex-start
}

.step-title span {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background-color: #74b713;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 26px;
    top: -43px;
    color: #fff;
    font-size: 4.5rem;
    padding-bottom: 5px;
    padding-left: 3px;
}

.step-cont {
    flex: 1;
    padding-left: 50px;
    font-size: 2.2rem;
    color: #754c24;
    font-weight: 500;
    line-height: 1.72;
}

.box-btn-step {
    position: relative;
}

.box-btn-step::after {
    content: "";
    width: 109px;
    height: 106px;
    background-image: url(../images/index/after-faci.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 25px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.box-btn-step::before {
    content: "";
    width: 140px;
    height: 105px;
    background-image: url(../images/index/after-faci-2.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 25px;
    left: -20px;
}

.box-map-sanai {
    height: 525px;
}

.box-map-sanai iframe {
    width: 100%;
    height: 100%;
}

.box-border-contact {
    padding: 1px;
    background: linear-gradient(90deg, rgb(93, 177, 73) 0%, rgb(243, 154, 0) 100%);
    border-radius: 45px;
}

.box-border-contact-inner {
    background-color: #fff;
    border-radius: 43px;
    padding: 30px 50px;
    display: flex;
    align-items: center;
}

.box-border-contact.v2 {
    padding: 2px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.box-border-contact.v2 .box-contact-left {
    width: 100%;
    border: none;
}

.box-border-contact.v2 .box-contact-left h3 {
    font-size: 2.2rem;
    margin-bottom: 10px;
}

body.page-contact .box-border-contact.v2 .box-contact-left h3 {
    font-size: 35px;
}

.box-contact-left {
    width: 50%;
    padding: 0 48px;
    border-right: 1px solid #aeaeae;
}

.box-contact-left h3 {
    font-size: 1.7rem;
    font-weight: 500;
    text-align: center;
    color: #754c24;
}

.box-contact-left a {
    display: block;
    padding-left: 50px;
    font-size: 3.5rem;
    font-weight: bold;
    color: #e27310;
    font-family: "Zen Maru Gothic", sans-serif;
    position: relative;
}

body.page-contact .box-contact-left a {
    font-size: 45px;
}

body.page-contact .box-border-contact.v2 {
    width: fit-content;
    max-width: unset;
}

body.page-contact .box-contact-left a::after {
    width: 50px;
    height: 53px;
    left: -12px;
}

body.page-contact .box-contact-left a.fax::after {
    width: 50px;
    height: 50px;
}

.box-contact-left a::after {
    content: "";
    width: 38px;
    height: 42px;
    background-image: url(../images/sanai/icon-tel.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.box-contact-left a.fax::after {
    background-image: url(../images/sanai/icon-fax.svg);
    width: 35px;
    height: 35px;
}

.box-contact-left p {
    font-size: 1.4rem;
    font-weight: 500;
    color: #754c24;
    text-align: center;
    padding-top: 10px;
}

.box-contact-right {
    width: 50%;
    padding-left: 55px;
    padding-right: 10px;
}

.box-contact-right a.btn.btn-recruit.v2 {
    width: 100%;
}

.box-contact-right a.btn.btn-recruit.v2 span {
    width: 100%;
    height: 58px;
    font-size: 2rem;
}

.box-contact-right h3 {
    font-size: 1.7rem;
    font-weight: 500;
    text-align: center;
    color: #754c24;
}

.list-link-img {
    display: flex;
    gap: 64px;
    justify-content: center;
}

.link-img-sanai {
    position: relative;
}

.link-img-sanai::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/sanai/bg-link.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: -1;
}

.link-img-sanai::before {
    content: "";
    width: 68px;
    height: 68px;
    background-image: url(../images/index/play-btn-1.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.link-img-sanai:nth-child(2)::before {
    background-image: url(../images/index/play-btn-2.svg);
}

.link-img-sanai:nth-child(3)::before {
    background-image: url(../images/index/play-btn-3.svg);
}

.sanai-07 {
    position: relative;
}

.sanai-07::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/index/bg-company.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-position: center top;
}

.sanai-04 {
    position: relative;
}

.sanai-04::after {
    content: "";
    width: 100%;
    height: 1473px;
    background-image: url(../images/sanai/bg-4.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -200px;
    left: 0;
    z-index: -5;
    background-position: center top;
}

.box-children {
    position: relative;
}

.box-children::after {
    content: "";
    width: 100%;
    height: calc(100% + 200px);
    background-image: url(../images/sanai/bg-5.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0px;
    left: 0;
    z-index: -5;
    background-position: center top;
}

.box-children .title-border {
    color: #e05c03;
}

.box-children .title-border::after {
    background-color: #e05c03;
}

.sanai-01 {
    position: relative;
}

.sanai-01::after,
.flower-left:after,
#hogosha::before {
    content: "";
    width: 210px;
    height: 454px;
    background-image: url(../images/index/after-5.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 440px;
    left: -25px;
    z-index: -1;
}

#hogosha::before {
    top: 167px;
}

.sanai-01::before {
    content: "";
    width: 100%;
    height: 460px;
    background-image: url(../images/sanai/after-cs.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 575px;
    left: 0;
    z-index: -2;
}

.box-event {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.month-event {
    font-size: 3rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    width: 86px;
    text-align: right;
    line-height: 1.5;
}

.event-info {
    flex: 1;
    font-size: 1.7rem;
    font-weight: 500;
    color: #754c24;
    line-height: 1.35;
    letter-spacing: 0.05em;
}

.month-event span {
    font-size: 5.4rem;
    line-height: 1;
}

.box-list-event {
    background-color: #fff;
    border-radius: 20px;
    padding: 40px 5px;
    position: relative;
}

.box-list-event::after {
    content: "";
    width: 1px;
    height: calc(100% - 80px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #949494;
}

.month-4 {
    color: #ff7ba7;
}

.month-5 {
    color: #39b04a;
}

.month-6 {
    color: #662d8c;
}

.month-7 {
    color: #3fa4f0;
}

.month-8 {
    color: #0071b7;
}

.month-9 {
    color: #d18b0f;
}

.month-10 {
    color: #ff8e1e;
}

.month-11 {
    color: #995c14;
}

.month-12 {
    color: #008d45;
}

.month-1 {
    color: #8e7954;
}

.month-2 {
    color: #e81c24;
}

.month-3 {
    color: #87c13f;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.scroll-wrapper {
    overflow: hidden;
}

.scroll-slide {
    display: flex;
    animation: infinity-scroll-left 40s infinite linear 0.5s both;
    width: 200vw;
}

.scroll-slide .scroll-item {
    width: 19%;
}

.slide-company-item {
    margin: 0 20px;
}

.slide-company-item:nth-child(2n) {
    margin-top: 60px;
}

.slide-company-item img {
    border-radius: 50%;
}

.box-slide-contact {
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.box-slide-contact::after {
    content: "";
    width: 609px;
    height: 693px;
    background-image: url(../images/index/bg-cay.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -90px;
    right: -290px;
    z-index: -6;
}

.box-slide-contact .slick-list {
    overflow: visible;
    margin: 0 -40px;
}

.box-slide-contact .slick-slide {
    padding: 0 40px;
}

.box-slide-contact .slick-slide p {
    font-size: 3rem;
    font-weight: 500;
    font-family: "Zen Maru Gothic", sans-serif;
    text-align: center;
    margin-top: 20px;
}

.box-slide-contact ul.slick-dots {
    bottom: -70px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.box-slide-contact ul.slick-dots li {
    border-color: #2ca31f;
}

.box-slide-contact ul.slick-dots li.slick-active {
    background-color: #2ca31f;
}

button.slide-arrow {
    position: absolute;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: none;
    border-radius: 50%;
    left: -70px;
    z-index: 1;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(154, 216, 145, 0.55);
    padding: 0;
    z-index: 2;
    opacity: 1;
}

button.slide-arrow.next-arrow {
    right: -70px;
    left: auto;
}

.sanai-contact-03 {
    position: relative;
}

.sanai-contact-03::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../images/sanai/bg-sanai-contact-3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -345px;
    left: 0;
    background-position: center top;
    z-index: -4;
}

.sanai-contact-03 .after-contact-03::after {
    content: "";
    width: 94px;
    height: 90px;
    background-image: url(../images/index/after-contact-1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.sanai-contact-03 .after-contact-03::before {
    content: "";
    width: 75px;
    height: 66px;
    background-image: url(../images/index/after-contact-2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.page-contact-sanai .sanai-02::after {
    background-image: url(../images/sanai/bg-contact-1.png);
}

.page-contact-sanai .sanai-07::after {
    height: calc(100% + 210px);
    top: -210px;
}

#contact-sanai-02 {
    position: relative;
}

#contact-sanai-02::after {
    content: "";
    width: 610px;
    height: 693px;
    background-image: url(../images/sanai/bg-cay.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 195px;
    left: -120px;
    z-index: -1;
}

.sanai-contact-04 {
    position: relative;
}

.sanai-contact-04::after {
    content: "";
    width: 100%;
    height: calc(100% + 300px);
    background-image: url(../images/sanai/bg-contact-3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -160px;
    left: 0;
    z-index: -5;
    background-position: center top;
}

.sanai-contact-04 .container::after {
    content: "";
    width: 94px;
    height: 90px;
    background-image: url(../images/index/after-contact-1.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.page-contact-sanai.page-cs .sanai-07 .box-contact-left {
    padding: 0;
}

.page-contact-sanai.page-cs .sanai-07 .box-contact-left a {
    color: #39b04a;
}

.page-contact-sanai.page-cs .sanai-07 .box-contact-left a::after {
    background-image: url(../images/sanai/icon-tel-2.svg);
}

.page-cs .main-title h2 {
    color: #39b04a;
}

.page-no-img .page-header-img {
    display: none;
}

.page-no-img .page-header {
    height: 240px;
    margin-top: 0;
}

.page-no-img .box-page-header {
    min-height: 240px;
    justify-content: center;
}

.page-no-img .page-header-title {
    text-align: center;
    padding: 0;
}

.page-no-img .title-jp h1 {
    margin: 0;
}

.page-no-img .title-jp p {
    font-size: 2.5rem;
}

#contact-02 {
    position: relative;
}

#contact-02::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #fff9eb;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

#contact-02::before {
    content: "";
    width: 250px;
    height: 388px;
    background-image: url(../images/index/after-4.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: -30px;
    z-index: -1;
    transform: scaleX(-1);
}

.contact-03 {
    position: relative;
}

.contact-03::after {
    content: "";
    width: 100%;
    height: 460px;
    background-image: url(../images/sanai/after-cs.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -260px;
    left: 0;
    z-index: -1;
}

.page-contact.page-contact-sanai .sanai-01::after {
    top: auto;
    bottom: -200px;
}

.page-contact.page-contact-sanai #page-header::before {
    display: none;
}

.single-page .page-navi {
    padding: 55px 0;
    position: relative;
}

.single-page .page-navi::after {
    content: "";
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, rgb(93, 177, 73) 0%, rgb(243, 154, 0) 100%);
    position: absolute;
    left: 0;
    top: 0;
}

a.btn.btn-main.btn-home-single {
    min-width: 197px;
}

#news-list .news-item.item-list {
    border: none;
}

#news-list .news-item.item-list::after {
    background-color: #55a507;
}

.works-filter {
    background: #fcf5d9;
    border-radius: 20px;
    padding: 40px 45px;
}

.page-news .title-jp {
    color: #55a507;
}

.page-news #page-header::after {
    background-image: url(../images/index/bg-news.png);
    height: 1351px;
}

.page-news #page-header::before {
    display: none;
}

.works-filter .row {
    padding-right: 100px;
}

.box-single-top::before {
    content: "";
    width: calc(100% + 100px);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 1048px;
    background-color: #fff;
    z-index: -1;
    top: 0;
    border-radius: 20px;
}

.page-contact:not(.page-contact-sanai) .title-jp h1,
.page-contact:not(.page-contact-sanai).page-no-img .title-jp p {
    color: #55a507;
}

.page-contact:not(.page-contact-sanai) .box-border-contact-inner {
    padding: 20px 40px 30px;
}

.page-contact:not(.page-contact-sanai) .box-contact-left {
    padding: 0;
}

.page-contact:not(.page-contact-sanai) .box-contact-left a {
    color: #55a507;
    font-size: 4rem;
}

.page-contact:not(.page-contact-sanai) .box-contact-left a span {
    font-size: 4.5rem;
}

.page-contact:not(.page-contact-sanai) .box-contact-left a::after {
    background-image: url(../images/sanai/icon-tel-2.svg);
}

.page-contact:not(.page-contact-sanai) .stepList li.active {
    background-color: #55a507;
}

.page-contact:not(.page-contact-sanai) .stepList::after {
    background-color: #55a507;
}

.page-contact:not(.page-contact-sanai) .contactForm input[type=text],
.page-contact:not(.page-contact-sanai) .contactForm input[type=email],
.page-contact:not(.page-contact-sanai) .contactForm input[type=tel],
.page-contact:not(.page-contact-sanai) .contactForm textarea {
    background-color: #fffcf5;
}

.page-contact:not(.page-contact-sanai) .contactForm .bor {
    border-color: #997d4d;
}

.page-contact:not(.page-contact-sanai) #contact-02::after {
    background-color: #fff;
}

.page-contact:not(.page-contact-sanai) .sanai-01::before {
    background-color: none;
    background-image: url(../images/index/bg-grad-white.png);
    background-size: 100% 100%;
    top: 166px;
}

.page-contact:not(.page-contact-sanai) .contact-03::after {
    transform: rotate(180deg);
    top: -200px;
}

.page-contact:not(.page-contact-sanai) .contact-03::before {
    content: "";
    width: 100%;
    height: calc(100% + 178px);
    background-color: #fff9eb;
    position: absolute;
    top: 160px;
    left: 0;
    z-index: -2;
}

.page-contact:not(.page-contact-sanai) .submit-btn .one-btn {
    background-color: #55a507;
}

.page-contact:not(.page-contact-sanai) .submit-btn .one-btn:hover {
    background-color: #fff;
}

.page-contact:not(.page-contact-sanai) .submit-btn .one-btn:hover .btn {
    color: #55a507;
}

.page-contact:not(.page-contact-sanai) .submit-btn .one-btn:hover::before {
    background-color: #55a507;
}

.page-contact:not(.page-contact-sanai) input[type=radio]:checked:before,
.page-contact:not(.page-contact-sanai) input[type=checkbox]:checked:before {
    background-color: #55a507;
}

.home-facility .container::after {
    content: "";
    width: 152px;
    height: 133px;
    background-image: url(../images/sanai/after-2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 90px;
    right: 40px;
    z-index: -1;
}

.home-facility .container::before {
    content: "";
    width: 112px;
    height: 67px;
    background-image: url(../images/sanai/after-hoa.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 180px;
    top: 150px;
}

.page-contact-sanai-form.page-cs .main-title h2 {
    color: #e27310;
}

.page-contact-sanai-form.page-cs #page-header:after {
    background-image: url(../images/index/bg-after-contact-sanai.png);
    height: 1300px;
}

.page-contact-sanai-form.page-cs .sanai-01::before {
    opacity: 0;
}

.page-sanai-home.page-cs .page-header-title {
    color: #55a507;
}

.page-sanai-home.page-cs #page-header:after {
    background-image: url(../images/index/bg-home-sanai.png);
    height: 1300px;
}

.page-sanai-home.page-cs .sanai-01::before {
    transform: rotate(180deg);
    top: auto;
    bottom: -300px;
}

.page-sanai-home.page-cs .sanai-01::after {
    bottom: -160px;
}

.page-sanai-home.page-cs .main-title h2 {
    color: #55a507;
}

.page-sanai-home.page-cs .sanai-02::before {
    top: 570px;
}

.page-sanai-home.page-cs .sanai-02 .container::after {
    width: 86px;
    height: 85px;
    background-image: url(../images/index/after-faci.svg);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -105px;
}

.page-sanai-home.page-cs .sanai-02 .container::before {
    width: 127px;
    height: 57px;
    background-image: url(../images/index/after-sanai-home-2.png);
    top: -100px;
}

.page-sanai-home.page-cs .sanai-07::before {
    content: "";
    width: 100%;
    height: 460px;
    background-image: url(../images/sanai/after-cs.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -150px;
    left: 0;
    z-index: -2;
}

.page-sanai-home.page-cs .sanai-07::after {
    z-index: -3;
}

.recruit-slide img {
    margin: 0 4px;
}

a.fax {
    pointer-events: none;
    cursor: default;
}

.page-contact:not(.page-contact-sanai).page-form-lv2 .main-title h2 {
    color: #55a507;
}

.list-step-safe.list-step-1:before {
    content: "";
    width: 80px;
    height: 102px;
    background-image: url(../images/family-support/icon-bird-1.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -125px;
    right: 25px;
}

.list-step-safe.list-step-2:before {
    content: "";
    width: 88px;
    height: 73px;
    background-image: url(../images/index/icon-menu-5.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 12px;
    top: -147px;
}

.list-step-safe.list-step-2:after {
    content: "";
    width: 152px;
    height: 133px;
    background-image: url(../images/sanai/after-2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -213px;
    right: -86px;
    z-index: -1;
}

.ml-auto {
    margin-left: auto;
    display: block;
    text-align: right;
}

.page-id-35 .page-header-title {
    position: relative;
}

.page-id-35 .page-header-title::after {
    content: "";
    width: 180px;
    height: 155px;
    background-image: url(../images/family-support/after-1.png);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 70px;
    bottom: -190px;
    z-index: -1;
}