@import url('https://fonts.googleapis.com/css2?family=Klee+One&family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
@media (max-width: 767px) {
    .hide-for-small {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .show-for-small {
        display: none !important;
    }
}

html {
    overflow-y: scroll;
    font-size: 62.5%;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    color: #333;
    overflow: hidden;
    font-weight: 400;
    font-style: normal;
}

body:not(.home) {
    font-size: 1.5rem;
    color: #333333;
    line-height: 1.75;
    font-weight: 400;
}

a.btn {
    transition: all 0.5s;
}

.ff-maru {
    font-family: "Zen Maru Gothic", sans-serif;
}

.ff-klee {
    font-family: 'Klee One', cursive;
}

#go-top {
    position: fixed;
    bottom: -120px;
    right: 0;
    opacity: 0;
    transition: all 300ms;
    z-index: 6;
}

#go-top.show {
    opacity: 1;
    bottom: 70px;
}

#go-top a {
    display: flex;
    width: 204px;
    height: 71px;
    background-image: url(../images/index/btn-go-top-hover.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: all .3s;
}

#go-top a:hover {
    background-image: url(../images/index/btn-go-top-hover.svg);
    opacity: 0.6;
}


/*ANIMATION*/

.anim {
    opacity: 0;
}

.anim.fade {
    opacity: 1;
}

.anim.fade.is-animated {
    opacity: 1;
    animation-name: fade;
    animation-duration: 2s;
}

.anim.faderight.is-animated {
    opacity: 1;
    animation-name: faderight;
    animation-duration: 2s;
}

.anim.fade.is-animated {
    opacity: 1;
    animation-name: fade;
    animation-duration: 2s;
}

.anim.fadeleft.is-animated {
    opacity: 1;
    animation-name: fadeleft;
    animation-duration: 2s;
}

.anim.fadeup.is-animated {
    opacity: 1;
    animation-name: fadeup;
    animation-duration: 0.5s;
}

.anim.fadeupmain.is-animated {
    opacity: 1;
    animation-name: fadeupmain;
    animation-duration: 0.5s;
}

@keyframes fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes faderight {
    from {
        opacity: 0;
        transform: translateX(-150px);
    }
    to {
        opacity: 1;
        transform: translateX(0px);
    }
}

@keyframes fadeup {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0px);
    }
}

@keyframes fadeupmain {
    from {
        opacity: 0;
        transform: translateY(calc(50px - 50%));
    }
    to {
        opacity: 1;
        transform: translateY(-50%);
    }
}

@keyframes fadeleft {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0px);
    }
}


/*HEADER*/

.header-main .logo-left .logo {
    width: 409px;
    /* margin-left: 40px; */
    margin-right: 90px;
}

.header-main .main-menu {
    width: 100%;
    max-width: 625px;
}

.header-main .main-menu .nav {
    position: static;
    padding-right: 30px;
}

a {
    transition: all 0.5s;
}

a:not(.btn):hover {
    opacity: 0.7;
}

.header-main .main-menu .nav>li>a {
    font-size: 1.6rem;
    font-weight: 500;
    flex-direction: column;
    line-height: 1.2;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #333333;
}

.header-main .main-menu .nav>li>a>h4 {
    color: #4d4d4d;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.87;
    font-weight: bold;
}

.header-main .main-menu .nav>li {
    margin: 0;
}

.header-main .main-menu .nav>li>a {
    position: relative;
}

a.menu-btn {
    width: 56px;
    min-height: 56px;
    position: absolute;
    border-radius: 50%;
    top: 10px;
    right: 15px;
    z-index: 99999;
    transition: none;
    box-shadow: none;
    background-color: #ffffff;
    box-shadow: 0px 0px 3px 0px rgba(112, 112, 112, 0.45);
}

a.menu-btn span {
    display: block;
    position: absolute;
    height: 1px;
    width: 24px;
    top: 16px;
    background-color: #39B04A;
    left: 16px;
    transition: all 0.5s;
    border-radius: 1px;
}

a.menu-btn span:nth-child(2) {
    top: 23px;
}

a.menu-btn span:nth-child(3) {
    top: 30px;
}

a.menu-btn::after {
    content: "MENU";
    left: 50%;
    transform: translateX(-50%);
    top: 32px;
    position: absolute;
    color: #000;
    font-size: 1.1rem;
    width: 100%;
    text-align: center;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    line-height: 1.72;
}

a.menu-btn.open::after {
    content: "閉じる";
}

a.menu-btn.open {
    position: fixed;
    top: 10px;
}

a.menu-btn.open span {
    display: block;
    position: absolute;
    transform: rotate(45deg);
    top: 24px;
}

a.menu-btn.open span:nth-child(2) {
    display: none;
}

a.menu-btn.open span:nth-child(3) {
    transform: rotate(-45deg);
}

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    30% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    70% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

.slide-home-content {
    padding-left: 50px;
    position: relative;
    height: 656px;
}

.box-img-slide {
    position: absolute;
    left: 50px;
    bottom: 25px;
}

.slide-home-content:after {
    content: "";
    width: 215px;
    height: 116px;
    background-image: url(../images/index/icon-cloud-slide.svg);
    position: absolute;
    top: -15px;
    right: 70px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: -1;
}

#slider {
    height: 656px;
    max-width: 950px;
    margin-left: auto;
    overflow: visible !important;
}

#demo-1 {
    position: relative;
    /* can either be relative, absolute or fixed. If position is not set (i.e. static), it would be set to "relative" by script */
    overflow: visible;
    /* to bound the empty top space created by inner element's top margin */
    width: 100%;
    min-height: 656px;
    background-color: transparent;
    margin-left: 0;
}

.zs-enabled {
    position: relative;
}

.zs-enabled .zs-slideshow {
    z-index: 1;
}

.zs-enabled .zs-slides,
.zs-enabled .zs-slide {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide {
    background: transparent none no-repeat 50% 50%;
    background-size: cover;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(1.2, 1.2);
    -moz-transform: scale(1.2, 1.2);
    -ms-transform: scale(1.2, 1.2);
    -o-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
}

.zs-enabled .zs-slideshow .zs-slides .zs-slide.active {
    visibility: visible;
    opacity: 1;
}

.zs-enabled .zs-slideshow .zs-bullets {
    z-index: 7;
    width: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet {
    display: flex;
    cursor: pointer;
    width: 13px;
    height: 13px;
    margin: 5px;
    background-color: #fff;
    border: 2px solid #2AC62A;
    border-radius: 50%;
}

.zs-enabled .zs-slideshow .zs-bullets .zs-bullet.active {
    background-color: #2AC62A;
}

.main-menu .content-left .icon-main-menu {
    width: 29px;
    margin-right: 22px;
}

.main-menu .content-right .icon-main-menu {
    width: 35px;
    height: 32px;
    margin-bottom: 10px;
}

.main-menu .content-left li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.7rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    min-height: 48px;
    min-width: 176px;
    border-radius: 24px;
    box-shadow: 0px 0px 8px 0px rgba(48, 136, 150, 0.25);
    transition: .3s;
    background-color: #39B04A;
    color: #fff;
    padding-left: 70px;
    background-image: url(../images/index/icon-home.png);
    background-position: center left 23px;
    background-repeat: no-repeat;
    background-size: 23px 22px;
}

.main-menu .content-left ul {
    display: flex;
    justify-content: flex-end;
}

.main-menu .content-left ul li:nth-child(2) a {
    background-color: #29A6DD;
    padding-left: 60px;
    background-image: url(../images/index/icon-people.png);
}

.main-menu .content-left ul li:nth-child(3) a {
    background-color: #F98216;
    background-image: url(../images/index/icon-mail.png);
}

.main-menu .content-left li a:hover {
    background-color: #fff;
    color: #39B04A;
    opacity: 1;
    background-image: url(../images/index/icon-home-green.png);
}

.main-menu .content-left ul li:nth-child(2) a:hover {
    color: #29A6DD;
    background-color: #fff;
    background-image: url(../images/index/icon-people-blue.png);
}

.main-menu .content-left ul li:nth-child(3) a:hover {
    color: #F98216;
    background-color: #fff;
    background-image: url(../images/index/icon-mail-orange.png);
}

.main-menu .content-left ul li:not(:last-child) {
    margin-right: 20px;
}

.header-inner.flex-row.logo-left.logo-sm-left {
    align-items: flex-end;
    padding: 30px 0;
    padding-right: 120px;
}

.banner-home::after {
    content: "";
    width: 202px;
    height: 450px;
    background-image: url(../images/index/icon-bg-slide.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -157px;
    top: -105px;
    z-index: -1;
}

.banner-home::before {
    content: "";
    width: 416px;
    height: 436px;
    background-image: url(../images/index/img-slide-2.png);
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -1;
    bottom: -66px;
    left: -232px;
}

.color-1 {
    color: #87C13F;
}

.bgcl-1 {
    background-color: #87C13F;
}

.color-2 {
    color: #29A6DD;
}

.bgcl-2 {
    background-color: #29A6DD;
}

.color-3 {
    color: #F98216;
}

.color-4 {
    color: #EC5A24;
}

.color-5 {
    color: #FF8E06;
}

.color-6 {
    color: #32CC44;
}

.color-7 {
    color: #F25B38;
}

.color-8 {
    color: #F28E1E;
}

.header-main .main-menu .nav>li>a:hover {
    color: #39B04A;
}

.nav-main a:not(.btn):before {
    content: "";
    width: 0;
    height: 3px;
    background: #39B04A;
    position: absolute;
    bottom: -14px;
    transition: 0.3s;
    left: 0;
    border-radius: 20px;
}

.nav-main a:hover:before,
.nav-main li.active a:before {
    width: 100%;
}

#banner-home,
.page-header {
    position: relative;
}

#banner-home::after,
.page-header::after {
    content: "";
    width: calc(50vw + 126px);
    height: 585px;
    background-color: #FFFCE9;
    position: absolute;
    right: 0;
    top: -162px;
    z-index: -2;
}

.text-ab {
    position: absolute;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    left: -120px;
}

.box-news-important {
    padding: 21px 35px 18px 20px;
    background: #fff;
    border-radius: 20px;
    max-width: 834px;
    position: absolute;
    width: 100%;
    bottom: -22px;
    right: -20px;
    z-index: 2;
}

.news-important {
    padding-bottom: 15px;
    border-bottom: 1px solid red;
    display: flex;
    align-items: center;
}

.title-important {
    width: 173px;
    font-size: 2rem;
    font-family: 'Zen Maru Gothic';
    color: #E81C24;
}

.important-list {
    width: calc(100% - 173px);
}

.scroll {
    display: block;
    position: absolute;
    right: -100px;
    bottom: 0;
    height: 198px;
    padding: 0px 20px 0;
    z-index: 10;
    color: #F28E1E;
    text-transform: uppercase;
}

.scroll::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 1px;
    height: 154px;
    background: #EC5A24;
    animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

.main-title h2 {
    font-size: 5rem;
    letter-spacing: 0.1em;
    color: #32CC44;
    line-height: 1;
}

.main-title {
    padding-left: 30px;
    position: relative;
    font-family: 'Zen Maru Gothic';
    line-height: 1;
}

.main-title p {
    font-size: 3rem;
    padding-top: 10px;
    color: #000000;
}

.main-title::after {
    content: "";
    width: 8px;
    height: calc(100% + 10px);
    background-image: url(../images/index/bg-main-title.svg);
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    left: 0;
}

.news-item.item-list {
    padding: 15px 80px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #F9F7EF;
    margin-bottom: 10px;
    border-radius: 10px;
    border: 6px solid transparent;
    transition: .3s;
}

.news-item.item-list:hover {
    border-color: #FCC292;
}

.news-item.item-list .date {
    width: 144px;
    text-align: center;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.5rem;
    color: #4D4D4D;
}

.news-item.item-list {
    display: flex;
}

.news-item.item-list .cat {
    width: 231px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 33px;
    margin-right: 15px;
}

.news-item.item-list {
    align-items: center;
}

.news-item.item-list .title {
    width: 100%;
    display: flex;
    align-items: center;
    margin-top: 15px;
}

.news-item.item-list .title a {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: #000000;
}

.label-news {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F74811;
    border-radius: 50%;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.cat a {
    letter-spacing: 0.05em;
    font-size: 1.6rem;
    line-height: 1.7;
    font-weight: 500;
    color: #fff;
    width: 100%;
    background-color: #32CC44;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
}

.cat.catid-3 a {
    background-color: #EF659D;
}

.cat.catid-2 a {
    background-color: #29A6DD;
}

.cat.catid-4 a {
    background-color: #E81C24;
}

.cat.catid-6 a {
    background-color: #0071B7;
}

.cat.catid-5 a {
    background-color: #A17C52;
}

a.btn.btn-more {
    font-size: 2rem;
    font-weight: 500;
    color: #EC5A24;
    line-height: 1;
    position: absolute;
    top: 0px;
    right: 15px;
    align-items: center;
    justify-content: center;
    width: 216px;
    min-height: 56px;
    border-radius: 20px;
    border: 2px solid #F28E1E;
    box-shadow: 0px 0px 8px 0px rgba(112, 108, 98, 0.25);
    background-image: url(../images/index/icon-right-orange.svg);
    background-size: 7px 15px;
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-color: #fff;
}

a.btn.btn-more:hover {
    background-color: #F28E1E;
    color: #fff;
    background-image: url(../images/index/icon-right-white.svg);
}


a.btn.btn-recruit{
    font-size: 2rem;
    font-weight: 500;
    color: #EC5A24;
    line-height: 1;
    position: absolute;
    right: 50px;
    bottom: 50px;
    align-items: center;
    justify-content: center;
    width: 216px;
    min-height: 56px;
    border-radius: 20px;
    border: 2px solid #F28E1E;
    box-shadow: 0px 0px 8px 0px rgba(112, 108, 98, 0.25);
    background-image: url(../images/index/icon-right-orange.svg);
    background-size: 7px 15px;
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-color: #fff;
}

a.btn.btn-recruit:hover {
    background-color: #F28E1E;
    color: #fff;
    background-image: url(../images/index/icon-right-white.svg);
}

.news-list {
    position: relative;
}

.news-list::after {
    content: "";
    width: 195px;
    height: 143px;
    background-image: url(../images/index/icon-news.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -83px;
    right: 265px;
    z-index: -1;
}

.box-img-recruits {
    max-width: 633px;
    position: relative;
}

.box-img-recruits img {
    border-radius: 10px;
}

.box-img-recruits:after {
    content: "";
    width: calc(100% + 66px);
    height: calc(100% + 76px);
    position: absolute;
    left: -20px;
    bottom: -20px;
    background: url(../images/index/img-recruit-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.box-img-recruits::before {
    content: "";
    width: 410px;
    height: 436px;
    background-image: url(../images/index/bg-recruit-3.png);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    left: -69px;
    bottom: -119px;
    z-index: -1;
    position: absolute;
}



.box-btn-more a.btn.btn-more {
    position: static;
}


.box-recruit-cs {
    position: relative;
}

.box-recruit-cs::after {
    content: "";
    width: 410px;
    height: 436px;
    background-image: url(../images/index/bg-recruit.png);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    right: -70px;
    top: -61px;
    z-index: -1;
    position: absolute;
}

.box-recruit-cs::before {
    content: "";
    width: 458px;
    height: 434px;
    background-image: url(../images/index/bg-recruit-2.png);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    right: 135px;
    bottom: -111px;
    z-index: -1;
    position: absolute;
}

.box-img-concept {
    height: 378px;
}

.box-img-concept img {
    border-radius: 20px;
}

.box-img-concept::after {
    content: "";
    width: calc(100% + 26px);
    height: 100%;
    background-image: url(../images/index/img-concept.png);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 65px;
    border-radius: 20px;
}

.home-concept-left {
    position: relative;
}

.home-concept-left::after {
    content: "";
    width: 196px;
    height: 155px;
    background-image: url(../images/index/icon-concept.svg);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    position: absolute;
    right: 0;
    top: -111px;
}

.text-about {
    background-color: #32CC44;
    border-radius: 20px;
    min-height: 64px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.text-about p {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 2.7rem;
    font-weight: 500;
    font-family: 'Zen Maru Gothic';
    width: 100%;
    justify-content: center;
}

.text-about p img {
    position: relative;
    top: -10px;
    padding-left: 15px;
}

.box-point {
    display: flex;
    align-items: center;
    border-radius: 20px;
    min-height: 73px;
    background-color: #fff;
    margin-bottom: 17px;
}

.box-point-left {
    width: 134px;
    text-align: center;
}

.box-point-left img {
    width: 42px;
}

.box-point-right {
    font-size: 2.3rem;
    letter-spacing: 0.1em;
    color: #000;
    font-family: 'Zen Maru Gothic';
}

.box-point-right span {
    font-size: 3rem;
    position: relative;
    letter-spacing: 0.1em;
}

.box-point-right span:after {
    content: "";
    width: 100%;
    height: 5px;
    background: #FCB4E4;
    position: absolute;
    bottom: 0;
    left: 0;
}

.home-about-us {
    position: relative;
}

.home-about-us::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #FFFCE9;
    position: absolute;
    z-index: -2;
    top: 190px;
    left: 0;
}

.box-point.point-2 .box-point-left img {
    width: 50px;
}

.box-point.point-2 .box-point-right span:after {
    background-color: #84E03B;
}

.box-point.point-3 .box-point-right span:after {
    background-color: #65C5EF;
}

.box-point.point-3 .box-point-left img {
    width: 50px;
}


.home-concept .box-btn-more a.btn.btn-more {
    margin: 0 auto;
}

.home-about-us .box-btn-more a.btn.btn-more {
    margin: 0 auto;
}

.box-list-about {
    padding: 32px 45px;
    background: #fff;
    border-radius: 10px;
}

ul.list-about {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

ul.list-about li {
    width: 50%;
    font-size: 1.8rem;
    color: #000;
    margin-bottom: 10px;
}

ul.list-about li span {
    color: #32CC44;
}

table.group-medical {
    width: 100%;
    border: 1px solid #aeaeae;
}

td.about-medical-left {
    text-align: center;
    width: 97px;
    border: 1px solid #aeaeae;
    border-width: 0 1px 1px 0;
}

td.about-medical-right {
    padding-left: 25px;
    border-bottom: 1px solid #aeaeae;
    font-size: 1.8rem;
}

tr.box-about-medical td {
    height: 55px;
}

.box-title-slide {
    text-align: center;
    position: relative;
    padding-top: 25px;
}

.box-title-slide:after {
    content: "";
    width: 435px;
    height: 435px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    z-index: -1;
}

p.cap_txt {
    position: absolute;
    display: block;
    width: 100%;
    line-height: 50px;
    padding: 0 20px;
    box-sizing: border-box;
    letter-spacing: 0.1em;
    text-align: center;
    font-size: 2rem;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #333333;
    background: rgba(255, 255, 255, 0.85);
    bottom: 0;
    left: 0;
    z-index: 2;
}

.img-item-slide {
    position: relative;
}

button.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 63px;
    height: 124px;
    padding: 0;
    border: none;
    cursor: pointer;
    border-radius: 50%;
    background-color: transparent;
}

.home-about-us button.slick-arrow {
    border-radius: 0;
}

button.slide-arrow.next-arrow.slick-arrow {
    right: 0;
}

.slider.slider-nav.slick-initialized.slick-slider {
    max-width: 774px;
    margin: 26px auto 0;
}

.img-slide-navfor {
    margin: 0 5px;
    cursor: pointer;
}

.slider-nav button.slick-arrow {
    width: 26px;
    height: 67px;
}

.slider-nav button.slide-arrow.next-arrow.slick-arrow {
    right: -40px;
}

.slider-nav button.slide-arrow.prev-arrow.slick-arrow {
    left: -40px;
}

.slider-nav .slick-slide.slick-active {
    position: relative;
}

.slider-nav .slick-slide.slick-current:after {
    content: "";
    width: 100%;
    height: 100%;
    border: 4px solid #FF8E06;
    position: absolute;
    left: 0;
    top: 0;
}

.toggle-about.toggle-pc {
    background: #fff;
    border-radius: 16px;
}

.toggle-about.toggle-pc .toggle-hd {
    min-height: 77px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    box-shadow: 0 0 8px 0 rgba(112, 108, 98, 0.35);
    position: relative;
    border: 4px solid transparent;
    transition: .3s;
}

.toggle-about.toggle-pc .toggle-hd:hover {
    border-color: #FF8E06;
}

.toggle-about.toggle-pc .toggle-hd::after {
    content: "";
    height: 44px;
    width: 44px;
    border-radius: 50%;
    background-image: url(../images/index/icon-down.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 25px;
}

.toggle-about.toggle-pc .toggle-hd::before {
    content: "";
    height: 45px;
    width: 49px;
    background-image: url(../images/index/icon-peo-orange.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 25px;
}

.toggle-about.toggle-pc:nth-child(3) .toggle-hd::before {
    background-image: url(../images/index/icon-money.svg);
}

.toggle-about.toggle-pc:nth-child(4) .toggle-hd::before {
    background-image: url(../images/index/icon-home-orange.svg);
}

.toggle-about.toggle-pc .toggle-hd.active::after {
    background-image: url(../images/index/icon-up.svg);
}

.toggle-about.toggle-pc .toggle-cont {
    padding: 40px 80px 60px 140px;
}

ul.list-about-use li {
    position: relative;
    margin-bottom: 15px;
    font-size: 2.5rem;
    font-weight: 500;
    font-family: 'Zen Maru Gothic';
}

ul.list-about-use li:after {
    content: "";
    width: 21px;
    height: 21px;
    border-radius: 50%;
    background: #FF8E06;
    position: absolute;
    left: -39px;
    top: 50%;
    transform: translateY(-50%);
}

.box-table-about {
    display: flex;
    align-items: baseline;
    color: #000000;
    line-height: 1.75;
}

.box-table-about-left {
    width: 115px;
}

.box-table-about-right {
    width: calc(100% - 115px);
    padding: 16px 0 16px 35px;
    border-bottom: 1px solid #FF8E06;
}

.box-table-about:last-child .box-table-about-right {
    border-bottom: none;
}

.box-home-company {
    display: flex;
}

.box-home-company-left {
    width: 230px;
}

.box-home-company-left .main-title {
    padding-left: 20px;
}

.box-home-company-left .main-title h2 {
    font-size: 3.2rem;
}

.box-home-company-left .main-title::after {
    height: 100%;
    top: 50%;
}

.box-home-company-right {
    width: calc(100% - 230px);
    padding-bottom: 30px;
    border-bottom: 1px solid #E1E1E1;
}

.home-company {
    background-color: #fff;
}

.box-img-company {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-logo img {
    width: 344px;
}

footer {
    background-color: #F9F7EF;
}

.footer-1 {
    max-width: 344px;
    margin-right: 0;
    margin-left: auto;
}

.footer-wrap .main-title {
    padding-left: 20px;
}

.footer-wrap .main-title h2 {
    font-size: 3.2rem;
}

.footer-wrap .main-title::after {
    height: 100%;
    top: 50%;
}

.footer-1:after {
    content: "";
    width: 1px;
    height: 100%;
    background: #CEA57C;
    position: absolute;
    right: 0;
    top: 0;
}

.footer-copyright {
    background-color: #EEF4D7;
}

.box-img-page-header {
    max-width: 860px;
    border-radius: 20px;
    overflow: hidden;
}

.col-inner.page-header-right {
    position: relative;
}

.box-title-header {
    position: relative;
    width: 383px;
    height: 362px;
    top: 0;
    left: -105px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(../images/index/bg-title-recruit.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex-direction: column;
    border-radius: 50%;
    padding-bottom: 30px;
}

.box-title-header h2 {
    font-size: 2.2rem;
    font-family: 'Zen Maru Gothic';
    letter-spacing: 0.1em;
    color: #F6AB3B;
}

.box-title-header p {
    font-size: 3.8rem;
    font-family: 'Zen Maru Gothic';
    color: #39B04A;
    line-height: 1.4;
}

.page-anchor.mt-30 {
    padding: 22px 0;
    background: #EDF9EE;
}

ul.list-anchor {
    display: flex;
    flex-wrap: wrap;
}

ul.list-anchor li a {
    display: block;
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: 1.8rem;
    font-family: 'Zen Maru Gothic';
    font-weight: 500;
    color: #39B04A;
}

ul.list-anchor li {
    width: 100%;
    max-width: 216px;
    margin-right: 28px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 8px 0px rgba(112, 108, 98, 0.25);
    transition: all .3s;
}

ul.list-anchor li:hover {
    background-color: #39B04A;
}

ul.list-anchor li a:hover {
    color: #fff;
    opacity: 1;
}

ul.list-anchor li:last-child {
    margin-right: 0;
}

.page-header::after {
    height: 392px;
}

.page-recruit .text-ab {
    left: -105px;
}

.sub-title h2 {
    font-size: 5rem;
    line-height: 1;
    font-family: 'Zen Maru Gothic';
    letter-spacing: 0.1em;
    color: #32CC44;
    padding-bottom: 10px;
}

.sub-title {
    font-size: 3rem;
    font-family: 'Zen Maru Gothic';
    color: #000;
    text-align: center;
    padding-bottom: 15px;
    position: relative;
}

.sub-title:after {
    width: 40px;
    height: 7px;
    content: "";
    background-image: url(../images/index/icon-sub-title.svg);
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}

.recruit-message {
    position: relative;
}

.recruit-message::before {
    content: "";
    width: 517px;
    height: 674px;
    background-image: url(../images/index/bg-message.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 105px;
    z-index: -1;
}

.recruit-message:after {
    content: "";
    width: 100%;
   /* height: 200%;*/
	height: calc(100% + 500px);
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFCE9;
    z-index: -2;
}

.recruit-message .container::after {
    content: "";
    width: 196px;
    height: 155px;
    background-image: url(../images/index/icon-concept.svg);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 55px;
    top: 0;
}

.page-recruit .text-about {
    background-color: #F28E1E;
    border-color: #F28E1E;
    position: relative;
}

.box-img-work {
    display: flex;
    position: relative;
    top: -24px;
}

.box-img-work .img-work {
    width: 50%;
    height: 462px;
}

.box-img-work .img-work img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box-border {
    padding: 30px 0;
    border: 2px solid #F28E1E;
    border-radius: 15px;
}

ul.list-text {
    max-width: 824px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

ul.list-text li {
    width: 50%;
    margin-bottom: 10px;
}

ul.list-text li:nth-child(2n) {
    padding-left: 65px;
}

ul.list-text li span {
    color: #F28E1E;
}

.box-border-2 {
    padding: 25px 30px 30px;
    border: 1px solid #c7c7c7;
    border-radius: 15px;
}

.box-timeline {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 20px;
}

.box-timeline-left {
    width: 177px;
    text-align: right;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1;
    font-family: 'Zen Maru Gothic', sans-serif;
    padding-right: 34px;
    position: relative;
}

.box-timeline-left::after {
    content: "";
    width: 16px;
    height: 16px;
    background-color: #29A6DD;
    border-radius: 50%;
    position: absolute;
    right: 8px;
    top: 5px;
}

.box-border-7 .box-timeline-left::after {
    background-color: #F25B38;
}

.box-timeline-right {
    width: calc(100% - 177px);
    text-align: left;
    letter-spacing: 0.1em;
}

.group-timeline {
    border-right: 2px solid #c7c7c7;
}

.box-text-recruit {
    display: flex;
    align-items: center;
    border: 1px solid #C7C7C7;
    background: #F28E1E;
    margin-bottom: 7px;
}

.text-underline {
    text-decoration: underline;
}

.box-text-recruit-left {
    display: block;
    width: 188px;
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
}

.box-text-recruit-right {
    width: calc(100% - 188px);
    background: #fff;
    border-left: 1px solid #c7c7c7;
    padding: 15px 20px;
}

ul.list-text-recruit li {
    font-size: 1.6rem;
    line-height: 1.75;
    color: #000;
}

table.box-table-recruit {
    width: 100%;
    border: 1px solid #c7c7c7;
}

table.box-table-recruit tr:nth-child(1) {
    background-color: #F28E1E;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    height: 45px;
    border-bottom: 1px solid #c7c7c7;
}

table.box-table-recruit td:nth-child(1) {
    border-right: 1px solid #C7C7C7;
}

table.box-table-recruit td:nth-child(2) {
    font-size: 2rem;
    font-weight: 500;
}

table.box-table-recruit tr:not(:first-child) td {
    height: 45px;
    padding-left: 20px;
    font-size: 1.6rem;
    color: #000;
    border-bottom: 1px solid #c7c7c7;
}

table.box-table-recruit tr:not(:first-child) td:last-child {
    font-size: 20px;
}

.box-staff {
    padding: 30px 15px;
    border: 3px solid #32CC44;
    border-radius: 20px;
    background-color: #fff;
}

.box-staff-left {
    width: 255px;
}

.box-staff-right {
    width: calc(100% - 255px);
}

.box-img-staff {
    max-width: 190px;
    margin: 0 auto;
}

.box-staff-right-cont {
    max-width: 655px;
}

.recruit-staff {
    background-color: #FFFCE9;
}

.recruit-recruit .box-text-recruit {
    background-color: #30B737;
    border-color: #30B737;
    margin-bottom: 2px;
}

.recruit-recruit .box-text-recruit-left {
    width: 204px;
    text-align: left;
    padding-left: 20px;
}

.recruit-recruit .box-text-recruit-right {
    width: calc(100% - 204px);
    border: none;
    font-size: 1.6rem;
    color: #000;
}

.box-contact {
    background: #ffff;
    padding: 35px 35px 48px;
    border-radius: 20px;
    border: 4px solid #32CC44;
    position: relative;
}

.box-contact::after {
    content: "";
    width: 195px;
    height: 143px;
    background-image: url(../images/index/icon-news.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -118px;
    z-index: -1;
}

.col-inner.box-contact-right {
    border-left: 1px solid #333333;
    padding-left: 70px;
}

a.btn.btn-contact {
    width: 100%;
    max-width: 340px;
    min-height: 65px;
    border-radius: 24px;
    background: #f28e1e;
    color: #fff;
    font-size: 2rem;
    font-weight: 500;
    transition: all .3s;
    letter-spacing: 0.1em;
    box-shadow: 0px 0px 8px 0px rgba(112, 108, 98, 0.25);
    padding-left: 30px;
    font-family: 'Zen Maru Gothic';
}

a.btn.btn-contact:hover {
    opacity: .7;
}

a.btn.btn-contact:after {
    content: "";
    width: 28px;
    height: 20px;
    background-image: url(../images/index/icon-mail-white.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    left: 61px;
}

a.btn.btn-contact::before {
    content: "";
    width: 12px;
    height: 17px;
    background-image: url(../images/index/icon-right-white.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    right: 34px;
}

.recruit-contact {
    position: relative;
}

.recruit-contact::after {
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FFFCE9;
    z-index: -2;
}

.text-about-cs::after {
    content: "";
    width: 195px;
    height: 143px;
    background-image: url(../images/index/icon-news.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 94px;
    top: -118px;
    z-index: -1;
}

.text-about-cs::before {
    content: "";
    width: 165px;
    height: 122px;
    background-image: url(../images/index/icon-cs.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 82px;
    top: -119px;
    z-index: -1;
}

.toggle-staff.toggle-mb .toggle-hd {
    display: flex;
    align-items: center;
}

.page-contact a.btn.btn-contact {
    background-color: #39B04A;
    border-radius: 10px;
    justify-content: flex-start;
    padding-left: 55px;
}

.page-contact a.btn.btn-contact:after {
    display: none;
}

.page-contact a.btn.btn-contact::before {
    background-image: url(../images/index/arrow-down.svg);
    width: 17px;
    height: 11px;
    right: 21px;
}

.page-contact .col-inner.box-contact-right {
    padding-left: 61px;
    padding-top: 23px;
    padding-bottom: 12px;
}

.page-contact ul.list-anchor {
    justify-content: center;
}

.mail {
    position: relative;
}

.mail::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #EDF9EE;
    z-index: -1;
}

.mail .container::after {
    content: "";
    width: 195px;
    height: 143px;
    background-image: url(../images/index/icon-news.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 94px;
    top: -110px;
    z-index: 1;
}

.page-contact .box-contact {
    border-color: #EDEDED;
    padding: 20px;
}

.page-news .news-item.item-list {
    margin-bottom: 15px;
}

section#page-navi {
    background: #FFFCEE;
}

.page-news .news-list::after {
    display: none;
}

#loading {
    background-image: url(../images/index/bg-loading.jpg);
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 9000;
    background-size: 100% auto;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
}

#loading .loading-inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

body.loading header,
body.loading main,
body.loading footer,
body.loading:before,
body.loading .banner-home {
    opacity: 0 !important;
}

@media (min-width:768px) and (max-width: 1200px) {
    .header-inner.flex-row.logo-left.logo-sm-left {
        padding-right: 0;
    }
}

@media (min-width:768px) and (max-width: 1030px) {
    .header-main .logo-left .logo {
        margin-right: 20px;
    }
}

@media (min-width:768px) and (max-width: 1360px) {
    #loading .loading-inner img {
        width: 292px;
    }
}

@media (min-width:768px) and (max-width: 1420px) {
    .banner-home {
        width: calc(100% - 200px);
    }
}

a.btn.btn-more.scroll-accor {
    background-image: url(../images/index/icon-down-orange.svg);
    background-size: 16px 9px;
}

.text-about-cs-2::after {
    content: "";
    width: 195px;
    height: 143px;
    background-image: url(../images/index/icon-news.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: -133px;
    z-index: -1;
}

.text-about-cs-3 {
    position: relative;
}

.text-about-cs-3::before {
    content: "";
    width: 165px;
    height: 122px;
    background-image: url(../images/index/icon-concept.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -119px;
    z-index: -1;
}

.box-map {
    background-color: #F9F7EF;
}

.box-map iframe {
    width: 100%;
    height: 385px;
}

.recruit-home-text {
    max-width: 400px;
}

body.loading main {
    opacity: 0;
}

@media(min-width:768px) {
    .toggle-mb .toggle-hd {
        cursor: default;
    }
    .box-img-concept img{
        display: none;
    }
}

a.btn.btn-home.archive-link:hover {
    opacity: 0.6;
}

.post-content img {
    height: auto;
}


.underlink{
	display: flex;
    gap: 20px;
    justify-content: center;
    margin: 40px auto;
}

.btn1 {
	background-color: #F28E1E;
    
}

.btn1 a{
	color: #fff;
	display: block;
   padding: 20px 30px;
}
