@charset "UTF-8";
@media screen and (max-width: 1024px) {

    /*index*/
    .index .mainimg {
        width: 100%;
        aspect-ratio: 1/1;
        position: initial;
        display: grid;
        grid-template-rows: auto 1fr auto;
        align-content: start;
        padding: 0;
    }
    .index .mainimg h2 {
        grid-row: 1;
        grid-column: 1;
        margin: initial;
        margin: 0 10% 2rem;
    }
    .index .mainimg>p {
        grid-row: 2;
        grid-column: 1;
        font-size: 1.4rem;
        margin: 0 10% 5rem;
    }
    .index .mainimg .catch {
        position: relative;
        z-index: 1;
        margin: 0 0 0 10%;
        width: fit-content;
        grid-column: 1;
        grid-row: 3;
    }
    .index .mainimg .catch .set p {
        min-width: 100%;
        font-size: 1.4rem;
    }
    .index .mainimg .pic {
        aspect-ratio: 1/1;
        grid-row: 1 / span 3;
        grid-column: 1;
        position: initial;
    }
    .index .mainimg .pic img {
        object-position: bottom;
    }
    .index .mainimg .badge {
        /*top: 0;*/
        grid-row: 3;
        grid-column: 1;
        margin: 0 0 0 auto;
        bottom: initial;
        right: initial;
        position: initial;
    }
    .index_cnt2 .inner .grid {
        display: block;
    }
    .index_cnt2 .inner .grid .set {
        border-radius: clamp(2rem, 2.6vw, 5rem) !important;
        margin: 0 0 3rem;
    }
    .index_cnt3 .inner .grid {
        display: block;
    }
    .index_cnt3 .inner .col2 .left .figure {
        position: initial;
        left: initial;
      width: auto;
    }
    .index_cnt3 .inner .col2 .left .figure .figcaption {
        font-size: 4rem;
    }
    .index_cnt3 .inner .grid .set {
        padding: 2rem;
        background: #fcf6ee;
        border-radius: 1rem;
    }
    .index_cnt3 .inner .grid .set:not(:last-of-type) {
        margin: 0 auto 3rem;
    }
.index_cnt4 .inner .webgene-blog .webgene-item .dl {
    display: block;
  }
.index_cnt3 .inner .col2 .right>p:not(.em) {
    position: relative;
}




    /*about*/
    .about_cnt2 .inner p:not(.catch) {
        text-shadow: 0 0 1rem rgba(255, 255, 255, 1), 0 0 0.5rem rgba(255, 255, 255, 1);
    }
    .about_cnt3 .inner .col2 {
        background: #fcf6ee;
        padding: clamp(2rem, 2.6vw, 5rem);
        border-radius: 1rem;
    }

    .about_cnt5 .inner .dl {
        display: block;
    }
    .about_cnt5 .inner .dt {
        width: 100%;
        min-height: initial;
        border: none;
        padding: 1rem 0;
    }
    .about_cnt5 .inner .dd {
        width: 100%;
        min-height: initial;
        padding: 1rem 0;
    }





    /*service*/
    .service_cnt1 .inner .flex {
        display: block;
        width: 100%;
        min-width: initial;
    }
    .service_cnt1 .inner .flex .buttonA {
        width: 100%;
    }
    .service_cnt2 .inner>.ul>.li:not(:last-of-type) {
        margin: 0 0 1rem;
    }
    :is(.service_cnt2, .service_cnt3) .inner .window .ul {
        display: block;
    }
    :is(.service_cnt2, .service_cnt3) .inner .window .li:not(:last-of-type) {
        margin: 0 0 1rem;
    }
    :is(.service_cnt2, .service_cnt3) .inner>.ul {
        display: block;
    }
    .service_cnt3 .inner>.ul>.li:not(:last-of-type) {
        margin: 0 0 1rem;
    }
:is(.service_cnt2, .service_cnt3) .col2 .right .catch {
    font-size: 2.3rem;
  }





    /*inheritance*/
    .inheritance_cnt1 .inner .grid {
        display: block;
    }
    .inheritance_cnt1 .inner .grid .figure {
        width: 100%;
        margin: 0 0 3rem;
    }
    .inheritance_cnt2 .set .ul .li {
        width: 100%;
    }
    .inheritance_cnt2 .set .col2 .right {
        width: 100%;
        max-width: initial;
    }
    .inheritance_cnt3 .inner .flex {
        display: block;
        min-width: initial;
    }
    .inheritance_cnt3 .inner .window .set::before {
        position: initial;
    }
    .inheritance_cnt3 .inner .flex .buttonA {
        width: 100%;
        margin: 0 0 3rem;
    }
    .inheritance_cnt4 .inner .col2 :is(.left, .right) .price p {
        font-size: 2.7rem;
    }
.inheritance_cnt3 .inner .window .set h5 {
    font-size: 2rem;
  }
.inheritance_cnt3 .inner .window .set::before {
    font-size: 2rem;
    width: 3.5rem;
    height: 3.5rem;
   margin-bottom: 1rem;
  }


    /*other*/
    .other_cnt1 .inner .flex {
        display: block;
        width: 100%;
        min-width: initial;
    }
    .other_cnt1 .inner .flex .buttonA {
        width: 100%;
    }
    .other_cnt2 .inner .window .ul {
        display: block;
    }
    .other_cnt2 .inner .window .ul .li {
        width: 100%;
    }

    .other_cnt2 .inner .window .li:last-of-type {
        margin: 0 0 1rem;
    }
    .other_cnt2 .inner>.ul {
        display: block;
    }
    .other_cnt2 .inner>.ul>.li {
        width: 100%;
    }
    .other_cnt2 .inner>.ul>.li:not(:last-of-type) {
        margin: 0 0 1rem;
    }
    .other_cnt3 .inner .window .ul {
        display: block;
    }
    .other_cnt3 .inner .window .li:not(:last-of-type) {
        margin: 0 0 1rem;
    }
    .other_cnt4 .inner .li {
        width: 100%;
    }






    /*blog*/
    :is(.blog_cnt1, .blogdetail_cnt1) .inner {
        display: block;
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner h3 {
        width: 100%;
        background: rgba(241, 201, 103, 1);
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner .webgene-blog {
        display: block;
    }
    :is(.blog_cnt1, .blogdetail_cnt1) .inner .webgene-blog .webgene-item p a {
        width: 100%;
        justify-content: center;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .dl {
        display: block;
        padding: 3rem 0;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .dt {
        margin: 0 0 1rem;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .day {
        margin: 0 0 1rem;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .pic {
        max-width: initial;
        margin: 1rem 0;
    }
    .blog_cnt2 .inner .webgene-blog .webgene-item .cmt {
        line-height: 2.11;
    }
    .webgene-pagination :is(.prev, .next),
    .webgene-pagination ul .number.selected,
    .webgene-pagination ul .number {
        width: 2em;
        height: 2em;
        margin: 0;
    }
    .webgene-pagination ul {
        width: 100%;
        justify-content: space-between;
    }
    .webgene-pagination .prev {
        margin: 0;
    }
    .webgene-pagination .next {
        margin: 0;
    }






    /*blogdetail*/
    .blogdetail_cnt2 .inner .buttonA {
        width: fit-content;
    }
    .blogdetail_cnt2 .inner .buttonA a {
        padding: 0 1em;
    }






    /*news*/
    :is(.news_cnt1, .newsdetail_cnt1) .inner {
        display: block;
    }
    :is(.news_cnt1, .newsdetail_cnt1) .inner h3 {
        width: 100%;
        background: rgba(241, 201, 103, 1);
    }
    :is(.news_cnt1, .newsdetail_cnt1) .inner .webgene-news {
        display: block;
    }
    :is(.news_cnt1, .newsdetail_cnt1) .inner .webgene-news .webgene-item p a {
        width: 100%;
        justify-content: center;
    }
    .news_cnt2 .inner .webgene-blog {
        display: block;
    }
    .news_cnt2 .inner .webgene-blog .webgene-item {
        margin: 0 0 3rem;
        padding: 0 0 3rem;
        border-bottom: 0.1rem dashed #ccc;
    }
    .news_cnt2 .inner .webgene-blog .webgene-item .dl {}





    /*newsdetail*/
    .newsdetail_cnt2 .inner .buttonA {
        width: fit-content;
    }
    .newsdetail_cnt2 .inner .buttonA a {
        padding: 0 1em;
    }




    /*contact*/
    form .dl {
        display: block;
    }
    form .dl .dt {
        width: 100%;
        padding: 1rem 0;
        border: none;
    }
    form .dl .dd {
        width: 100%;
        padding: 1rem 0;
    }
    .privacyformError {
        margin-top: -36.5px !important;
    }
    form .col label {
        font-size: 1.5rem;
    }

}
@media screen and (max-width: 765px) {
  .inner {
    width: 90%;
  }
  
  .maintitle h2::before {
    content: none;
}
  .maintitle h2 {
    padding-left: 2rem;
}
  .service_cnt2 .inner>.ul>.li,.service_cnt3 .inner>.ul>.li,.other_cnt2 .inner>.ul>.li,.other_cnt4 .inner .li{
    padding: 1rem;
  }
  
      h3 {
        font-size: 2.1rem !important;
    }
  .container{
    padding:0;
  }
  form input[type="checkbox"]{
    padding:0.5rem;
  }
}
@media (min-width:768px) and (max-width:1024px){
.index_cnt3 .inner .col2 .left .figure .figcaption {
    font-size: 13rem !important;
  }
}
@media screen and (min-width: 1025px){
  .spbr br{display:none;}
}