@charset "utf-8";
@media screen and (min-width: 1920px) {
}
@media screen and (max-width: 1800px) {
    .sec01 .img-ab {
        left: -9.5vw;
    }
    .sec02 .img-ab {
        right: -20vw;
    }
}
@media screen and (max-width: 1680px) {
    .sec01 .img-ab {
        left: -6vw;
    }
    .sec02 .img-ab {
        right: -16.5vw;
    }
    .sec03 .over .flex .flexL {
        width: 38%;
    }
    .sec03 .over2 .flexL {
        margin-right: 25rem;
    }
    .kikyou .sec03 .over .flex .flexL {
        width: 38%;
    }
    .kikyou .sec03 .over2 .flexL {
        margin-right: 25rem;
    }
    .access .flex div:first-child {
        margin-right: 9rem;
    }
    .map {
        width: 60%;
    }
}
@media screen and (max-width: 1560px) {
    .sec02 .img-ab {
        right: -12vw;
    }
    .contents2Wrap.over .flexL,
    .contents2Wrap.over2 .flexL {
        width: 60rem;
    }
    .sec03 .over2 .flexL::before {
        width: 68rem;
        height: 40rem;
    }
    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        max-width: calc(50% + 25vw);
        height: 52.8rem;
        object-fit: cover;
        width: 69rem;
    }
    .sec03 .over .flex .flexR::after {
        width: 45rem;
    }
    .sec03 .over .flex .flexL::after {
        top: -12rem;
    }
    .sec03 .over .flex .flexL {
        margin-top: 3rem;
    }
    .kikyou .sec03 .over .flex .flexR::after {
        width: 45rem;
    }
    .kikyou .sec03 .over .flex .flexL::after {
        top: -12rem;
    }
    .kikyou .sec03 .over .flex .flexL {
        margin-top: 3rem;
    }
    .profile dl {
        width: 100%;
    }
    /* add */
    .machine__wrap--right .machine__img img {
        width: 45rem;
        height: auto;
    }
    .machine__wrap--left .machine__img img {
        width: 68rem;
        height: 40rem;
    }
    .machine__bg img {
        width: 60rem;
    }
    /* .machine__cont::after{
      margin-top: 10.8rem;
    } */
    .machine__img {
        width: 68rem;
        height: auto;
    }
    .machine__summary {
        width: calc(100% - 68rem);
    }
}
@media screen and (max-width: 1440px) {
    .mv .top-area {
        padding-bottom: 69.1rem;
    }
    .mv-txt {
        bottom: 6rem;
    }
    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        width: 65rem;
    }
    footer ul li:not(:last-child) {
        margin-right: 4.5rem;
    }
    footer div.flex p {
           margin-inline: auto;
    }
    .sec03 .over .flex .flexL::after {
        top: -15rem;
    }
    .kikyou .sec03 .over .flex .flexL::after {
        top: -15rem;
    }
}
@media screen and (max-width: 1368px) {
    .sec03 .over2 .flexR::after,
    .sec03 .over .flex .flexL::after {
        width: 8rem;
    }
    .sec03 .over .flex .flexL {
        width: 34%;
    }
    .kikyou .sec03 .over2 .flexR::after,
    .kikyou .sec03 .over .flex .flexL::after {
        width: 8rem;
    }
    .kikyou .sec03 .over .flex .flexL {
        width: 34%;
    }
    header .logo {
        margin-left: 3rem;
    }    .kikyou .sec03 .over2 .flexL::before {
        width: 62rem;
        height: 35rem;
    }
}
@media screen and (max-width: 1280px) {
    .wrapper {
        width: 100%;
        padding: 0 6%;
    }
    header li a {
        margin-right: 4rem;
    }
    .contents2Wrap.over .flexL,
    .contents2Wrap.over2 .flexL {
        width: 50rem;
    }
    .sec03 .over2 .flexL::before {
        width: 62rem;
        height: 35rem;
    }

    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        width: 55rem;
    }
    footer ul li:not(:last-child) {
        margin-right: 3.5rem;
    }
    footer div.flex p {
        margin-right: 6rem;
    }
}
@media screen and (max-width: 1024px) {
    header .logo {
        margin-left: 3rem;
    }
    header li a {
        margin-right: 2rem;
    }
    .half {
        width: 60%;
    }
    .greeting .flex {
        gap: 4rem;
    }
    footer .bg-r {
        padding: 0 4rem;
    }
    footer div.flex p {
        margin-right: 4rem;
    }
    footer ul li:not(:last-child) {
        margin-right: 2.5rem;
    }
    .sec03 .over2 .flexL::before {
        width: 50rem;
    }
    .contents2Wrap.over2 .flexR {
        width: 50%;
    }
    .sec03 .over2 .flexL {
        margin-right: 12rem;
    }
    .sec03 .over2 .flexR::after {
        top: -12rem;
        right: 2rem;
    }
    .sec03 .over .flex .flexL {
        margin-right: 17rem;
    }
    .kikyou .sec03 .over2 .flexL::before {
        width: 50rem;
    }
    .contents2Wrap.over2 .flexR {
        width: 50%;
    }
    .kikyou .sec03 .over2 .flexL {
        margin-right: 12rem;
    }
    .kikyou .sec03 .over2 .flexR::after {
        top: -12rem;
        right: 2rem;
    }
   .kikyou  .sec03 .over .flex .flexL {
        margin-right: 17rem;
    }
    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        width: 46rem;
        height: 39rem;
    }
    .sec03 .over .flex .flexR::after {
        width: 34rem;
    }
    .sec03 .over .flex .flexL::after {
        top: -8rem;
    }
    .kikyou .sec03 .over .flex .flexR::after {
        width: 34rem;
    }
    .kikyou .sec03 .over .flex .flexL::after {
        top: -8rem;
    }
    .kikyou-product div.flex img {
        width: calc((100% - 4rem) / 2);
    }
    .kikyou-product div.flex {
        gap: 0 5rem;
    }
}
@media screen and (max-width: 959px) {
    .contact-wrapper {
        width: 100%;
    }
}
@media screen and (max-width: 559px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    header div.flex {
        height: 6rem;
    }
    /*footer*/
    .access .flex {
        flex-direction: column;
    }
    .access .flex div:first-child {
        margin-right: 0;
    }
    .access .flex div:first-child .ttl-02 {
        margin-bottom: 3rem;
    }
    .access .flex div:first-child .ttl-02,
    .access .flex div:first-child .ttl-02 + div {
        padding-left: 6%;
    }
    .access .ttl-02::before {
        left: 6%;
    }
    .map {
        width: 100%;
        height: 30rem;
    }
    .access iframe {
        height: 30rem;
    }
    footer .bg-r {
        display: none;
    }
    footer div.flex p {
        margin-right: 0;
        justify-content: center;
        width: 100%;
    }
    small {
        font-size: 1rem;
        padding: 1rem 0;
    }
    footer div.flex {
        height: 10rem;
        justify-content: flex-end;
    }
    /*contact*/
    .contact .under-mv {
        height: auto;
        padding: 5rem 0;
    }
    .contact input[type="text"].short,
    .contact input[type="tel"].short {
        width: 100%;
    }
    .contact select {
        font-size: 1.4rem;
    }
    .cont::after {
        display: none;
    }
    .formTable tr th,
    .formTable tr td {
        display: inline-block;
        width: 100%;
    }
    div#formWrap p input[type="submit"] {
        margin-top: 3rem;
    }
    p.submitG {
        flex-direction: column;
        align-items: center;
    }
    .formTable tr td {
        margin-bottom: 1.5rem;
    }
    /*top*/
    .mv .slider-image .bgImg.src1 {
        background: url("../img/mv01_sp.webp");
        background-size: cover;
    }
    .mv .slider-image .bgImg.src2 {
        background: url("../img/mv02_sp.webp");
        background-size: cover;
    }
    .mv .slider-image .bgImg.src3 {
        background: url("../img/mv03_sp.webp");
        background-size: cover;
    }
    .mv .slider-image .bgImg.src4 {
        background: url("../img/mv04_sp.webp");
        background-size: cover;
    }
    .mv .slider-image .bgImg.src5 {
        background: url("../img/mv05_sp.webp");
        background-size: cover;
    }
    .mv .top-area {
        padding-bottom: 0;
        height: 59rem;
    }
    .mv-txt {
        left: 2rem;
    }
    .mv-txt img {
        margin-bottom: 2rem;
    }
    .mv-txt img {
        width: 80%;
    }
    .mv-txt {
        bottom: 3rem;
    }
    .flex-e {
        flex-direction: column-reverse;
    }
    .half {
        width: 100%;
    }
    .ttl-01 {
        writing-mode: inherit;
        margin-bottom: 4rem;
    }
    .ttl-01 p img {
        transform: rotate(90deg);
        margin-left: 3rem;
    }
    .sec01 .half {
        padding-left: 3rem;
        margin-bottom: 3rem;
    }
    .sec01 .img-ab {
        left: inherit;
        right: -7%;
    }
    .sec01 .txt {
        line-height: 1.75;
    }
    .ttl-01 p img {
        margin-top: 0;
        width: 1.5rem;
    }
    .ttl-02 h2 {
        padding-top: 3rem;
    }
    .ttl-02::before {
        width: 6rem;
    }
    .sec02 .wrapper > .flex {
        flex-direction: column;
    }
    .sec02 h3:nth-of-type(2) {
        margin-top: 2rem;
    }
    .sec02 h3 + p {
        letter-spacing: 0.025em;
        line-height: 1.75;
    }
    .sec02 .linkBT {
        margin-top: 3rem;
    }
    .sec02 .img-ab {
        margin-top: 4.5rem;
    }
    .catch.element img {
        height: 15rem;
        width: 100%;
        object-fit: cover;
    }
    .sec03 .over2 .flex {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .sec03 .over .flex {
        flex-direction: column;
        align-items: flex-end;
    }
    .kikyou .sec03 .over2 .flex {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .kikyou .sec03 .over .flex {
        flex-direction: column;
        align-items: flex-end;
    }
    .contents2Wrap.over2 .flexR {
        width: 100%;
        padding: 0 6%;
    }
    .sec03 .over .flex .flexR {
        text-align: right;
    }
    .sec03 h3 {
        margin-bottom: 3rem;
    }
    .sec03 h3 + p {
        margin-bottom: 3rem;
    }
    .sec03 .over .flex .flexL {
        margin-right: 0;
        width: 100%;
        padding: 0 6%;
    }
    .sec03 .over .flex .flexR::after {
        left: 6%;
    }
   .sec03 .ttl-02{
        margin-bottom: 6rem;
    }
    .kikyou .sec03 .over .flex .flexR {
        text-align: right;
    }
    .kikyou .sec03 h3 {
        margin-bottom: 3rem;
    }
    .kikyou .sec03 h3 + p {
        margin-bottom: 3rem;
    }
    .kikyou .sec03 .over .flex .flexL {
        margin-right: 0;
        width: 100%;
        padding: 0 6%;
    }
    .kikyou .sec03 .over .flex .flexR::after {
        left: 6%;
    }
   .kikyou .sec03 .ttl-02{
        margin-bottom: 6rem;
    }
    .contents2Wrap.over .flexL,
    .contents2Wrap.over2 .flexL {
        width: 42rem;
    }
    .sec03 .over .flex .flexL {
        margin-top: 5rem;
    }
    .sec03 .over2 .flexR::after {
        top: 0;
        right: inherit;
        width: 17.6rem;
        height: 19.4rem;
    }
    .sec03 .over2 .flexR::after,
    .sec03 .over .flex .flexL::after {
        width: 21.5rem;
        height: 19.4rem;
        top: -2rem;
        left: 6%;
    }
    .kikyou .sec03 .over .flex .flexL {
        margin-top: 5rem;
    }
   .kikyou  .sec03 .over2 .flexR::after {
        top: 0;
        right: inherit;
        width: 17.6rem;
        height: 19.4rem;
    }
   .kikyou  .sec03 .over2 .flexR::after,
   .kikyou  .sec03 .over .flex .flexL::after {
        width: 21.5rem;
        height: 19.4rem;
        top: -2rem;
        left: 6%;
    }
    .sec04 .bg-w {
        padding: 3rem 2rem;
    }
    .sec04 ul {
        gap: 2rem;
    }
    .sec04 ul li {
        width: calc((100% - 2rem) / 2);
    }
    .sec04 h3 {
        margin-bottom: 1rem;
    }
    .sec04 ul li div {
        padding: 1rem 2rem 2rem 1rem;
    }
    .sec05 .flex-e {
        flex-direction: column;
    }
    .profile {
        width: 94%;
    }
    .profile dl {
        flex-direction: column;
    }
    .profile dl dd {
        width: 25%;
        font-size: 1.6rem;
        font-weight: 500;
    }
    .profile dl dt {
        width: 100%;
        border: none;
        padding-left: 0;
        padding-bottom: 0;
    }
    .sec05 .flex-e div:first-child {
        width: calc((100% - 4rem) / 2);
    }
    .greeting {
        padding: 6rem 0 6.5rem;
    }
    .greeting .flex {
        gap: 3rem;
        flex-direction: column-reverse;
    }
    /* ====================================================================
-------------------------------kikyou
==================================================================== */
    .kikyou .under-sec01 .flex {
        flex-direction: column;
        gap: 3rem;
    }
    .kikyou .under-sec02 .half {
        padding-left: 3rem;
        margin-bottom: 3rem;
    }
    .kikyou .under-sec02 .img-ab img {
        height: auto;
    }
    .kikyou .catch img {
        height: 15rem;
        width: 100%;
        object-fit: cover;
    }
    .contents2Wrap.over2.over3 {
        margin-top: 6rem;
    }
    .sec03 .over3 .flex {
        gap: 8rem;
    }
    .kikyou .sec03 .over3 .flex {
        gap: 8rem;
    }
    .kikyou-product div.flex {
        flex-direction: column;
        gap: 2.5rem;
    }
    .kikyou-product .bg-g {
        padding: 2rem;
    }
    .kikyou-product ul {
        gap: 3rem;
        flex-direction: column;
    }
    .kikyou-product ul li {
        width: 100%;
    }
    .kikyou-product ul li img {
        width: 100%;
        object-fit: cover;
    }
    .kikyou .under-sec05 .bg-w {
        margin-top: 4rem;
        padding: 2rem;
    }
    .kikyou .under-sec05 .btn {
        margin-top: 3rem;
        width: 100%;
    }
    .under .ttl-01 h2 {
        font-size: 2.5rem;
        margin-right: 0;
    }
    .kikyou .under-sec01 h3 {
        font-size: 2.3rem;
        margin: 3.5rem 0 0rem;
    }
    /*   .kikyou .under-sec01 h3 + p {
      font-size: 1.4rem;
   }
   .kikyou .under-sec02 .txt, .kikyou .ttl-01 + div p:nth-of-type(1){
      font-size: 1.4rem;
   }*/
    .kikyou .sec03 .ttl-02 {
        margin-bottom: 5rem;
    }
    .kikyou-product .bg-g:first-child h3 {
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }
    .kikyou-product .bg-g:first-child {
        margin-bottom: 3rem;
    }
    .kikyou-product ul li h3 {
        font-size: 2rem;
        padding: 1rem 1rem 2rem;
    }
    .kikyou .under-sec05 {
        padding-top: 6.5rem;
    }
    .kikyou .under-mv .img-ab {
        position: static;
    }
    .kikyou .under-mv {
        height: auto;
        padding: 0;
        display: flex;
        flex-direction: column-reverse;
        gap: 3rem;
    }
    .kikyou .under-mv .ttl-02 {
        margin-bottom: 4.5rem;
    }
    .kikyou-product div.flex img {
        width: 100%;
    }
    /*20231222 add*/
    .banner {
        margin: 4rem auto;
    }
    /* add */
    .machine__cont {
        flex-direction: column;
        position: static;
        transform: inherit;
        margin-top: -24rem;
        gap: 10.5rem;
    }
    .machine__cont--right {
        flex-direction: column;
        margin-top: -32rem;
    }
    .machine__summary {
        width: 100%;

        margin-bottom: 3rem;
    }
    .machine__wrap--left .machine__summary {
        padding-left: 3rem;
    }
    .machine__wrap--right .machine__summary {
        padding-right: 3rem;
    }
    .machine__wrap--right .machine__img img {
        width: 32rem;
        height: 28rem;
    }
    .machine__wrap--left .machine__img img {
        width: 35rem;
        height: 19rem;
    }
    .machine__bg img {
        width: 32rem;
    }
    .machine__img {
        width: 100%;
    }
    .machine__cont::after {
        content: "";
        width: 20rem;
        height: 20rem;
        top: inherit;
    }
    .machine__cont--right::after {
        left: 0;
    }
    .machine__wrap--right .machine__bg img {
        height: 36rem;
    }
    .machine__ttl {
        line-height: 1.3;
    }
}
@media screen and (max-width: 440px) {
    .mv .top-area {
        height: 45rem;
    }
    .contents2Wrap.over .flexL,
    .contents2Wrap.over2 .flexL {
        width: 35rem;
    }
    .sec03 .over2 .flexL::before {
        width: 40rem;
    }
    .kikyou .sec03 .over2 .flexL::before {
        width: 40rem;
    }
    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        width: 38rem;
        height: 36rem;
    }
    .sec03 .over .flex .flexR::after {
        width: 32rem;
    }
    .kikyou .sec03 .over .flex .flexR::after {
        width: 32rem;
    }
    .profile dl dd {
        width: 33%;
    }
    .mv-txt img {
        width: 67%;
    }
    .mv-txt img + p {
        margin-bottom: 1rem;
    }
    .mv-txt img {
        margin-bottom: 1rem;
    }
}
@media screen and (max-width: 375px) {
    .mv .top-area {
        height: 36rem;
    }
    .sec03 .over2 .flexL::before {
        width: 35rem;
    }
    .kikyou .sec03 .over2 .flexL::before {
        width: 35rem;
    }
    .contents2Wrap.over .flexL,
    .contents2Wrap.over2 .flexL {
        width: 30rem;
    }
    .contents2Wrap.over .flexR img,
    .contents2Wrap.over2 .flexR img {
        width: 35rem;
        height: 33rem;
    }
    .sec03 .over .flex .flexR::after {
        width: 28rem;
        height: 24rem;
    }
    .kikyou .sec03 .over .flex .flexR::after {
        width: 28rem;
        height: 24rem;
    }
}
@media screen and (max-width: 361px) {
}
