@charset "utf-8";

/*Home
-----------------------------------------------------------------------------------------*/
.leftbar-head {
    text-align: left;
    border-left: 10px solid rgb(255, 248, 193);
    padding-left: 10px;
    font-family: mamelon-b;
    margin-bottom: 50px;
}

.home-img-flex {
    display: flex;
    flex-wrap: wrap;
}

.home-images {
    width: 33%;
    padding: 10px;
    box-sizing: border-box;
    margin-bottom: 30px;
}

.home-images p {
    margin-top: 10px;
}

.home-bg-img {
    background-image: url(../images/flowor.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bottombar-head {
    border-bottom: 10px solid rgb(255, 248, 193);
    padding-bottom: 5px;
    font-family: mamelon-b;
}

.bottombar-head-wrepper {
    padding: 15px 40px;
    display: inline-block;
}

.home-bg-img .bottombar-head-wrepper {
    background-color: rgba(255, 255, 255, 0.8);
}

.home-feature-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
}

.home-features {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 100px 0;
    border-radius: 100px;
    width: 35%;
    display: inline-block;
    box-sizing: border-box;
}

.home-features.top-left {
    position: relative;
    top: 10px;
    left: 10px;
    animation: fuwa 3s linear infinite;
}

.home-features.top-right {
    position: relative;
    top: 10px;
    right: 10px;
    animation: fuwa 2s linear infinite;
}

.home-features.bottom-left {
    position: relative;
    bottom: 10px;
    left: 10px;
    animation: fuwa 2.3s linear infinite;
}

.home-features.bottom-right {
    position: relative;
    bottom: 10px;
    right: 10px;
    animation: fuwa 2.5s linear infinite;
}

@keyframes fuwa {

    0%,
    100% {
        transform: translateY(1px);
    }

    50% {
        transform: translateY(-8px);
    }
}


.home-features-text {
    border-left: 10px solid rgb(255, 248, 193);
    padding-left: 10px;
    display: inline-block;
    text-align: left;
    font-size: 160%;
    line-height: 1.8;
}

.under-line {
    background: linear-gradient(transparent 50%, rgb(235, 192, 50) 70%);
}

.news-summary {
    position: relative;
    padding: 100px 0;
    border-radius: 50px;
    margin-top: 60px;
}

.newss {
    display: inline-block;
    text-align: left;
    width: 60%;
}

.news-date {
    background-color: rgb(255, 248, 193);
    position: absolute;
    left: 0;
    top: -30px;
    padding: 20px 40px;
    border-radius: 40px;
    font-family: mamelon-b;
    font-size: 130%;
}

.circle-title {
    font-family: mamelon-b;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.news-posttitle {
    font-size: 160%;
}

.circle-title:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    top: 50%;
    /* border: dashed 1px white; */
    left: -15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
}

.circle-title.news-posttitle:before {
    background-color: rgb(255, 248, 193);
}

.content-border {
    border: 1px solid rgb(255, 248, 193);
    padding: 60px;
    border-radius: 30px;
    box-sizing: border-box;
}

.link-btn {
    display: inline-block;
    margin-top: 60px;
    border: 2px dashed rgb(232, 137, 165);
    border-radius: 100px;
    padding: 30px 80px;
    font-size: 150%;
}

.pagenavi-wrapper {
    margin-top: 30px;
}

.bottombar-head-app {
    margin-top: 10px;
    font-size: 80%;
}

.schedule {
    position: relative;
    padding: 50px 0;
    margin-top: 25px;
    border-radius: 50px;
}

.schedule-time {
    position: absolute;
    top: -30px;
    left: -10px;
    border-radius: 50%;
    height: 80px;
    width: 80px;
    line-height: 80px;
    font-size: 160%;
    padding: 10px;
    font-family: mamelon-b;
}

.schedule.one .schedule-time {
    background-color: rgb(40, 162, 166);
}

.schedule.two .schedule-time {
    background-color: rgb(62, 181, 76);
}

.schedule.three .schedule-time {
    background-color: rgb(235, 192, 50);
}

.schedule.four .schedule-time {
    background-color: rgb(215, 88, 49);
}

.schedule.five .schedule-time {
    background-color: rgb(140, 43, 122);
}

.schedule.six .schedule-time {
    background-color: rgb(45, 52, 97);
}

.schedule-title {
    font-size: 180%;
    font-family: mamelon-b;
    margin-bottom: 50px;
}

.schedule.one .schedule-title {
    color: rgb(40, 162, 166);
}

.schedule.two .schedule-title {
    color: rgb(62, 181, 76);
}

.schedule.three .schedule-title {
    color: rgb(235, 192, 50);
}

.schedule.four .schedule-title {
    color: rgb(215, 88, 49);
}

.schedule.five .schedule-title {
    color: rgb(140, 43, 122);
}

.schedule.six .schedule-title {
    color: rgb(45, 52, 97);
}

.schedule-text p {
    padding: 5px;
}

.schedule-wrepper {
    padding: 50px;
}

.recruit-photo-wrep {
    position: relative;
}

.recruit-photo-wrep p {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: rgb(40, 162, 166);
    background-color: rgba(255, 255, 255, 0.7);
    font-family: HG創英角ﾎﾟｯﾌﾟ体, けいふぉんと;
    font-size: 250%;
    padding: 10px 20px;
    border-radius: 30px;
    white-space: nowrap;
}

.recruit-photo-box div {
    margin-top: 10px;
}

.recruit-photo-box {
    padding: 50px 0;
}

.recruit-type {
    display: inline-block;
    font-size: 180%;
}

.circle-title.recruit-type:before {
    background-color: rgb(55, 180, 150);
}

.recruit-inner {
    width: 50%;
    margin: 0 auto;
    text-align: left;
}

.recruit-contents-title {
    font-family: mamelon-b;
    font-size: 180%;
    margin: 40px 0 20px;
}

.recruit-bg {
    padding: 60px 0;
    border-radius: 50px;
}

/*Condition
-----------------------------------------------------------------------------------------*/
.condition-img {
    background-image: url(../images/forest.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px;
}

.condition-top-bg {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 80px 10px;
    border-radius: 60px;
    line-height: 2.5;
}

.condition-table {
    border-collapse: collapse;
    width: 100%;
}

.condition-table th {
    vertical-align: top;
    width: 25%;
    border: 1px solid rgb(255, 255, 255);
}

.condition-table td {
    text-align: left;
    width: 75%;
    border: 1px solid rgb(255, 248, 193);
}

.condition-table th,
.condition-table td {
    padding: 30px;
}

/*Staff
-----------------------------------------------------------------------------------------*/
.staff-flex {
    display: flex;
    padding: 30px 100px;
    justify-content: flex-start;
    align-items: center;
}

.staff-box {
    border: 1px solid rgb(33, 33, 33);
    border-radius: 30px;
    margin: 60px 0;
}

.staff-box img {
    height: 300px;
    margin-right: 100px;
}

.staff .leftbar-head {
    margin-bottom: 20px;
}


/*Company
-----------------------------------------------------------------------------------------*/
.concept-wrapper {
    padding: 10px;
    border-radius: 30px;
}

.concept-border {
    border: 1px solid rgb(253, 228, 221);
    padding: 60px 0;
    border-radius: 30px;
}

.concept-title {
    text-align: left;
    display: inline-block;
}

.concept-title div {
    font-size: 300%;
}

.circles {
    border-radius: 50%;
    height: 300px;
    width: 300px;
    position: relative;
    display: inline-block;
}

.circles.mission {
    border: 1px solid rgb(62, 181, 76);
    left: 15px;
}

.circles.vision {
    border: 1px solid rgb(235, 192, 50);
}

.circles.value {
    border: 1px solid rgb(249, 129, 154);
    right: 15px;
}

.circle-title div {
    font-size: 130%;
}

.mission .circle-title div {
    color: rgb(62, 181, 76);
}

.vision .circle-title div {
    color: rgb(235, 192, 50);
}

.value .circle-title div {
    color: rgb(249, 129, 154);
}

.circle-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.concept-circle-wrapper .circle-title {
    margin-bottom: 20px;
}

.concept-circle-wrapper {
    margin: 80px 0;
}

.concept-about {
    border-left: 10px solid rgb(33, 33, 33);
    padding-left: 10px;
    margin: 20px 0;
}

.concept-about-wrapper {
    display: inline-block;
}



/*Contact
-----------------------------------------------------------------------------------------*/
.tel-bubble {
    position: relative;
    padding: 10px 60px;
    border-radius: 10px;
    background: rgb(255, 255, 255);
    display: inline-block;
}

.tel-bubble:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid rgb(255, 255, 255);
    width: 0;
    height: 0;
}

.tel-wrapper img,
.tel-wrapper a {
    vertical-align: middle;
}

.tel-wrapper img {
    width: 60px;
    margin-right: 30px;
}

.tel-wrapper a {
    font-size: 250%;
}

.tel-wrapper {
    margin: 30px 0 15px;
}

.tel .color-orange {
    margin-top: 30px;
}

.mail-column {
    font-size: 250%;
}

.mail-column i {
    margin-right: 20px;
}

.form {
    margin-top: 50px;
}

.table-contact {
    width: 80%;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid rgb(255, 248, 193);
}

.table-contact td {
    padding: 20px 30px;
    box-sizing: border-box;
}

.contact-item1 {
    width: 30%;
    background-color: rgb(255, 248, 193);
    text-align: right;
    font-weight: 600;
    vertical-align: center;
    border-bottom: 1px solid rgb(255, 255, 255);
}

.contact-item1.last {
    border-bottom: 1px solid rgb(255, 248, 193);
}

.contact-item2 {
    width: 70%;
    background-color: rgb(255, 255, 255);
    text-align: left;
    border-bottom: 1px solid rgb(255, 248, 193);
}

.contact-item {
    display: inline-block;
    padding: 3px 5px;
    background-color: rgb(255, 255, 255);
    font-size: 90%;
    box-sizing: border-box;
    text-shadow: none;
}

.contact-item.required {
    border: 1px solid rgb(255, 215, 0);
    color: rgb(255, 215, 0);
    margin-left: 10px;
}

.contact-item.any {
    border: 1px solid rgb(70, 130, 180);
    color: rgb(70, 130, 180);
    margin-left: 10px;
}

select.wpcf7-form-control.wpcf7-select {
    font-size: 110%;
}

input.text-common {
    width: 100%;
    height: 90%;
    font-size: 110%;
    box-sizing: border-box;
}

textarea.text-common {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 110%;
    box-sizing: border-box;
}

input.button-submit {
    display: inline-block;
    width: 300px;
    margin: 50px auto;
    font-size: 120%;
}

input.button-submit:hover {
    cursor: pointer;
}

.screen-reader-response {
    color: red;
}

.wpcf7-response-output {
    width: 80%;
    margin: 10px auto !important;
    padding: 10px 0;
}

input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
    background-color: rgba(215, 65, 128, 0.7);
}

@media screen and (max-width:1023px) {
    .leftbar-head {
        text-align: left;
        border-left: 10px solid rgb(255, 248, 193);
        padding-left: 10px;
        font-family: mamelon-b;
        margin-bottom: 50px;
        font-size: 120%;
    }

    .home-images {
        width: 50%;
        margin-bottom: 20px;
    }

    .home-images p {
        margin-top: 10px;
        font-size: 90%;
    }

    .bottombar-head {
        font-size: 120%;
    }

    .bottombar-head-wrepper {
        padding: 10px 19px;
    }

    .home-feature-wrapper {
        display: block;
    }

    .home-features {
        background-color: rgba(255, 255, 255, 0.8);
        padding: 80px 50px;
        border-radius: 80px;
        width: 100%;
        margin-top: 20px;
    }

    .home-features.top-left {
        position: static;
    }

    .home-features.top-right {
        position: static;

    }

    .home-features.bottom-left {
        position: static;

    }

    .home-features.bottom-right {
        position: static;
    }

    .home-features-text {
        padding-left: 15px;
        display: block;
        font-size: 120%;
        line-height: 1.6;
    }

    .news-summary {
        padding: 50px 25px;
        border-radius: 25px;
        margin-top: 50px;
    }

    .home-news {
        padding: 30px 0;
    }

    .newss {
        width: 100%;
    }

    .news-date {
        background-color: rgb(255, 248, 193);
        padding: 15px 20px;
        font-size: 110%;
    }

    .news-posttitle {
        font-size: 120%;
    }

    .content-border {
        padding: 40px 20px;
    }

    .link-btn {
        border-radius: 60px;
        padding: 20px 60px;
        font-size: 120%;
    }

    .bottombar-head-app {
        text-align: left;
    }

    .schedule {
        position: relative;
        padding: 50px 25px;
        margin-top: 25px;
    }

    .schedule-wrepper {
        padding: 25px 0;
    }

    .schedule-title {
        font-size: 160%;
        margin-bottom: 40px;
    }

    .schedule-text {
        text-align: left;
    }

    .recruit-photo-wrep p {
        bottom: 10px;
        font-size: 160%;
        padding: 10px;
    }

    .recruit-type {
        font-size: 160%;
        padding-left: 10px;
    }

    .recruit-inner {
        width: 90%;
        text-align: center;
    }

    .recruit-contents-title {
        font-size: 130%;
        margin: 30px 0 20px;
    }

    .recruit-contents {
        text-align: left;
    }

    #recruit .bottombar-head {
        font-size: 160%;
    }

    .recruit-photo-box div {
        margin-top: 10px;
    }

    .recruit-photo-box {
        padding: 30px 0 60px;
    }

    .recruit-photo-text {
        text-align: left;
    }


    /*Condition
-----------------------------------------------------------------------------------------*/
    .condition-img {
        padding: 40px;
    }

    .condition-top-bg {
        padding: 10px 20px;
        border-radius: 20px;
        line-height: 2;
        text-align: left;
    }

    .condition-top-bg p {
        margin: 10px 0;
    }

    .condition-table th {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: unset;
    }

    .condition-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: unset;
    }

    /*Staff
-----------------------------------------------------------------------------------------*/
    .staff-flex {
        display: block;
        padding: 30px;
    }

    .staff-box img {
        height: auto;
        width: 50%;
        margin: 0 auto 20px;
    }

    .staff .leftbar-head {
        margin-bottom: 20px;
    }


    /*Company
-----------------------------------------------------------------------------------------*/
    .concept-wrapper {
        padding: 10px;
        border-radius: 30px;
    }

    .concept-border {
        padding: 10px;
        border-radius: 30px;
    }

    .concept-title div {
        font-size: 160%;
    }

    .circles {
        border-radius: 50%;
        height: 280px;
        width: 280px;
        display: inline-block;
    }

    .circles.mission {
        left: 0;
        top: 15px;
    }

    .circles.value {
        right: 0;
        bottom: 15px;
    }

    .circle-title div {
        font-size: 150%;
    }

    .concept-circle-wrapper {
        margin: 0;
    }

    .concept-about {
        border-left: 10px solid rgb(33, 33, 33);
        padding-left: 10px;
        margin: 20px 0;
    }

    .concept-title {
        margin: 100px 0;
    }


    /*Contact
-----------------------------------------------------------------------------------------*/
    .tel-wrapper img {
        width: 40px;
        margin-right: 20px;
    }

    .tel-wrapper a {
        font-size: 190%;
    }

    .mail-column {
        font-size: 180%;
    }

    .mail-column i {
        margin-right: 10px;
    }

    .contact li {
        font-size: 75%;
    }

    .foam-text {
        font-size: 75%;
    }

    .table-contact {
        width: 95%;
    }

    .table-contact td {
        padding: 15px;
    }

    .contact-item1 {
        width: 100%;
        display: block;
        text-align: left;
    }

    .contact-item2 {
        width: 100%;
        display: block;
    }

    .contact-item.required {
        margin-left: 5px;
    }

    .contact-item.any {
        margin-left: 5px;
    }

    input.text-common {
        font-size: 100%;
    }

    textarea.text-common {
        font-size: 100%;
    }

    input.button-submit {
        width: 100%;
        margin: 50px auto;
        font-size: 110%;
    }

    .wpcf7-response-output {
        width: 100%;
        box-sizing: border-box;
    }

}