@charset "utf-8";

/*common
-----------------------------------------------------------------------------------------*/
.top_bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}

/*incle
-----------------------------------------------------------------------------------------*/
.top_bg.inclu {
    background-image: url(../images/inclu_bg.png);
}

.top_circle {
    position: absolute;
    top: 50%;
    right: 60%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 1500px;
    height: 1500px;
    border-radius: 50%;
}

.circle_text_box {
    position: absolute;
    top: 50%;
    left: 3%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size: 120%;
}

.top_img {
    position: absolute;
}

.top_img.top {
    top: 10%;
    left: 60%;
    width: 23%;
}

.top_img.middle {
    top: 40%;
    left: 45%;
    width: 13%;
}

.top_img.bottom {
    top: 70%;
    left: 64%;
    width: 7%;
}

.name {
    font-size: 400%;
    margin: 5px auto 20px;
    line-height: 1.3;
}

h1 {
    font-size: 100%;
}

.top_bg_text {
    position: absolute;
    right: 2%;
    bottom: 25%;
    font-size: 200%;
    z-index: 3;
}

.top_bg_text p {
    margin: 8px 0;
}

.colorful_text .one {
    color: rgb(242, 103, 34);
}

.colorful_text .two {
    color: rgb(113, 61, 26);
}

.colorful_text .three {
    color: rgb(192, 53, 0);
}

.colorful_text .four {
    color: rgb(255, 183, 16);
}

.colorful_text .five {
    color: rgb(32, 148, 166);
}

.colorful_text .six {
    color: rgb(32, 78, 148);
}

.colorful_text.en {
    font-size: 900%;
}

.colorful_text.en span {
    margin: 0 12px;
}

.intro_right_top {
    font-size: 150%;
    margin: 50px 0;
}

.intro_flex {
    display: flex;
}

.intro_flex_child {
    width: 50%;
}

.intro_right {
    padding: 3%;
    box-sizing: border-box;
}

.intro_left .zen-maru-gothic-light {
    line-height: 0.5;
    font-size: 50%;
    color: rgb(172, 172, 172);
}

.intro_right div {
    width: 60%;
}

.intro_right_bottom p {
    padding: 10px 0;
}

.blog_tags {
    padding: 5px 10px;
}

.inclu_tag .blog_tags {
    background-color: rgb(32, 78, 148);
}

.agri_tag .blog_tags {
    background-color: rgb(121, 167, 55);
}

.all_tag .blog_tags {
    background-color: rgb(70, 70, 70);
}

.news_containertitle {
    font-size: 300%;
}

.news_inner {
    width: 90%;
    margin: auto 0 auto auto;
}

.news_box {
    width: 35%;
    margin: 40px 15px 0 0;
    padding: 20px;
    box-sizing: border-box;
    flex-shrink: 0;
}

.news_box img {
    width: auto;
    height: auto;
    max-width: 100%;
}

.thumbnail {
    margin: 20px 0 10px;
}

.news_border {
    border-bottom: 1px solid rgb(70, 70, 70);
    padding-bottom: 10px;
}

.news_posttitle {
    font-size: 150%;
    margin-right: 10px;
}

.news_content {
    margin-top: 10px;
}

.news_summary {
    display: flex;
    overflow: auto;
}

.colorful_text.ja {
    font-size: 300%;
    writing-mode: vertical-rl;
    display: inline-block;
}

.container_title.align_right {
    position: absolute;
    top: 0;
    right: 0;
}

.container_title.align_left {
    position: absolute;
    top: 0;
    left: 0;
}

.colorful_text.ja span {
    margin: 12px 0;
}

.work_title span {
    padding: 10px 8px 10px 16px;
    font-size: 210%;
    letter-spacing: 0.3em;
}

.colorful_inner_box {
    margin-top: 60px;
}

.colorful_inner_box:first-child {
    margin-top: 240px;
}

.work_photo_flex {
    display: flex;
    margin: 60px 0;
}

.link .work_photo_flex {
    margin-bottom: 0;
}

.work_photo_flex img {
    padding-left: 20px;
    box-sizing: border-box;
}

.work_photo_flex.three img {
    width: 33%;
}

.work_photo_flex.two img {
    width: 50%;
}

.work_photo_flex img:first-child {
    padding-left: 0;
}

.work_box_text {
    border: 1px solid rgb(70, 70, 70);
    padding: 30px;
    display: inline-block;
}

.work_box_text li {
    margin: 5px 0;
}

.work_box_text li.zen-maru-gothic-bold {
    margin-bottom: 10px;
    font-size: 120%;
}

.work_box_text p {
    margin-top: 20px;
}

.colorful.link .work_photo_flex {
    margin-bottom: 0;
}

.q_a_categori {
    font-size: 130%;
    border-bottom: double 6px rgb(17, 77, 87);
    display: inline-block;
    padding-bottom: 6px;
}

.q_a_simbol {
    font-size: 380%;
    width: 10%;
}

.q_a_text {
    width: 90%;
    padding: 0 20px;
}

.q_contents {
    border-bottom: 1px dashed rgb(179, 179, 179);
}

.q_a_content .flex {
    display: flex;
    align-items: center;
}

.faq__question {
    cursor: pointer;
    position: relative;
}

.faq__question::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1%;
    width: 20px;
    height: 3px;
    background-color: rgb(255, 183, 16);
    color: rgb(255, 183, 16);
}

.faq__question::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 1%;
    width: 20px;
    height: 3px;
    background-color: rgb(255, 183, 16);
    color: rgb(255, 183, 16);
    transform: rotate(-90deg);
}

.faq__question.is-open::after {
    display: none;
}

.faq__answer {
    display: none;
}

.q_a_content {
    margin: 20px 0;
}

.faq__question .q_a_simbol span {
    background-color: rgb(192, 53, 0);
    padding: 0 23px 8px;
    border-radius: 5px;
}

.faq__answer .q_a_simbol span {
    background-color: rgb(32, 148, 166);
    padding: 0 25px 8px;
    border-radius: 5px;
}

.q_a_list {
    padding: 20px;
}


/*single
-----------------------------------------------------------------------------------------*/
.link_buttun {
    margin-top: 5%;
}

.link_buttun span {
    border: 1px solid rgb(255, 255, 255);
    padding: 20px 30px;
    border-radius: 20px;
    background: linear-gradient(90deg, rgb(32, 78, 148), rgb(121, 167, 55));
}

.link_buttun span:hover {
    background: rgb(255, 255, 255);
    color: rgb(70, 70, 70);
}


/*index
-----------------------------------------------------------------------------------------*/
.index_news_box {
    width: 60%;
    margin: 30px auto;
    padding: 20px;
    box-sizing: border-box;
}

.index_news_box img {
    max-width: 100%;
    height: auto;
}

.pagenavi-wrapper {
    padding: 60px 0;
    color: rgb(255, 255, 255);
}

/*agri
-----------------------------------------------------------------------------------------*/
.top_bg.agri {
    background-image: url(../images/agri_bg.png);
}


/*about
-----------------------------------------------------------------------------------------*/
table.width-max-table {
    border-collapse: collapse;
    width: 100%;
}

.table-wrapper {
    margin-bottom: 60px;
}

table.width-max-table {
    border: 1px solid rgb(17, 77, 87);
}

table.width-max-table th {
    border-bottom: 1px solid rgb(255, 255, 255);
}

table.width-max-table tr:last-child th {
    border-bottom: 1px solid rgb(17, 77, 87);
}

table.width-max-table td {
    border-bottom: 1px solid rgb(17, 77, 87);
}

table.width-max-table th {
    vertical-align: top;
    padding: 15px 20px;
    width: 25%;
}

table.width-max-table td {
    text-align: left;
    padding: 15px 20px;
    width: 75%;
}

.about_massage_head span {
    border-left: 10px solid rgb(17, 77, 87);
    padding-left: 5px;
    font-size: 160%;
}

.about_massage_text {
    margin: 20px 0;
}

.about_massage_text p{
    padding: 5px 0;
}

.about_massage_sign {
    font-size: 120%;
}

.about_map_flex {
    display: flex;
}

.about_map_box {
    width: 50%;
    padding-left: 10px;
    box-sizing: border-box;
}

.about_map_box:first-child {
    padding-left: 0;
}

.about_map_box iframe {
    height: 450px;
    width: 100%;
}

.about_map_box p {
    margin-top: 10px;
}

#about .inner {
    width: 60%;
}


/*Partner
-----------------------------------------------------------------------------------------*/
.partner_flex {
    display: flex;
    flex-wrap: wrap;
}

.partner_flex a {
    display: inline-block;
    width: 33.333%;
    padding: 10px;
    box-sizing: border-box;
}

.partner_flex a img {
    max-width: 100%;
}


/*contact
-----------------------------------------------------------------------------------------*/
.contact_border_box {
    border: 1px solid rgb(70, 70, 70);
    padding: 20px;
}

.contact_border_box p {
    margin: 20px 0;
}

.table-contact {
    margin: 0 auto 10px;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid rgb(17, 77, 87);
}

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

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

.contact-item1.last {
    border-bottom: 1px solid rgb(17, 77, 87);
}

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

.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);
}

.anim-box {
    opacity: 0;
}

.poyoyon1.is-animated {
    animation: poyoyon 1.9s ease-in-out forwards;
}

.poyoyon2.is-animated {
    animation: poyoyon 1.5s ease-in-out forwards;
}

.poyoyon3.is-animated {
    animation: poyoyon 1.7s ease-in-out forwards;
}

@keyframes poyoyon {
    0% {
        transform: scale(0.2, 0.3) translate(0, 0);
    }

    15% {
        transform: scale(0.88, 0.85) translate(0, 5px);
    }

    30% {
        transform: scale(1.02, 1.0) translate(0, 8px);
    }

    50% {
        transform: scale(0.98, 1.05) translate(0, -8px);
    }

    70% {
        transform: scale(1.0, 0.9) translate(0, 5px);
    }

    100% {
        transform: scale(1.0, 1.0) translate(0, 0);
    }

    0%,
    100% {
        opacity: 1;
    }
}

.slideinright.is-animated {
    animation: slideInright 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.slideinleft.is-animated {
    animation: slideInleft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.slideinbottom {
    opacity: 0;
}

.slideinbottom.is-animated {
    animation: slideInbottom 1s cubic-bezier(0.25, 1, 0.5, 1) 0.3s forwards;
}

@keyframes slideInright {
    0% {
        transform: translateX(180px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
    }

    40%,
    100% {
        opacity: 1;
    }
}

@keyframes slideInleft {
    0% {
        transform: translateX(-180px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
    }

    40%,
    100% {
        opacity: 1;
    }
}

@keyframes slideInbottom {
    0% {
        transform: translateY(180px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
    }

    40%,
    100% {
        opacity: 1;
    }
}

@media screen and (max-width:1150px) {
    .name {
        font-size: 300%;
    }

    .q_a_text {
        padding: 0 25px;
    }
}

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

    /*incle
-----------------------------------------------------------------------------------------*/
    .top_circle {
        position: absolute;
        top: 5%;
        right: 10%;
        width: 800px;
        height: 800px;
    }

    .circle_text_box {
        position: absolute;
        top: 28%;
        left: 5%;
        font-size: 100%;
    }

    .name {
        font-size: 200%;
    }

    .top_bg_text {
        position: absolute;
        right: 1.5%;
        bottom: 23%;
        font-size: 100%;
    }

    .top_img.top {
        top: 33%;
        left: unset;
        right: 1%;
        width: 32%;
    }

    .top_img.middle {
        top: 55%;
        left: 8%;
        width: 35%;
    }

    .top_img.bottom {
        top: 78%;
        left: 10%;
        width: 16%;
    }

    .intro_flex {
        display: block;
    }

    .intro_flex_child {
        width: 90%;
        margin: auto;
    }

    .colorful_text.en {
        font-size: 400%;
    }

    .colorful_text.en span {
        margin: 0 7px;
    }

    .intro_right_top {
        font-size: 135%;
        margin: 50px 0 25px;
    }

    .intro_right div {
        width: 100%;
    }

    .news_containertitle {
        font-size: 200%;
    }

    .news_inner {
        width: 95%;
    }

    .news_box {
        width: 95%;
    }

    .news_date,
    .news_posttitle {
        display: block;
    }

    .colorful_text.ja {
        font-size: 180%;
    }

    .colorful_text.ja span {
        margin: 6px 0;
    }

    .work_title span {
        font-size: 180%;
        letter-spacing: 0.15em;
    }

    .work_title span.incle_link {
        font-size: 120%;
    }

    .colorful_inner_box {
        margin-top: 60px;
    }

    .colorful_inner_box:first-child {
        margin-top: 150px;
    }

    .work_photo_flex {
        display: block;
        margin: 30px 0;
    }

    .work_photo_flex img {
        padding-left: 0;
    }

    .work_photo_flex.three img,
    .work_photo_flex.two img {
        width: 100%;
    }

    .work_box_text {
        padding: 10px;
        display: block;
    }

    .work_box_text li {
        margin: 10px 0;
        font-size: 90%;
    }

    .work_box_text li.zen-maru-gothic-bold {
        margin-bottom: 15px;
    }

    .q_a_simbol {
        font-size: 180%;
        width: 100%;
    }

    .q_a_text {
        width: 100%;
        padding: 20px 0;
    }

    .q_a_content .flex {
        display: block;
        align-items: center;
    }

    .faq__question .q_a_simbol span,
    .faq__answer .q_a_simbol span {
        padding: 15px;
        display: block;
    }

    .q_a_list {
        padding: 20px 0;
    }


    /*single
-----------------------------------------------------------------------------------------*/
    .link_buttun {
        margin-top: 20%;
    }

    .link_buttun span {
        border-radius: 10px;
    }

    .index_inner .news_containertitle {
        margin-top: 20%;
    }

    /*index
-----------------------------------------------------------------------------------------*/
    .inner.index_inner {
        width: 90%;
    }

    .index_news_box {
        width: 100%;
    }


    /*about
-----------------------------------------------------------------------------------------*/
    table.width-max-table th {
        padding: 15px;
        width: 100%;
        display: block;
        box-sizing: border-box;

    }

    table.width-max-table td {
        padding: 15px;
        width: 100%;
        display: block;
        box-sizing: border-box;
    }

    #about .inner {
        width: 75%;
    }

    .about_map_flex {
        display: block;
    }

    .about_map_box {
        width: 100%;
        padding-left: 0;
        margin: 50px 0;
    }

    .about_map_box p {
        margin-top: 5px;
        font-size: 110%;
    }

    .about_map_box iframe {
        height: 300px;
    }

    /*Partner
-----------------------------------------------------------------------------------------*/
    .partner_flex a {
        width: 50%;
        padding: 5px;
    }

    /*Contact
-----------------------------------------------------------------------------------------*/
    .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;
    }
}