@charset "UTF-8";
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  width: 100%;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
  color: #333;
  letter-spacing: 3px;
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

.grecaptcha-badge {
  visibility: hidden;
}

.wpcf7-form-control-wrap .last {
  background-color: white;
  color: black;
}

@media screen and (min-width: 640px) {
  /*popup*/
  .popup {
    position: fixed;
    bottom: 0;
    right: 2%;
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 29%;
    height: 25%;
    z-index: 10000;
  }
  .popup-banner {
    position: absolute;
    bottom: 5%;
    right: 1%;
  }
  a {
    display: inline;
  }
  .popup-close {
    position: absolute;
    top: -1vw;
    right: -.6vw;
    display: block;
    width: 2vw;
    height: 2vw;
    line-height: 1.8vw;
    padding: .5vw;
    font-size: 2vw;
    padding-left: .7vw;
    border-radius: 50%;
    text-align: center;
    color: #FFFFFF;
    background-color: #ff6455;
    cursor: pointer;
    z-index: 200;
  }
  .popup-img {
    width: 100%;
    height: auto;
    margin-left: auto;
    color: #F5a623;
  }
  .popup-img img {
    display: block;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 1vw;
    -webkit-animation: anime11 1s ease 0s infinite alternate;
            animation: anime11 1s ease 0s infinite alternate;
  }
  @-webkit-keyframes anime11 {
    from {
      -webkit-transform: scale(0.9, 0.9);
              transform: scale(0.9, 0.9);
    }
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
    }
  }
  @keyframes anime11 {
    from {
      -webkit-transform: scale(0.9, 0.9);
              transform: scale(0.9, 0.9);
    }
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
    }
  }
  .popup.hidden {
    opacity: 0;
    z-index: -1000;
  }
  header {
    position: relative;
    height: 55vw;
  }
  header .syurouB {
    position: absolute;
    top: 8vw;
    display: block;
    width: 48%;
    -o-object-fit: cover;
       object-fit: cover;
    height: 45vw;
    right: 0vw;
    border-radius: 5vw;
    z-index: 0;
  }
  header .lineaction {
    position: absolute;
    right: 5vw;
    width: 35%;
    top: 19vw;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    padding: 2vw;
    border-radius: 2vw;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.6);
  }
  header .lineaction h2 {
    text-align: center;
  }
  header .lineaction .soudan {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    gap: 1vw;
  }
  header .lineaction .soudan a {
    display: block;
    text-decoration: none;
    text-align: center;
  }
  header .lineaction .soudan .mailsoudan {
    background-color: orangered;
    color: white;
    border-radius: .3vw;
    padding: 1.5vw 0;
  }
  header .lineaction .soudan .linesoudan {
    background-color: #06c755;
    color: white;
    border-radius: .3vw;
    padding: 1.5vw 0;
  }
  header .lineaction p {
    text-align: center;
  }
  header .header_btn {
    font-size: 1.2vw;
    text-decoration: none;
    background-color: #06c755;
    color: white;
    display: block;
    width: 50%;
    text-align: center;
    margin-top: 2vw;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  header .logo {
    display: block;
    width: 15%;
    position: fixed;
    top: 3%;
    left: 3%;
  }
  header .h1 {
    width: 60%;
    margin-left: 9vw;
    position: absolute;
    top: 12vw;
  }
  header .h1 .logosta {
    display: block;
    width: 20%;
    margin-bottom: 1vw;
  }
  header .h1 h1 {
    font-size: 2vw;
    margin-bottom: 10px;
    display: block;
    margin-bottom: 0;
    color: black;
    width: 65%;
  }
  header .h1 h1 span {
    font-size: 4.5vw;
  }
  header .h1 p {
    font-size: 1.6vw;
    width: 70%;
    margin-top: 8vw;
    margin-bottom: 1vw;
    font-weight: bold;
    margin-top: 2vw;
  }
  header .gri_top {
    position: absolute;
    top: 6vw;
    right: 5vw;
    gap: 5px;
    padding: 0;
    width: 46%;
    height: 48vw;
    border-radius: 2vw;
    padding-top: 0;
    padding-top: 1.5vw;
    padding-bottom: 3vw;
  }
  header .gri_top .ccc {
    padding: 1vw 0;
    background-color: white;
    border-radius: 2vw 2vw 0 0;
    margin-top: 0;
  }
  header .gri_top h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 2vw;
    margin-top: 0;
    font-weight: bold;
  }
  header .gri_top h2 span {
    font-size: 2.5vw;
  }
  header .gri_top .gh3 {
    margin-top: 0;
    text-align: center;
    color: #06edbf;
    border: 2px solid #06edbf;
    width: 90%;
    margin: 0 auto;
    margin-top: .5vw;
    background-color: white;
  }
  header .gri_top .cq {
    width: 80%;
    margin: 0 auto;
    padding: 1vw 0;
    padding-bottom: 2vw;
    height: 22vw;
    margin-bottom: .7vw;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3.5fr;
        grid-template-columns: 1fr 3.5fr;
    background-color: rgba(23, 183, 186, 0.3);
    padding: 0 2vw;
    padding-top: 1.2vw;
  }
  header .gri_top .cq h3 {
    font-size: 2vw;
    text-align: center;
    margin-top: 1vw;
    border: 2px solid black;
    height: 4vw;
    line-height: 4vw;
    width: 80%;
    background-color: white;
    border: 2px solid #06edbf;
  }
  header .gri_top .cq .fl {
    display: inline-block;
    font-weight: bold;
    font-size: 1.4vw;
    line-height: 2vw;
    margin-bottom: 1vw;
  }
  header .gri_top .cq .wpcf7-checkbox {
    display: block;
  }
  header .gri_top .cq .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 1vw;
    display: block;
  }
  header .gri_top .cq .wpcf7-checkbox .wpcf7-list-item label {
    font-size: 1.2vw;
    font-weight: normal;
    color: #000000;
  }
  header .gri_top .cq .wpcf7-checkbox .last {
    color: black;
    text-align: left;
    background-color: rgba(23, 183, 186, 0);
  }
  header .gri_top .cq .submit {
    display: block;
    cursor: pointer;
    width: 90%;
    font-size: 1vw;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
    margin-top: 1vw;
  }
  header .gri_top img {
    display: block;
    width: 90%;
    margin: 0 auto;
    border-radius: 1vw;
    margin-top: .5vw;
    margin-bottom: .5vw;
  }
  header .gri_top .cq1 {
    background-color: white;
    width: 90%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  header .gri_top .cq1 h3 {
    text-align: center;
    margin-top: 0;
    font-size: 1vw;
    background-color: orangered;
    padding: .5vw 0;
    color: white;
  }
  header .gri_top .cq1 .cqq {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.7fr;
        grid-template-columns: 1fr 1.7fr;
  }
  header .gri_top .cq1 .cqq img {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
  header .gri_top .cq1 .cqq p {
    font-size: 1vw;
    width: 90%;
  }
  header .gri_top .cq1 .cqq .atention {
    border: 2px solid orangered;
    padding: .5vw;
  }
  header .gri_top .speechBubble {
    position: relative;
    display: inline-block;
    padding: 12px;
    border: 1px solid #ffe600;
    border-radius: 8px;
    background-color: #ffffff;
    background-color: #ffe600;
    text-align: left;
    font-size: 1.2vw;
    font-weight: normal;
    -webkit-transform: translate(8vw, -2vw);
            transform: translate(8vw, -2vw);
    line-height: 1.5;
    color: #000000;
    color: black;
    z-index: 0;
  }
  header .gri_top .speechBubble::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 20px 10px 0 10px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  header .gri_top .speechBubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 16.5px 7.8px 0 7.8px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  header .gri_top h4 {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1vw;
    padding: .5vw;
    color: white;
    font-weight: normal;
  }
  header .gri_top .gri_sales {
    background-color: #06edbf;
  }
  header .gri_top .gri_reapos {
    background-color: #ff6455;
  }
  header .gri_top .header_sll {
    display: block;
    color: #ff6455;
    border: .2vw solid #06edbf;
    background-color: rgba(255, 255, 255, 0.5);
    width: 70%;
    border-radius: 5vw;
    margin: 0 auto;
    padding: 1.3vw 1vw;
    text-decoration: none;
    background-color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    color: #06edbf;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0;
    font-size: 1.1vw;
    -webkit-animation: anime1 1s ease 0s infinite alternate;
            animation: anime1 1s ease 0s infinite alternate;
  }
  header .gri_top .header_sll .a_img {
    display: inline-block;
    width: 40%;
    position: relative;
  }
  header .gri_top .header_sll .a_img img {
    display: inline-block;
    width: 90%;
    margin: 0 auto;
    margin-left: 2vw;
    position: absolute;
    top: -5vw;
    left: -2vw;
  }
  header .gri_top .header_sll .a_text {
    text-align: center;
    display: block;
    margin-right: 2vw;
    width: 90%;
    font-size: 1.2vw;
  }
  header .gri_top .header_sll::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #06edbf;
    border-right: 3px solid #06edbf;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  @-webkit-keyframes anime1 {
    from {
      -webkit-transform: translateX(1vw);
              transform: translateX(1vw);
    }
    to {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes anime1 {
    from {
      -webkit-transform: translateX(1vw);
              transform: translateX(1vw);
    }
    to {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  header .hsh {
    background-color: #ffffff;
  }
  header .header_service {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    gap: 1vw;
    margin: 0 auto;
    margin-bottom: 10vw;
    margin-top: 7vw;
    width: 80%;
    padding: 5vw 0;
  }
  header .header_service .gri {
    position: relative;
    gap: 5px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    padding: 0;
    padding-bottom: 2vw;
    background-color: white;
    border-radius: .5vw;
    border: .5vw solid white;
  }
  header .header_service .gri h4 {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1vw;
    padding: .5vw;
    color: white;
    font-weight: normal;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
  }
  header .header_service .gri .gri_sales {
    background-color: #06edbf;
  }
  header .header_service .gri .gri_reapos {
    background-color: #ff6455;
  }
  header .header_service b {
    display: inline-block;
    font-size: 1vw;
    position: absolute;
    top: 1%;
    left: 2%;
    padding: .5vw;
    color: #00a191;
    border-radius: .5vw;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
  }
  header .header_service .sll {
    color: #ff6455;
  }
  header .header_service img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  header .header_service .gri_un img {
    display: block;
    width: 50%;
    margin: 0 auto;
    margin-top: 4vw;
  }
  header .header_service .gri_un h2 {
    font-size: 1vw;
    text-align: center;
    margin-top: 0;
  }
  header .header_service .gri_un p {
    text-align: center;
    margin-bottom: 0;
    font-size: 1vw;
  }
  header .header_service .gri_un h3 {
    font-size: 1.3vw;
    text-align: center;
    margin-top: 0;
  }
  header .header_service .gri_uns img {
    display: block;
    width: 52%;
    margin: 0 auto;
    margin-top: 4vw;
  }
  header .header_service .gri_uns h2 {
    font-size: 1vw;
    text-align: center;
    margin-top: 0;
    opacity: 0;
  }
  header .header_service .gri_uns p {
    text-align: center;
    margin-bottom: 0;
    font-size: 1vw;
  }
  header .header_service .gri_uns h3 {
    font-size: 1.3vw;
    text-align: center;
    margin-top: 0;
  }
  header .header_service a {
    display: block;
    text-align: center;
    margin-top: 1vw;
    text-decoration: none;
    border-radius: .5vw;
  }
  header .header_service .header_sl {
    display: block;
    background-color: #06edbf;
    color: white;
    width: 80%;
    margin: 0 auto;
    padding: 1vw 0;
    margin-top: 1vw;
    display: block;
    background-color: #ffffff;
    color: #06edbf;
    border: .2vw solid #06edbf;
    width: 80%;
    margin: 0 auto;
    padding: 1vw 1vw;
    margin-top: 1vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header .header_service .header_sl::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #06edbf;
    border-right: 3px solid #06edbf;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  header .header_service .header_sll {
    display: block;
    background-color: #ffffff;
    color: #ff6455;
    border: .2vw solid #ff6455;
    width: 80%;
    margin: 0 auto;
    padding: 1vw 1vw;
    margin-top: 1.5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    border-radius: 2vw;
  }
  header .header_service .header_sll::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    position: fixed;
    top: 0%;
    width: 65%;
    right: 5%;
    padding: 0px 0px;
    z-index: 9999;
    padding: 1vw 1vw;
    background-color: white;
    border-radius: 0 0 1vw 1vw;
  }
  ul li {
    list-style: none;
    width: 100%;
    text-align: center;
    padding: 10px 0;
  }
  ul li a {
    width: 100%;
    display: block;
    text-decoration: none;
    font-size: 1.2vw;
    text-align: center;
    color: #000000;
    font-weight: bold;
  }
  ul li a span {
    font-size: 1vw;
  }
  ul .contact_li {
    display: block;
    margin-left: 5%;
    background-color: orangered;
    padding: 10px 20px;
    border-radius: 10px;
    color: white;
    border-radius: .5vw;
  }
  ul .contact_li a {
    color: white;
  }
  .contact_li_line {
    display: block;
    margin-left: 5%;
    background-color: #06c755;
    padding: 10px 20px;
    border-radius: 10px;
    color: white;
    border-radius: .5vw;
  }
  .contact_li_line a {
    color: white;
  }
  .kotei_tel {
    background-color: #f6ff00;
    width: 25%;
    position: fixed;
    bottom: 1vw;
    right: 1vw;
    border-radius: 1vw;
    text-align: center;
    padding: 1vw 0;
  }
  .kotei_tel p {
    margin-bottom: 0;
  }
  .kotei_tel a {
    font-size: 2vw;
    display: block;
    text-decoration: none;
    color: black;
    font-weight: bold;
    z-index: 9999;
  }
  #menu-btn-check {
    position: fixed;
    top: 10px;
    right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
    width: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
    display: none;
  }
  .total {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    margin-bottom: 10vh;
    padding: 2vh 0;
    color: black;
    margin-top: 8vw;
    position: relative;
  }
  .total h2 {
    margin-left: 10vw;
    color: black;
    margin-bottom: 5vh;
    margin-top: 5vh;
    font-size: 25px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total h2 span {
    color: #018174;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .newtitle {
    padding-bottom: 0;
    font-size: 13px;
    text-align: left;
    color: white;
    letter-spacing: 10px;
    margin-bottom: 0;
    margin-left: 10%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-weight: lighter;
  }
  .total .post-categories {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .post-categories li {
    width: 90%;
    margin: 0 auto;
    list-style: none;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .post-categories li a {
    color: black;
    text-decoration: none;
    background-color: #018174;
    width: 50%;
    display: none;
    padding: 5px 0;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    z-index: 5;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    text-align: center;
    border-radius: 0;
  }
  .total .blog_link {
    display: block;
    text-align: center;
    color: black;
    padding: 15px 0;
    text-decoration: none;
  }
  .total .blog_link_last {
    display: block;
    text-align: center;
    color: black;
    padding: 15px 0;
    width: 22%;
    margin: 0 auto;
    margin-bottom: 7vh;
    margin-top: 5vh;
    text-decoration: none;
    background-color: orangered;
    color: white;
    position: absolute;
    top: 16.5vw;
    right: 5vw;
  }
  .total .mainarticle {
    width: 60%;
    display: -ms-grid;
    display: grid;
    margin-left: 10vw;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    gap: 2vw;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle .wp-post-image {
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle .article {
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle img {
    display: block;
    height: auto;
    width: 97%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle div .desc p {
    margin: 0;
  }
  .total .mainarticle div .desc p a {
    color: black;
    font-size: 1vw;
    display: block;
    padding: 10px 0;
    -webkit-appearance: none;
    margin-top: 0;
    width: 100%;
    margin: 0 auto;
    -webkit-text-size-adjust: 100%;
  }
  .total .message {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2.5fr 1fr;
        grid-template-columns: 2.5fr 1fr;
    gap: 10px;
  }
  .total .message .smf_p {
    display: none;
  }
  .total .message p {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .total .message_second {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .aboutwrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 48px 20px 80px;
    text-align: center;
    /* セクション見出し */
    /* チェック付きのポイント行 */
    /* CTA */
    /* 横幅が広いときのレイアウト */
  }
  .aboutwrap .eyebrow {
    font-size: 14px;
    letter-spacing: .08em;
    color: var(--accent);
    font-weight: 700;
  }
  .aboutwrap .eyebrow::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin: 10px auto 0;
    background: var(--accent);
    border-radius: 999px;
    opacity: .8;
  }
  .aboutwrap h1 {
    font-size: clamp(22px, 3.2vw, 34px);
    letter-spacing: .02em;
    font-weight: 800;
    margin-top: 0;
  }
  .aboutwrap .leads {
    margin: 0 auto 20px;
    max-width: 880px;
    font-size: 2vw;
    font-weight: bold;
  }
  .aboutwrap .lead {
    margin: 0 auto 20px;
    max-width: 700px;
    font-size: 1.2vw;
    font-weight: bold;
  }
  .aboutwrap .note {
    margin: 14px auto 28px;
    max-width: 800px;
    font-size: 15px;
  }
  .aboutwrap .points {
    gap: 16px;
    margin: 26px auto 30px;
  }
  .aboutwrap .point {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    padding: 1.5vw;
    text-align: left;
    margin: 0 auto;
    margin-top: 1vw;
    border-radius: 1vw;
    width: 70%;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .aboutwrap .point p {
    margin: 0;
    font-size: clamp(15px, 1.8vw, 17px);
  }
  .aboutwrap .soudanabout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    gap: 1vw;
    margin: 0 auto;
    width: 60%;
  }
  .aboutwrap .soudanabout a {
    display: block;
    text-decoration: none;
    text-align: center;
  }
  .aboutwrap .soudanabout .mailsoudan {
    background-color: orangered;
    color: white;
    border-radius: .3vw;
    padding: 1.5vw 0;
  }
  .aboutwrap .soudanabout .linesoudan {
    background-color: #06c755;
    color: white;
    border-radius: .3vw;
    padding: 1.5vw 0;
  }
  .aboutwrap .ctas {
    display: -ms-grid;
    display: grid;
    gap: 18px;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .aboutwrap .btn {
    display: -ms-inline-grid;
    display: inline-grid;
    grid-auto-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 18px 20px;
    border-radius: 20px;
    border: 0;
    font-weight: 800;
    font-size: clamp(16px, 2.1vw, 18px);
    text-decoration: none;
    -webkit-transition: background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    transition: background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
  .aboutwrap .btn svg {
    width: 22px;
    height: 22px;
  }
  .aboutwrap .btn:active {
    -webkit-transform: translateY(1px) scale(0.998);
            transform: translateY(1px) scale(0.998);
  }
  .aboutwrap .btn-mail {
    background: var(--card);
    color: var(--ink);
  }
  .aboutwrap .btn-mail:hover {
    -webkit-filter: brightness(0.98);
            filter: brightness(0.98);
  }
  .aboutwrap .btn-line {
    background: var(--accent-2);
    color: #fff;
  }
  .aboutwrap .btn-line:hover {
    background: var(--accent-2-dark);
  }
}

@media screen and (min-width: 640px) and (min-width: 760px) {
  .aboutwrap .points {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
  }
  .aboutwrap .ctas {
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .aboutwrap .btn {
    padding: 22px 26px;
  }
}

@media screen and (min-width: 640px) {
  .feature .eyebrow {
    text-align: center;
  }
  .feature h2 {
    font-size: 2vw;
    text-align: center;
  }
  .feature .feature_under {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    width: 80%;
    margin: 0 auto;
    gap: 2vw;
  }
  .feature .feature_under img {
    display: block;
    height: 15vw;
    width: 100%;
    margin: 0 auto;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 1vw;
    margin-bottom: .5vw;
  }
  .feature .feature_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .feature .feature_under h3 {
    font-size: 2vw;
    margin-bottom: 0;
  }
  .feature .feature_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
  }
  .service {
    margin-top: 5vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: 2vw 0;
  }
  .service .eyebrow {
    text-align: center;
  }
  .service h2 {
    font-size: 2vw;
    text-align: center;
  }
  .service .service_under {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    width: 90%;
    margin: 0 auto;
    gap: 2vw;
  }
  .service .service_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
  }
  .service .service_under img {
    display: block;
    width: 35%;
    margin: 0 auto;
  }
  .service .service_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .service .service_under h3 {
    font-size: 1.6vw;
    margin-bottom: 0;
    text-align: center;
    color: #00a191;
    margin-bottom: .5vw;
  }
  .service .service_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
    width: 90%;
    margin: 0 auto;
  }
  .work {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .work .workh3 {
    text-align: center;
    font-size: 2vw;
  }
  .work .workp {
    text-align: center;
  }
  .work .eyebrow {
    text-align: center;
  }
  .work h2 {
    font-size: 2vw;
    text-align: center;
  }
  .work .work_under {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    width: 90%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .work .work_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .work .work_under img {
    display: block;
    width: 90%;
    margin: 0 auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .work .work_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .work .work_under h3 {
    font-size: 1.3vw;
    margin-bottom: .5vw;
    text-align: center;
    color: #00a191;
  }
  .work .work_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
    width: 90%;
    margin: 0 auto;
  }
  .voice {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .voice .eyebrow {
    text-align: center;
  }
  .voice h2 {
    font-size: 2vw;
    text-align: center;
  }
  .voice .voice_under {
    width: 90%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .voice .voice_under .boss {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2fr;
        grid-template-columns: 1fr 2fr;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    width: 80%;
    margin: 0 auto;
    margin-top: 1vw;
  }
  .voice .voice_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
  }
  .voice .voice_under .vop {
    text-align: center;
  }
  .voice .voice_under img {
    display: block;
    width: 55%;
    margin: 0 auto;
  }
  .voice .voice_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .voice .voice_under h3 {
    font-size: 2vw;
    margin-bottom: .5vw;
    margin-top: 0;
    width: 80%;
    color: #00a191;
  }
  .voice .voice_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
    width: 90%;
    line-height: 3vw;
  }
  .flow {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .flow .eyebrow {
    text-align: center;
  }
  .flow h2 {
    font-size: 2vw;
    text-align: center;
  }
  .flow .flow_under {
    width: 65%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .flow .flow_under .boss {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3fr;
        grid-template-columns: 1fr 3fr;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    width: 80%;
    margin: 0 auto;
    margin-top: 1vw;
  }
  .flow .flow_under .boss .number {
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
  }
  .flow .flow_under div {
    background-color: white;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  .flow .flow_under img {
    display: block;
    width: 35%;
    margin: 0 auto;
  }
  .flow .flow_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .flow .flow_under h3 {
    font-size: 1.5vw;
    margin-bottom: .5vw;
    margin-top: 2vw;
    width: 80%;
    color: #00a191;
  }
  .flow .flow_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
    width: 90%;
    line-height: 2vw;
  }
  .question {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .question .eyebrow {
    text-align: center;
  }
  .question h2 {
    font-size: 2vw;
    text-align: center;
  }
  .question .question_under {
    width: 55%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .question .question_under div {
    background-color: white;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  .question .question_under h3 {
    font-size: 1.5vw;
    margin-bottom: .5vw;
    margin-top: 2vw;
    width: 80%;
    color: #00a191;
  }
  .question .question_under p {
    font-size: 1.1vw;
    letter-spacing: 0vw;
    width: 90%;
    line-height: 2vw;
  }
  .contact_last {
    margin-top: 8vh;
  }
  .contact_last h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 40px;
  }
  .contact_last b {
    display: block;
    text-align: center;
  }
  .contact_last .contact_last_under {
    width: 50%;
    margin: 0 auto;
  }
  .contact_last label {
    line-height: 25px;
    font-size: 15px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  .contact_last label .must {
    color: white;
    background-color: #00a191;
    padding: 0px 3px;
    font-size: 13px;
  }
  .contact_last label .cummon {
    width: 100%;
    height: 30px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    background-color: white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 4px solid #00a191;
    border-radius: 5px;
  }
  .contact_last label .text_area {
    width: 100%;
    display: block;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    height: 40vh;
    border: 4px solid #00a191;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 5px;
  }
  .contact_last label .drop {
    height: 25px;
    display: block;
    width: 30%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .contact_last .submit {
    display: block;
    cursor: pointer;
    width: 60%;
    font-size: 16px;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
  }
  footer {
    width: 100%;
    background-color: #f1f1f1;
    padding-top: 5vh;
    background-color: #00243c;
    color: white;
    background-color: #ffffff;
    z-index: 100;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.5fr 1fr;
        grid-template-columns: 1.5fr 1fr;
  }
  footer div {
    width: 100%;
  }
  footer div iframe {
    display: block;
    height: 34vw;
    width: 80%;
    margin: 0 auto;
  }
  footer .fotter_link {
    margin-left: auto;
  }
  footer .fotter_link .logo {
    display: block;
    width: 50%;
    text-align: center;
  }
  footer .fotter_link li {
    margin-top: 3vh;
    font-weight: normal;
    list-style: none;
    border-bottom: 0.5px solid #222222;
    width: 70%;
  }
  footer .fotter_link li a {
    text-decoration: none;
    margin: 0 auto;
    margin-left: 3%;
    color: black;
    margin-bottom: 0;
    text-decoration: none;
    font-weight: normal;
    color: white;
    color: #000000;
  }
  .last {
    margin-top: 0;
    margin-bottom: 0;
    color: white;
    padding: 5px 0;
    text-align: center;
    background-color: #272727;
    margin-top: 5vh;
  }
}

@media screen and (max-width: 640px) {
  .h1 {
    margin-top: 4em;
  }
  .aboutwrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 48px 20px 80px;
    text-align: center;
    /* セクション見出し */
    /* チェック付きのポイント行 */
    /* CTA */
    /* 横幅が広いときのレイアウト */
  }
  .aboutwrap .eyebrow {
    font-size: 1em;
    letter-spacing: .08em;
    color: black;
    font-weight: 700;
  }
  .aboutwrap .eyebrow::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    margin: 10px auto 0;
    border-radius: 999px;
    opacity: .8;
  }
  .aboutwrap h1 {
    font-size: clamp(22px, 3.2vw, 34px);
    letter-spacing: .02em;
    font-weight: 800;
    margin-top: 0;
  }
  .aboutwrap .leads {
    margin: 0 auto 20px;
    max-width: 880px;
    font-size: .8em;
    font-weight: bold;
  }
  .aboutwrap .lead {
    margin: 0 auto 20px;
    max-width: 700px;
    font-size: .7em;
    font-weight: bold;
  }
  .aboutwrap .note {
    margin: 14px auto 28px;
    max-width: 800px;
    font-size: .7em;
  }
  .aboutwrap .points {
    gap: 16px;
    margin: 26px auto 30px;
  }
  .aboutwrap .point {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    padding: 1.5vw;
    text-align: left;
    margin: 0 auto;
    margin-top: 1vw;
    border-radius: 1vw;
    width: 95%;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .aboutwrap .point p {
    margin: 0;
    font-size: clamp(15px, 1.8vw, 17px);
  }
  .aboutwrap .soudanabout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    gap: 1vw;
    margin: 0 auto;
    width: 95%;
  }
  .aboutwrap .soudanabout a {
    display: block;
    text-decoration: none;
    text-align: center;
    line-height: auto;
    padding-top: 1.5em;
  }
  .aboutwrap .soudanabout .mailsoudan {
    background-color: orangered;
    color: white;
    border-radius: .3vw;
  }
  .aboutwrap .soudanabout .linesoudan {
    background-color: #06c755;
    color: white;
    border-radius: .3vw;
  }
  .aboutwrap .ctas {
    display: -ms-grid;
    display: grid;
    gap: 18px;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .aboutwrap .btn {
    display: -ms-inline-grid;
    display: inline-grid;
    grid-auto-flow: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 18px 20px;
    border-radius: 20px;
    border: 0;
    font-weight: 800;
    font-size: clamp(16px, 2.1vw, 18px);
    text-decoration: none;
    -webkit-transition: background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    transition: background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease;
    transition: transform .06s ease, box-shadow .2s ease, background .2s ease, -webkit-transform .06s ease, -webkit-box-shadow .2s ease;
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
  .aboutwrap .btn svg {
    width: 22px;
    height: 22px;
  }
  .aboutwrap .btn:active {
    -webkit-transform: translateY(1px) scale(0.998);
            transform: translateY(1px) scale(0.998);
  }
  .aboutwrap .btn-mail {
    background: var(--card);
    color: var(--ink);
  }
  .aboutwrap .btn-mail:hover {
    -webkit-filter: brightness(0.98);
            filter: brightness(0.98);
  }
  .aboutwrap .btn-line {
    background: var(--accent-2);
    color: #fff;
  }
  .aboutwrap .btn-line:hover {
    background: var(--accent-2-dark);
  }
}

@media screen and (max-width: 640px) and (min-width: 760px) {
  .aboutwrap .points {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
  }
  .aboutwrap .ctas {
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .aboutwrap .btn {
    padding: 22px 26px;
  }
}

@media screen and (max-width: 640px) {
  .feature .eyebrow {
    text-align: center;
  }
  .feature h2 {
    font-size: 1.5em;
    letter-spacing: .08em;
    color: black;
    font-weight: 700;
    text-align: center;
  }
  .feature .feature_under {
    width: 95%;
    margin: 0 auto;
    gap: 2vw;
  }
  .feature .feature_under img {
    display: block;
    height: 10em;
    width: 100%;
    margin: 0 auto;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 1vw;
    margin-bottom: .5vw;
  }
  .feature .feature_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .feature .feature_under h3 {
    font-size: 1em;
    margin-bottom: 0;
  }
  .feature .feature_under p {
    font-size: 1em;
    letter-spacing: 0vw;
  }
  .service {
    margin-top: 5vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: 2vw 0;
  }
  .service .eyebrow {
    text-align: center;
  }
  .service h2 {
    font-size: 1.5em;
    letter-spacing: .08em;
    color: black;
    font-weight: 700;
    text-align: center;
  }
  .service .service_under {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    width: 95%;
    margin: 0 auto;
    gap: 2vw;
  }
  .service .service_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
  }
  .service .service_under img {
    display: block;
    width: 35%;
    margin: 0 auto;
  }
  .service .service_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .service .service_under h3 {
    font-size: .9em;
    margin-bottom: 0;
    text-align: center;
    color: #00a191;
    margin-bottom: .5vw;
  }
  .service .service_under p {
    font-size: .7em;
    letter-spacing: 0vw;
    width: 90%;
    margin: 0 auto;
  }
  .work {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .work .workh3 {
    text-align: center;
    font-size: .8em;
  }
  .work .workp {
    text-align: center;
    font-size: .7em;
  }
  .work .eyebrow {
    text-align: center;
  }
  .work h2 {
    font-size: 1.5em;
    letter-spacing: .08em;
    color: black;
    font-weight: 700;
    text-align: center;
  }
  .work .work_under {
    width: 95%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .work .work_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .work .work_under img {
    display: block;
    width: 90%;
    margin: 0 auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .work .work_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .work .work_under h3 {
    font-size: 1em;
    margin-bottom: .5vw;
    text-align: center;
    color: #00a191;
  }
  .work .work_under p {
    font-size: .8em;
    letter-spacing: 0vw;
    width: 90%;
    margin: 0 auto;
  }
  .voice {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .voice .eyebrow {
    text-align: center;
  }
  .voice h2 {
    font-size: 1.5em;
    letter-spacing: .08em;
    color: black;
    font-weight: 700;
    text-align: center;
  }
  .voice .voice_under {
    width: 95%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .voice .voice_under .boss {
    width: 96%;
    margin: 0 auto;
    margin-top: 1vw;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .voice .voice_under div {
    background-color: white;
    padding: 2vw 0;
    border-radius: 2vw;
  }
  .voice .voice_under img {
    display: block;
    width: 35%;
    margin: 0 auto;
  }
  .voice .voice_under b {
    font-size: 1em;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .voice .voice_under h3 {
    font-size: 1em;
    margin-bottom: .5vw;
    margin-top: 0;
    width: 100%;
    color: #00a191;
    width: 90%;
    margin: 0 auto;
    margin-top: .5em;
    margin-bottom: .5em;
    text-align: center;
  }
  .voice .voice_under p {
    font-size: .8em;
    width: 90%;
    margin: 0 auto;
    margin-top: .5em;
    margin-bottom: .5em;
    text-align: center;
  }
  .flow {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .flow .eyebrow {
    text-align: center;
  }
  .flow h2 {
    font-size: 1.2em;
    text-align: center;
  }
  .flow .flow_under {
    width: 85%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .flow .flow_under .boss {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3fr;
        grid-template-columns: 1fr 3fr;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(208, 208, 208, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    width: 100%;
    margin: 0 auto;
    margin-top: 1vw;
  }
  .flow .flow_under .boss .number {
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
  }
  .flow .flow_under div {
    background-color: white;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  .flow .flow_under img {
    display: block;
    width: 35%;
    margin: 0 auto;
  }
  .flow .flow_under b {
    font-size: 1.4vw;
    background-color: rgba(0, 161, 145, 0.5);
    padding: .5vw;
    border-radius: .5vw;
    display: inline-block;
  }
  .flow .flow_under h3 {
    font-size: .9em;
    margin-bottom: .5vw;
    margin-top: 2vw;
    width: 100%;
    color: #00a191;
  }
  .flow .flow_under p {
    font-size: .7em;
    width: 95%;
  }
  .question {
    margin-top: 5vw;
    padding: 2vw 0;
  }
  .question .eyebrow {
    text-align: center;
  }
  .question h2 {
    font-size: 1em;
    text-align: center;
  }
  .question .question_under {
    width: 70%;
    margin: 0 auto;
    gap: 2vw;
    margin-top: 2vw;
  }
  .question .question_under div {
    background-color: white;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  .question .question_under h3 {
    font-size: 1em;
    margin-bottom: .5vw;
    margin-top: 2vw;
    width: 100%;
    color: #00a191;
  }
  .question .question_under p {
    font-size: .8em;
    width: 95%;
  }
  .contact_last {
    margin-top: 8vh;
  }
  .contact_last h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 40px;
  }
  .contact_last b {
    display: block;
    text-align: center;
  }
  .contact_last .contact_last_under {
    width: 50%;
    margin: 0 auto;
  }
  .contact_last label {
    line-height: 25px;
    font-size: 15px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  .contact_last label .must {
    color: white;
    background-color: #00a191;
    padding: 0px 3px;
    font-size: 13px;
  }
  .contact_last label .cummon {
    width: 100%;
    height: 30px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    background-color: white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 4px solid #00a191;
    border-radius: 5px;
  }
  .contact_last label .text_area {
    width: 100%;
    display: block;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    height: 40vh;
    border: 4px solid #00a191;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 5px;
  }
  .contact_last label .drop {
    height: 25px;
    display: block;
    width: 30%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .contact_last .submit {
    display: block;
    cursor: pointer;
    width: 60%;
    font-size: 16px;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
  }
  footer {
    width: 100%;
    background-color: #f1f1f1;
    padding-top: 5vh;
    background-color: #00243c;
    color: white;
    background-color: #ffffff;
    z-index: 100;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.5fr 1fr;
        grid-template-columns: 1.5fr 1fr;
  }
  footer div {
    width: 100%;
  }
  footer div iframe {
    display: block;
    height: 34vw;
    width: 80%;
    margin: 0 auto;
  }
  footer .fotter_link {
    margin-left: auto;
  }
  footer .fotter_link .logo {
    display: block;
    width: 50%;
    text-align: center;
  }
  footer .fotter_link li {
    margin-top: 3vh;
    font-weight: normal;
    list-style: none;
    border-bottom: 0.5px solid #222222;
    width: 70%;
  }
  footer .fotter_link li a {
    text-decoration: none;
    margin: 0 auto;
    margin-left: 3%;
    color: black;
    margin-bottom: 0;
    text-decoration: none;
    font-weight: normal;
    color: white;
    color: #000000;
  }
  .last {
    margin-top: 0;
    margin-bottom: 0;
    color: white;
    padding: 5px 0;
    text-align: center;
    background-color: #272727;
    margin-top: 5vh;
  }
  .popup {
    position: fixed;
    bottom: 0;
    right: 0;
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.3);
  }
  .popup-banner {
    position: absolute;
    bottom: 30%;
    right: 2%;
  }
  .popup-close {
    position: absolute;
    top: -.5vh;
    right: -.3vh;
    display: block;
    width: 20px;
    height: 20px;
    line-height: 2vh;
    padding: 1.5vh;
    font-size: 1.4rem;
    border-radius: 50%;
    text-align: center;
    color: #FFFFFF;
    background-color: #ff6455;
    cursor: pointer;
    z-index: 200;
  }
  .popup-img {
    width: 96%;
    height: auto;
    margin-left: auto;
    color: #F5a623;
    border-radius: 2rem;
  }
  .popup-img img {
    display: block;
    border-radius: .5vw;
  }
  .popup.hidden {
    opacity: 0;
    opacity: 0;
    z-index: -1000;
  }
  .gri_top {
    gap: 5px;
    padding: 0;
    width: 95%;
    margin: 0 auto;
    border-radius: 20px;
    padding: 2vh 0;
    -webkit-box-shadow: #ccdbe8 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
            box-shadow: #ccdbe8 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    border: 5px solid #06edbf;
    border-radius: 5vw;
    padding: 2vh 0;
  }
  .gri_top .gh3 {
    margin-top: 0;
    text-align: center;
    color: #06edbf;
    border: 2px solid #06edbf;
    width: 90%;
    margin: 0 auto;
    margin-top: .5vw;
    background-color: white;
  }
  .gri_top .cq {
    width: 90%;
    margin: 0 auto;
    padding: 1vw 0;
    padding-bottom: 2vw;
    height: 45vh;
    margin-bottom: 1vh;
    background-color: rgba(23, 183, 186, 0.3);
    padding: 0 2vw;
    padding-top: 1.2vh;
    margin-top: 1vh;
  }
  .gri_top .cq h3 {
    font-size: 1.5rem;
    text-align: center;
    margin-top: 1vw;
    border: 2px solid black;
    height: 4vh;
    line-height: 4vh;
    width: 20%;
    background-color: white;
    border: 2px solid #06edbf;
  }
  .gri_top .cq .fl {
    display: inline-block;
    font-weight: bold;
    font-size: 1rem;
    line-height: 4vh;
    margin-bottom: 1vw;
  }
  .gri_top .cq .wpcf7-checkbox {
    display: block;
  }
  .gri_top .cq .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 1vw;
    display: block;
  }
  .gri_top .cq .wpcf7-checkbox .wpcf7-list-item label {
    font-size: 1rem;
    font-weight: normal;
    color: #000000;
  }
  .gri_top .cq .wpcf7-checkbox .last {
    color: black;
    text-align: left;
    background-color: rgba(23, 183, 186, 0);
  }
  .gri_top .cq .submit {
    display: block;
    cursor: pointer;
    width: 90%;
    font-size: 1rem;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
    margin-top: 1vw;
  }
  .gri_top img {
    display: block;
    width: 90%;
    margin: 0 auto;
    border-radius: 1vw;
    margin-top: .5vw;
    margin-bottom: .5vw;
  }
  .gri_top h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 1.3rem;
    margin-top: 0;
    font-weight: bold;
  }
  .gri_top h2 span {
    font-size: 2rem;
  }
  .gri_top .cq1 {
    background-color: white;
    width: 98%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  .gri_top .cq1 h3 {
    text-align: center;
    margin-top: 0;
    font-size: 1rem;
    background-color: orangered;
    padding: .5vw 0;
    color: white;
  }
  .gri_top .cq1 .cqq {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.5fr;
        grid-template-columns: 1fr 1.5fr;
  }
  .gri_top .cq1 .cqq img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .gri_top .cq1 .cqq p {
    font-size: 13px;
    width: 95%;
  }
  .gri_top .cq1 .cqq .atention {
    border: 2px solid orangered;
    padding: .5vw;
  }
  .gri_top .wpcf7-checkbox {
    display: block;
  }
  .gri_top .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 3vh;
    display: block;
  }
  .gri_top .wpcf7-checkbox .wpcf7-list-item input {
    display: inline-block;
    font-size: 1.5rem;
    -webkit-transform: scale(140%);
            transform: scale(140%);
  }
  .gri_top .wpcf7-checkbox .wpcf7-list-item label {
    font-size: 1.1rem;
    font-weight: normal;
  }
  .gri_top .wpcf7-checkbox .last {
    color: black;
    background-color: white;
    text-align: left;
  }
  .gri_top h3 {
    text-align: center;
    margin-top: .5vw;
    font-size: 13px;
    margin-bottom: .5vw;
    margin-top: 5px;
    margin-bottom: 5px;
    letter-spacing: 1px;
  }
  .gri_top h3 span {
    font-size: 18px;
    font-size: 5vw;
    color: #06edbf;
  }
  .gri_top img {
    margin: 0 auto;
    margin-top: 4vw;
    display: block;
    width: 95%;
  }
  .gri_top .speechBubble {
    position: relative;
    display: inline-block;
    padding: 12px;
    border: 1px solid #ffe600;
    border-radius: 8px;
    background-color: #ffffff;
    background-color: #ffe600;
    text-align: left;
    font-size: 13px;
    font-weight: normal;
    -webkit-transform: translate(4vw, -2vw);
            transform: translate(4vw, -2vw);
    line-height: 1.5;
    color: #000000;
    color: black;
    z-index: 0;
  }
  .gri_top .speechBubble::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 20px 10px 0 10px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  .gri_top .speechBubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 16.5px 7.8px 0 7.8px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  .gri_top h4 {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1vw;
    padding: .5vw;
    color: white;
    font-weight: normal;
  }
  .gri_top .gri_sales {
    background-color: #06edbf;
  }
  .gri_top .gri_reapos {
    background-color: #ff6455;
  }
  .gri_top .header_sll {
    display: block;
    color: #06edbf;
    border: 1px solid #06edbf;
    background-color: rgba(255, 255, 255, 0.5);
    width: 90%;
    border-radius: 5vw;
    margin: 0 auto;
    padding: 20px 10px;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    color: #06edbf;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 5px;
    font-size: 13px;
    -webkit-animation: anime1 1s ease 0s infinite alternate;
            animation: anime1 1s ease 0s infinite alternate;
    border-radius: 4rem;
  }
  .gri_top .header_sll .a_img {
    display: inline-block;
    width: 40%;
    position: relative;
  }
  .gri_top .header_sll .a_img img {
    display: inline-block;
    width: 80%;
    margin: 0 auto;
    margin-left: 2vw;
    position: absolute;
    top: -5vh;
    left: -2vw;
  }
  .gri_top .header_sll .a_text {
    text-align: center;
    display: block;
    margin-right: 2vw;
    width: 90%;
    margin-right: 10%;
    font-size: 13px;
    font-weight: bold;
  }
  .gri_top .header_sll::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #06edbf;
    border-right: 3px solid #06edbf;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .logo_fadein {
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 999;
  }
  .logo_fadein p {
    position: fixed;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
    width: 35%;
  }
  .logo_fadein p img {
    display: block;
    width: 100%;
  }
  .you_h2 {
    font-size: 12px;
    text-align: center;
    margin-top: 11vw;
  }
  .youtube {
    display: block;
    width: 85%;
    height: 45vw;
    margin: 0 auto;
  }
  #splash {
    /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 9999;
    text-align: center;
    color: #fff;
    background-color: white;
  }
  /* Loading画像中央配置　*/
  #splash_logo {
    position: absolute;
    top: 50%;
    left: 52%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  /* Loading アイコンの大きさ設定　*/
  .first_top {
    display: block;
    width: 100%;
    margin: 0 auto;
    color: black;
    text-align: center;
    font-size: 3vw;
    color: white;
    color: #00a191;
    color: black;
    display: none;
  }
  .first_top_sp {
    display: block;
    width: 100%;
    margin: 0 auto;
    color: black;
    text-align: center;
    font-size: 6vw;
    color: white;
    color: #00a191;
    color: black;
  }
  .second_top {
    display: block;
    width: 100%;
    margin: 0 auto;
    color: black;
    text-align: center;
    font-size: 3vw;
    color: white;
    color: #00a191;
    color: black;
    display: none;
  }
  /* fadeUpをするアイコンの動き */
  .fadeUp {
    -webkit-animation-name: fadeUpAnime;
            animation-name: fadeUpAnime;
    -webkit-animation-duration: 1.4s;
            animation-duration: 1.4s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    opacity: 0;
  }
  @-webkit-keyframes fadeUpAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes fadeUpAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  header {
    margin-bottom: 10vh;
  }
  header .header_btn {
    font-size: 1.2vw;
    text-decoration: none;
    background-color: #06edbf;
    color: white;
    display: block;
    width: 50%;
    text-align: center;
    margin-top: 2vw;
    padding: 1vw 0;
    border-radius: 2vw;
    display: none;
  }
  header .contact_last_under {
    width: 90%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 1vh 1.5vh;
    border-radius: 1vh;
    display: none;
  }
  header .contact_last_under h2 {
    font-size: 1.3rem;
    text-align: center;
  }
  header .contact_last_under p {
    font-size: 11px;
    margin-bottom: 2vw;
    text-align: center;
  }
  header label {
    line-height: 25px;
    font-size: 15px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  header label .must {
    color: white;
    background-color: #ff8400;
    padding: 0px 3px;
    font-size: 12px;
    background-color: #e2e21a;
  }
  header label .cummon {
    width: 95%;
    margin: 0 auto;
    height: 30px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    background-color: white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 3px solid #ffffff;
    border-radius: 5px;
  }
  header label .drop {
    display: block;
    width: 40%;
    height: 50px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    background-color: white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 3px solid #000000;
    border-radius: 5px;
  }
  header label .text_area {
    width: 100%;
    display: block;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    height: 40vh;
    border: 4px solid orangered;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 5px;
  }
  header label .drop {
    height: 25px;
    display: block;
    width: 30%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  header .submit {
    display: block;
    cursor: pointer;
    width: 60%;
    font-size: 16px;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
    margin-top: 2vw;
  }
  header .h1 {
    width: 100%;
    margin: 0 auto;
    top: 15vw;
  }
  header .h1 .logosta {
    display: block;
    width: 30%;
    margin-top: 30%;
    margin-bottom: 2vh;
    margin-left: 1rem;
  }
  header .h1 h1 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    display: block;
    margin: 0 auto;
    margin-left: 1rem;
    margin-bottom: 0;
    color: black;
    letter-spacing: -.3vw;
  }
  header .h1 h1 span {
    font-size: 2.3rem;
  }
  header .h1 p {
    font-size: 16px;
    width: 95%;
    margin: 0 auto;
    margin-top: 10%;
    margin-bottom: 8vw;
    font-weight: bold;
    margin-top: 5%;
    margin-left: 1rem;
  }
  header .gri_top {
    gap: 5px;
    padding: 0;
    width: 95%;
    margin: 0 auto;
    border-radius: 20px;
    padding: 2vh 0;
    -webkit-box-shadow: #ccdbe8 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
            box-shadow: #ccdbe8 3px 3px 6px 0px inset, rgba(255, 255, 255, 0.5) -3px -3px 6px 1px inset;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
    border: 5px solid #06edbf;
    border-radius: 5vw;
    padding: 2vh 0;
  }
  header .gri_top .gh3 {
    margin-top: 0;
    text-align: center;
    color: #06edbf;
    border: 2px solid #06edbf;
    width: 90%;
    margin: 0 auto;
    margin-top: .5vw;
    background-color: white;
  }
  header .gri_top .cq {
    width: 90%;
    margin: 0 auto;
    padding: 1vw 0;
    padding-bottom: 2vw;
    height: 45vh;
    margin-bottom: 1vh;
    background-color: rgba(23, 183, 186, 0.3);
    padding: 0 2vw;
    padding-top: 1.2vh;
    margin-top: 1vh;
  }
  header .gri_top .cq h3 {
    font-size: 1.5rem;
    text-align: center;
    margin-top: 1vw;
    border: 2px solid black;
    height: 4vh;
    line-height: 4vh;
    width: 20%;
    background-color: white;
    border: 2px solid #06edbf;
  }
  header .gri_top .cq .fl {
    display: inline-block;
    font-weight: bold;
    font-size: 1rem;
    line-height: 4vh;
    margin-bottom: 1vw;
  }
  header .gri_top .cq .wpcf7-checkbox {
    display: block;
  }
  header .gri_top .cq .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 1vw;
    display: block;
  }
  header .gri_top .cq .wpcf7-checkbox .wpcf7-list-item label {
    font-size: 1rem;
    font-weight: normal;
    color: #000000;
  }
  header .gri_top .cq .wpcf7-checkbox .last {
    color: black;
    text-align: left;
    background-color: rgba(23, 183, 186, 0);
  }
  header .gri_top .cq .submit {
    display: block;
    cursor: pointer;
    width: 90%;
    font-size: 1rem;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
    margin-top: 1vw;
  }
  header .gri_top img {
    display: block;
    width: 90%;
    margin: 0 auto;
    border-radius: 1vw;
    margin-top: .5vw;
    margin-bottom: .5vw;
  }
  header .gri_top h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 1.3rem;
    margin-top: 0;
    font-weight: bold;
  }
  header .gri_top h2 span {
    font-size: 2rem;
  }
  header .gri_top .cq1 {
    background-color: white;
    width: 98%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
            box-shadow: rgba(23, 183, 186, 0.1) 0px 1px 0px, rgba(23, 183, 186, 0.1) 0px 8px 24px, rgba(23, 183, 186, 0.1) 0px 16px 48px;
  }
  header .gri_top .cq1 h3 {
    text-align: center;
    margin-top: 0;
    font-size: 1rem;
    background-color: orangered;
    padding: .5vw 0;
    color: white;
  }
  header .gri_top .cq1 .cqq {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.5fr;
        grid-template-columns: 1fr 1.5fr;
  }
  header .gri_top .cq1 .cqq img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  header .gri_top .cq1 .cqq p {
    font-size: 13px;
    width: 95%;
  }
  header .gri_top .cq1 .cqq .atention {
    border: 2px solid orangered;
    padding: .5vw;
  }
  header .gri_top .wpcf7-checkbox {
    display: block;
  }
  header .gri_top .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 3vh;
    display: block;
  }
  header .gri_top .wpcf7-checkbox .wpcf7-list-item input {
    display: inline-block;
    font-size: 1.5rem;
    -webkit-transform: scale(140%);
            transform: scale(140%);
  }
  header .gri_top .wpcf7-checkbox .wpcf7-list-item label {
    font-size: 1.1rem;
    font-weight: normal;
  }
  header .gri_top .wpcf7-checkbox .last {
    color: black;
    background-color: white;
    text-align: left;
  }
  header .gri_top h3 {
    text-align: center;
    margin-top: .5vw;
    font-size: 13px;
    margin-bottom: .5vw;
    margin-top: 5px;
    margin-bottom: 5px;
    letter-spacing: 1px;
  }
  header .gri_top h3 span {
    font-size: 18px;
    font-size: 5vw;
    color: #06edbf;
  }
  header .gri_top img {
    margin: 0 auto;
    margin-top: 4vw;
    display: block;
    width: 95%;
  }
  header .gri_top .speechBubble {
    position: relative;
    display: inline-block;
    padding: 12px;
    border: 1px solid #ffe600;
    border-radius: 8px;
    background-color: #ffffff;
    background-color: #ffe600;
    text-align: left;
    font-size: 13px;
    font-weight: normal;
    -webkit-transform: translate(4vw, -2vw);
            transform: translate(4vw, -2vw);
    line-height: 1.5;
    color: #000000;
    color: black;
    z-index: 0;
  }
  header .gri_top .speechBubble::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 20px 10px 0 10px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  header .gri_top .speechBubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 9%;
    border-style: solid;
    border-width: 16.5px 7.8px 0 7.8px;
    border-color: #ffe600 transparent transparent;
    translate: -50% 100%;
  }
  header .gri_top h4 {
    width: 80%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1vw;
    padding: .5vw;
    color: white;
    font-weight: normal;
  }
  header .gri_top .gri_sales {
    background-color: #06edbf;
  }
  header .gri_top .gri_reapos {
    background-color: #ff6455;
  }
  header .gri_top .header_sll {
    display: block;
    color: #06edbf;
    border: 1px solid #06edbf;
    background-color: rgba(255, 255, 255, 0.5);
    width: 90%;
    border-radius: 5vw;
    margin: 0 auto;
    padding: 20px 10px;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    color: #06edbf;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 5px;
    font-size: 13px;
    -webkit-animation: anime1 1s ease 0s infinite alternate;
            animation: anime1 1s ease 0s infinite alternate;
    border-radius: 4rem;
  }
  header .gri_top .header_sll .a_img {
    display: inline-block;
    width: 40%;
    position: relative;
  }
  header .gri_top .header_sll .a_img img {
    display: inline-block;
    width: 80%;
    margin: 0 auto;
    margin-left: 2vw;
    position: absolute;
    top: -5vh;
    left: -2vw;
  }
  header .gri_top .header_sll .a_text {
    text-align: center;
    display: block;
    margin-right: 2vw;
    width: 90%;
    margin-right: 10%;
    font-size: 13px;
    font-weight: bold;
  }
  header .gri_top .header_sll::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #06edbf;
    border-right: 3px solid #06edbf;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  header .hsh {
    background-color: #f0f0f0;
    padding: 3vh 0;
    margin-top: 10vh;
  }
  header .header_service {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    margin: 0 auto;
    gap: 1vw;
    padding: 1vw;
    width: 98%;
  }
  header .header_service .gri {
    position: relative;
    gap: 5px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    padding: 0;
    padding-bottom: 2vw;
    background-color: white;
  }
  header .header_service h4 {
    width: 95%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1vw;
    padding: .5vw;
    font-size: 11px;
    color: white;
    font-weight: normal;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
  }
  header .header_service .gri_sales {
    background-color: #06edbf;
  }
  header .header_service .gri_reapos {
    background-color: #ff6455;
  }
  header .header_service b {
    display: inline-block;
    font-size: 11px;
    position: absolute;
    top: 0%;
    left: 0%;
    padding: .5vw;
    color: #00a191;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
  }
  header .header_service .sll {
    color: #ff6455;
  }
  header .header_service .fff {
    display: block;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    height: 28vh;
    margin: 0 auto;
  }
  header .header_service .gri_un img {
    display: block;
    width: 70%;
    margin: 0 auto;
    margin-top: 4vh;
  }
  header .header_service .gri_un h2 {
    font-size: 11px;
    letter-spacing: 0;
    text-align: center;
    margin-top: 0;
  }
  header .header_service .gri_un p {
    text-align: center;
    margin-bottom: 0;
    font-size: 9px;
    letter-spacing: 0;
  }
  header .header_service .gri_un h3 {
    font-size: 12px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0;
    margin-bottom: 2vh;
  }
  header .header_service .gri_uns img {
    display: block;
    width: 75%;
    margin: 0 auto;
    margin-top: 4vh;
  }
  header .header_service .gri_uns h2 {
    font-size: 11px;
    letter-spacing: 0;
    text-align: center;
    margin-top: 0;
    opacity: 0;
  }
  header .header_service .gri_uns p {
    text-align: center;
    margin-bottom: 0;
    font-size: 9px;
    letter-spacing: 0;
    margin-top: 1.5vh;
  }
  header .header_service .gri_uns h3 {
    font-size: 12px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    margin-top: 0;
    letter-spacing: 0;
    margin-bottom: 2vh;
  }
  header .header_service a {
    display: block;
    text-align: center;
    margin-top: 1vw;
    font-size: 12px;
    text-decoration: none;
    padding: 10px 0;
  }
  header .header_service .header_sl {
    display: block;
    background-color: #06edbf;
    color: white;
    width: 90%;
    margin: 0 auto;
    margin-top: 2vw;
    display: block;
    background-color: #ffffff;
    color: #06edbf;
    border: 1px solid #06edbf;
    width: 80%;
    margin: 0 auto;
    padding: 1vh 1vh;
    margin-top: 1vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header .header_service .header_sl::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #06edbf;
    border-right: 3px solid #06edbf;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  header .header_service .header_sll {
    display: block;
    background-color: #ff6455;
    color: white;
    width: 90%;
    margin: 0 auto;
    margin-top: 2vh;
    display: block;
    background-color: #ffffff;
    color: #ff6455;
    border: 1px solid #ff6455;
    width: 80%;
    margin: 0 auto;
    padding: 1vh 1vh;
    margin-top: 1vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header .header_service .header_sll::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #ff6455;
    border-right: 3px solid #ff6455;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  header .header_in_link {
    display: block;
    text-decoration: none;
    margin: 0 auto;
    color: black;
    width: 95%;
    font-size: 1.1rem;
    padding: 10px 0vw;
    margin-top: 0vw;
    text-align: center;
    font-weight: bold;
    background-color: #55d2ff;
    color: #f6f6f6;
    background-color: #00a191;
    border-radius: 10px;
    margin-bottom: 15vh;
    display: none;
  }
  header .header_in_link span {
    font-size: 12px;
    display: inline-block;
    font-weight: normal;
  }
  header .rele {
    position: absolute;
    display: block;
    width: 40%;
    left: 12vw;
    top: 20.5vw;
  }
  header .toto {
    position: absolute;
    display: block;
    width: 40%;
    right: 11vw;
    top: 11vw;
  }
  header .a_div {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    width: 80%;
    margin: 0 auto;
  }
  header .common {
    padding: 20px 0;
    margin-top: 10px;
    display: none;
  }
  header .common a {
    display: block;
    width: 95%;
    text-align: center;
    text-decoration: none;
    font-size: 13px;
    padding: 8px 0;
    color: black;
    margin: 0 auto;
    border-radius: 10px;
  }
  header .common .to_a {
    background-color: white;
    border: 1px solid #00a191;
  }
  header .common .to_a_sam {
    background-color: #00a191;
    border: 1px solid #00a191;
    color: white;
  }
  header .common .a_a {
    background-color: white;
    border: 1px solid #2595be;
  }
  header .common .a_a_sam {
    background-color: #2595be;
    color: white;
    border: 1px solid #2595be;
  }
  header .common .t_a {
    background-color: white;
    border: 1px solid #f4e700;
  }
  header .common .t_a_sam {
    background-color: #f4e700;
    border: 1px solid #f4e700;
    color: white;
  }
  header .he_img {
    position: relative;
    width: 100%;
  }
  header .logo {
    display: block;
    width: 30%;
    position: fixed;
    top: 3%;
    left: 3%;
  }
  header .japan {
    display: block;
    width: 90%;
    margin: 0 auto;
    margin-top: 10vh;
  }
  header .copy_p {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    width: 90%;
    margin: 0 auto;
    border-bottom: 3px dotted black;
    margin-top: 3vh;
  }
  header .copy_p span {
    background-color: #00a191;
    padding: 5px;
    color: white;
  }
  header .contact_header_p {
    display: block;
    font-size: 1rem;
    color: #000000;
    text-align: center;
  }
  header .top_a_a {
    display: block;
    text-decoration: none;
    background-color: #00a191;
    color: white;
    font-size: 1rem;
    left: 15%;
    margin: 0 auto;
    text-align: center;
    padding: 13px 0px;
    border-radius: 10px;
    width: 80%;
  }
  header .siryo_con {
    display: block;
    text-decoration: none;
    background-color: #00a191;
    color: white;
    font-size: 1rem;
    left: 15%;
    margin: 0 auto;
    text-align: center;
    padding: 13px 0px;
    border-radius: 10px;
    width: 80%;
    background-color: #ff9d00;
    background-color: #b1fff7;
    background-color: #ffd445;
    background-color: #2595be;
    color: white;
    margin-top: 1vh;
  }
  header .insta {
    position: fixed;
    width: 10%;
    right: 1%;
    bottom: 1%;
    z-index: 0;
  }
  header .top_merit {
    gap: 5px;
    width: 98%;
    margin: 0 auto;
    margin-top: 3vh;
  }
  header .top_merit .t_u {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2.5fr;
        grid-template-columns: 1fr 2.5fr;
  }
  header .top_merit div {
    padding: 5px 5px;
  }
  header .top_merit div img {
    display: block;
    width: 35%;
    margin: 0 auto;
    margin-top: 20px;
  }
  header .top_merit h2 {
    font-size: 1rem;
    margin-top: 0;
    margin-bottom: 0;
  }
  header .top_merit p {
    font-size: 12px;
    margin-top: 0;
  }
  .siryos_contact {
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 10vh;
    padding: 1vh 0;
  }
  .siryos_contact img {
    display: block;
  }
  .siryos_contact div h2 {
    text-align: center;
    font-size: 20px;
  }
  .siryos_contact div h3 {
    text-align: center;
    font-size: 16px;
  }
  .siryos_contact div .sample_voice p {
    margin: 0 auto;
    margin-top: 5px;
    font-size: 1vh;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 1.6vh 0;
    padding-left: 1vh;
    width: 95%;
    font-size: 12px;
  }
  .siryos_contact div .sample_voice .spt, .siryos_contact div .sample_voice .spo {
    border-left: 1vh solid #ff6455;
  }
  .siryos_contact a {
    display: block;
    margin: 0 auto;
    margin-top: 3vh;
    width: 80%;
    text-align: center;
    background-color: #ff6455;
    padding: 2.5vh 0;
    color: white;
    text-decoration: none;
    border-radius: 1vw;
    position: relative;
    -webkit-animation: anime1 1s ease 0s infinite alternate;
            animation: anime1 1s ease 0s infinite alternate;
    border-radius: 3rem;
  }
  .siryos_contact a::after {
    position: absolute;
    top: 2.8vh;
    right: 7%;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  @-webkit-keyframes anime1 {
    from {
      -webkit-transform: scale(0.9, 0.9);
              transform: scale(0.9, 0.9);
    }
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
    }
  }
  @keyframes anime1 {
    from {
      -webkit-transform: scale(0.9, 0.9);
              transform: scale(0.9, 0.9);
    }
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
    }
  }
  .he_imgs {
    position: relative;
    width: 100%;
    margin-bottom: 10vh;
  }
  .he_imgs .three {
    display: block;
    width: 10%;
    margin-left: 10%;
  }
  .he_imgs .three_p {
    position: absolute;
    display: block;
    left: 22%;
    top: 4%;
    opacity: .8;
    border-radius: 10px;
    width: 40%;
    font-size: 9px;
    padding: 10px;
    -webkit-box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  }
  .he_imgs .four {
    display: block;
    width: 20%;
    margin-left: auto;
    margin-right: 5vh;
    margin-top: 0;
  }
  .he_imgs .four_p {
    position: absolute;
    display: block;
    left: 25%;
    top: 64%;
    opacity: .8;
    border-radius: 10px;
    width: 40%;
    font-size: 9px;
    padding: 10px;
    -webkit-box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  }
  .company_move {
    margin-top: 10vh;
    margin-bottom: 10vh;
  }
  .company_move h2 {
    font-size: 2rem;
    margin-left: 4%;
  }
  .company_move .move_p {
    margin-left: 4%;
    margin-bottom: 5vw;
  }
  .company_move .move_p a {
    display: block;
    background-color: #06edbf;
    text-decoration: none;
    color: white;
    width: 70%;
    padding: 1.5vh 0;
    margin-left: auto;
    border-radius: 1vw;
    margin-top: 3vw;
    text-align: center;
    margin-right: 2%;
  }
  @-webkit-keyframes infinity-scroll-left {
    from {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-390%);
              transform: translateX(-390%);
    }
  }
  @keyframes infinity-scroll-left {
    from {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-390%);
              transform: translateX(-390%);
    }
  }
  .scroll-infinity__list--left {
    -webkit-animation: infinity-scroll-left 50s infinite linear .2s both;
            animation: infinity-scroll-left 50s infinite linear .2s both;
  }
  .scroll-infinity__item {
    width: calc(80vw / 6);
  }
  .scroll-infinity__item > img {
    width: 100%;
    width: 80%;
    height: auto;
    display: block;
  }
  .scroll-infinity__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    width: 85%;
    margin: 0 auto;
  }
  .scroll-infinity__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    padding: 0;
    width: 100%;
    margin-top: 6vh;
  }
  .scroll-infinity__list img {
    display: block;
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 3vh;
    height: 8vh;
  }
  .scroll-infinity__list--left {
    -webkit-animation: infinity-scroll-left 30s infinite linear .1s both;
            animation: infinity-scroll-left 30s infinite linear .1s both;
  }
  .menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
    width: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
  }
  .gnav {
    margin-right: 10%;
  }
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #000000;
    position: absolute;
  }
  .menu-btn span:before {
    bottom: 8px;
  }
  .menu-btn span:after {
    top: 8px;
  }
  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #menu-btn-check {
    display: none;
  }
  .menu-content {
    width: 50%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 99;
    background-color: #00a191;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    /*アニメーション設定*/
  }
  .menu-content ul {
    padding: 70px 10px 0;
  }
  .menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
  }
  .menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: white;
    text-decoration: none;
    padding: 9px 10px 10px 15px;
    position: relative;
  }
  .menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
    z-index: 99;
  }
  #menu-btn-check:checked ~ .menu-content {
    left: 50%;
    /*メニューを画面内へ*/
  }
  .news {
    padding: 5vh 0 20vh 0;
    margin: 0 auto;
    margin-top: 5vh;
    width: 95%;
  }
  .news b {
    display: block;
    text-align: center;
  }
  .news h2 {
    text-align: center;
  }
  .news div {
    margin-top: 5vh;
  }
  .news p {
    width: 90%;
    padding-bottom: 2vh;
    padding-left: 1vh;
    margin: 0 auto;
    margin-bottom: 0vh;
    font-size: 13px;
    border-bottom: 1px dotted black;
  }
  .news .newtitle {
    padding-bottom: 0;
    font-size: 13px;
    text-align: left;
    color: white;
    letter-spacing: 10px;
    margin-bottom: 0;
    margin-left: 10%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-weight: lighter;
  }
  .news .post-categories {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .post-categories li {
    width: 100%;
    margin: 0 auto;
    list-style: none;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .post-categories li a {
    color: black;
    text-decoration: none;
    background-color: #018174;
    width: 50%;
    padding: 15px 0;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    z-index: 5;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    text-align: center;
    border-radius: 0;
    background-color: #00a191;
  }
  .news .news_time {
    margin-left: 30%;
  }
  .news .blog_link {
    display: block;
    text-align: center;
    color: black;
    padding: 15px 0;
    text-decoration: none;
  }
  .news .blog_link_last {
    display: block;
    text-align: center;
    color: black;
    padding: 15px 0;
    width: 90%;
    border: 1px solid #00a191;
    margin: 0 auto;
    font-size: 13px;
    margin-bottom: 7vh;
    margin-top: 5vh;
    padding: 10px 10px;
    border-radius: 2vw;
    text-decoration: none;
    background-color: white;
    color: #00a191;
  }
  .news .mainarticle {
    width: 95%;
    display: -ms-grid;
    display: grid;
    gap: 2vw;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .mainarticle .wp-post-image {
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .mainarticle .article {
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .mainarticle img {
    display: block;
    height: auto;
    width: 97%;
    display: none;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .news .mainarticle .flex {
    margin-top: 0;
  }
  .news .mainarticle .flex a {
    text-decoration: none;
    display: none;
  }
  .news .mainarticle .article {
    margin-top: 0;
  }
  .news .mainarticle .new-time {
    margin-top: 0;
  }
  .news .mainarticle .casp {
    display: block;
    background-color: #00a191;
    width: 30%;
  }
  .news .mainarticle .casp a {
    text-decoration: none;
    margin-left: auto;
    display: block;
    margin-right: 0;
    color: white;
    font-size: 13px;
    text-align: center;
  }
  .news .mainarticle .desc {
    width: 100%;
    margin-top: 0;
    position: relative;
    margin-left: auto;
  }
  .news .mainarticle .desc a {
    color: black;
    font-size: 13px;
    display: inline-block;
    text-decoration: none;
    -webkit-appearance: none;
    margin-top: 0;
    width: 100%;
    margin: 0 auto;
    -webkit-text-size-adjust: 100%;
    border-bottom: 1px black dotted;
    margin-bottom: 10px;
    margin-top: 10px;
  }
  .news .mainarticle .desc .neti {
    position: absolute;
    left: 15vh;
    top: -7.5vh;
    font-size: 13px;
  }
  .news .message {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2.5fr 1fr;
        grid-template-columns: 2.5fr 1fr;
    gap: 10px;
  }
  .news .message .smf_p {
    display: none;
  }
  .news .message p {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .news .message_second {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .case {
    width: 100%;
    padding: 5vh 0;
    margin-top: 5vh;
  }
  .case h2 {
    margin-top: 0;
    margin: 0 auto;
    border-left: 10px solid #00a191;
    padding-left: 5%;
    font-size: 12px;
    margin-left: 3%;
    margin-bottom: 10px;
  }
  .case h2 span {
    font-size: 20px;
  }
  .case .case_under {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    width: 95%;
    margin: 0 auto;
    gap: 5px;
  }
  .case .case_under div {
    padding: 10px 0;
    background-color: white;
    -webkit-box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  }
  .case .case_under div h3 {
    text-align: center;
    font-size: 12px;
  }
  .company {
    margin-top: 5vw;
    margin-bottom: 10vh;
  }
  .company img {
    display: block;
    width: 60%;
    margin: 0 auto;
    margin-bottom: 3rem;
    margin-top: 3rem;
  }
  .company h3 {
    width: 90%;
    margin: 0 auto;
    font-size: 2rem;
    margin-left: 5%;
    margin-top: 5vh;
    margin-bottom: 3vh;
  }
  .company .more_two {
    display: block;
    width: 60%;
    margin: 0 auto;
    background-color: orangered;
    margin-left: 5%;
    margin: 0 auto;
    text-decoration: none;
    padding: 13px;
    margin-top: 10vh;
    text-align: center;
    color: white;
    font-size: 13px;
    border-radius: 10px;
    margin-top: 5vh;
    margin-bottom: 3vh;
    border-radius: 5rem;
  }
  .company .more {
    display: block;
    width: 50%;
    margin: 0 auto;
    background-color: #000000;
    margin-left: 5%;
    text-decoration: none;
    padding: 10px;
    margin-top: 2vw;
    text-align: center;
    color: white;
    font-size: 13px;
    border-radius: 10px;
    margin-top: 3vh;
    margin-bottom: 3vh;
    display: none;
  }
  .company h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2rem;
  }
  .company b {
    text-align: center;
    display: block;
    font-size: 13px;
  }
  .company .pc_p {
    display: none;
  }
  .company .smf_p {
    width: 90%;
    margin: 0 auto;
    font-size: 13px;
  }
  .ssss {
    margin-bottom: 10vh;
  }
  .ssss h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2rem;
  }
  .ssss b {
    text-align: center;
    display: block;
    font-size: 13px;
  }
  .ss_service {
    gap: 1vw;
    width: 95%;
    margin: 0 auto;
    background-color: white;
    margin-top: 3vw;
  }
  .ss_service b {
    display: inline-block;
    font-size: 12px;
    position: absolute;
    top: 2%;
    left: 0%;
    padding: 10px;
    color: #00a191;
    -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
    border-radius: .5vw;
    margin-left: 1vw;
    display: none;
  }
  .ss_service .sll {
    color: #ff6455;
  }
  .ss_service div {
    padding: 00px 0;
    position: relative;
    padding-bottom: 30px;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
  }
  .ss_service img {
    display: block;
    width: 98%;
    margin: 0 auto;
  }
  .ss_service h3 {
    font-size: 1.3rem;
    text-align: center;
    margin-top: 0px;
  }
  .ss_service p {
    font-size: 12px;
    width: 95%;
    margin: 0 auto;
    margin-bottom: 2vh;
  }
  .ss_service a {
    display: block;
    text-align: center;
    text-decoration: none;
  }
  .ss_service .header_sl {
    display: block;
    background-color: #06edbf;
    color: white;
    width: 80%;
    margin: 0 auto;
    padding: 15px 0;
    margin-top: 1.5vw;
    position: relative;
    border-radius: 2rem;
    margin-top: 20px;
  }
  .ss_service .header_sl::after {
    position: absolute;
    top: 2.5vh;
    right: 7%;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .ss_service .header_sll {
    display: block;
    background-color: #ff6455;
    color: white;
    width: 80%;
    margin: 0 auto;
    padding: 15px 0;
    margin-top: 1.5vw;
    position: relative;
    border-radius: 2rem;
    margin-top: 20px;
  }
  .ss_service .header_sll::after {
    position: absolute;
    top: 2.5vh;
    right: 7%;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .ss_service .s_u {
    -webkit-box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
            box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: 2rem;
  }
  .ss_service .s_u_u {
    -webkit-box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
            box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: 2rem;
  }
  .member {
    margin-top: 2rem;
  }
  .member h2 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 0;
    margin-top: 0;
  }
  .member b {
    text-align: center;
    display: block;
    font-size: 13px;
  }
  .member .member_under {
    gap: 2vw;
    width: 95%;
    margin: 0 auto;
    margin-top: 5vw;
  }
  .member .member_under .f_m_g_u {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    gap: 5px;
  }
  .member .member_under .com_u {
    margin-top: 15px;
    background-color: white;
    right: 1vw;
    height: 20vw;
    width: 98%;
  }
  .member .member_under img {
    display: block;
    height: 40vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .member .member_under .mem_two {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    margin-bottom: 1vw;
    gap: 1vw;
  }
  .member .member_under .mem_two img {
    height: 40vh;
  }
  .member .member_under h4 {
    margin-bottom: 0;
    font-size: 12px;
  }
  .member .member_under h3 {
    font-size: 16px;
    margin-bottom: 0;
    margin-top: 0;
  }
  .member .member_under h3 span {
    font-size: 15px;
  }
  .member .member_under p {
    margin-top: 0;
    font-size: 12px;
  }
  .member .member_under a {
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 10px 0;
  }
  .member .member_under .hiba {
    background-color: #0974f1;
    color: white;
  }
  .member .member_under .ikk {
    color: white;
    background-color: #00a191;
  }
  .member .member_under .jyo {
    color: white;
    background-color: #fae06c;
  }
  .member .member_under .jyos {
    color: black;
    background-color: #ffffff;
    border: 1px solid #fae06c;
    margin-bottom: 10px;
  }
  .member .member_under .taisei {
    color: white;
    background-color: brown;
    display: block;
  }
  .member .member_under .taiseis {
    color: black;
    background-color: white;
    display: block;
    border: 1px solid brown;
    margin-top: 5px;
  }
  .member .member_under .link_dai {
    gap: 10px;
  }
  .member .member_under .link_dai .hiba_chan {
    border: 2px solid #0974f1;
    color: black;
    margin-bottom: 10px;
  }
  .member .member_under .link_dai_s {
    gap: 10px;
  }
  .member .member_under .link_dai_s .ikk_chan {
    border: 2px solid #00a191;
    color: black;
    margin-bottom: 10px;
  }
  .member .out_mem {
    display: block;
    text-align: left;
    margin-top: 2vw;
    margin-bottom: 2vw;
  }
  .member .wri_bo {
    width: 80%;
    margin: 0 auto;
  }
  .member .wri_bo .wri_sta {
    width: 100%;
    text-align: center;
    padding: 10px 0;
    margin-left: auto;
    margin-right: 0;
    font-size: 13px;
    border: 1px solid black;
  }
  .member .colab {
    width: 90%;
    margin: 0 auto;
    margin-top: 5vh;
  }
  .member .colab h2 {
    text-align: center;
    font-size: 18px;
    margin-top: 5vh;
  }
  .member .colab .colab_under {
    -webkit-box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
            box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    padding: 2vh 0 5vh 0;
    margin-top: 3vh;
  }
  .member .colab .colab_under img {
    display: block;
    width: 90%;
    margin: 0 auto;
    padding: 0 2.5vw;
    margin-top: 2vw;
  }
  .member .colab .colab_under p {
    width: 90%;
    margin: 0 auto;
    font-size: 13px;
  }
  .member .colab .colab_under a {
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    margin-top: 2vh;
    background-color: #06edbf;
    padding: 2vh 0;
    color: white;
    font-size: 12px;
    border-radius: .5vh;
  }
  .total {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    margin-bottom: 10vh;
    padding: 5vh 0;
    margin-top: 10vh;
  }
  .total h2 {
    text-align: center;
    color: black;
    font-size: 25px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total h2 span {
    color: #018174;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .categories {
    background-color: #ff6455;
    display: block;
  }
  .total .blog_link_last {
    display: block;
    color: white;
    width: 90%;
    margin: 0 auto;
    color: white;
    background-color: orangered;
    text-align: center;
    text-decoration: none;
    padding: 15px 0;
  }
  .total .newtitle {
    padding-bottom: 0;
    font-size: 13px;
    text-align: left;
    color: black;
    letter-spacing: 10px;
    margin-bottom: 0;
    margin-left: 10%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-weight: lighter;
  }
  .total .post-categories {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .post-categories li {
    width: 100%;
    margin: 0 auto;
    list-style: none;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .post-categories li a {
    color: black;
    text-decoration: none;
    background-color: #018174;
    width: 100%;
    display: none;
    padding: 5px 0;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    z-index: 5;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    margin-top: 0;
    border-radius: 0;
  }
  .total .blog_link {
    display: block;
    text-align: center;
    color: black;
    padding: 10px 0;
    text-decoration: none;
  }
  .total .mainarticle {
    width: 98%;
    margin: 0 auto;
    gap: 12px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    margin-bottom: 0;
    margin-top: 5vh;
  }
  .total .mainarticle .wp-post-image {
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle .article {
    margin-bottom: 50px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    margin-bottom: 0;
  }
  .total .mainarticle img {
    display: block;
    margin: 0 auto;
    width: 95%;
    height: auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .total .mainarticle .casp {
    display: block;
    position: absolute;
    left: 27vw;
    background-color: #00a191;
    width: 8%;
  }
  .total .mainarticle .casp a {
    text-decoration: none;
    margin-left: auto;
    display: block;
    margin-right: 0;
    color: white;
    font-size: 13px;
    padding: .1vw 0;
  }
  .total .mainarticle div .desc p {
    margin: 0;
  }
  .total .mainarticle div .desc p a {
    color: black;
    text-decoration: none;
    font-size: 13px;
    display: block;
    padding: 10px 0;
    -webkit-appearance: none;
    margin-top: 0;
    width: 95%;
    margin: 0 auto;
    -webkit-text-size-adjust: 100%;
  }
  .total .message {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2.5fr 1fr;
        grid-template-columns: 2.5fr 1fr;
    gap: 10px;
  }
  .total .message .sya_smf {
    display: none;
  }
  .total .message p {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .total .message_second {
    letter-spacing: 2px;
    font-size: 15px;
  }
  .plan {
    display: none;
  }
  .plan h2 {
    text-align: center;
    font-size: 1.5rem;
  }
  .plan h2 span {
    color: #018174;
  }
  .plan b {
    display: block;
    text-align: center;
  }
  .plan .plan_under {
    width: 85%;
    margin: 0 auto;
    gap: 10px;
    background-color: #00a191;
    border-radius: 10px;
    padding: 20px;
  }
  .plan .plan_under b {
    font-size: 16px;
  }
  .plan .plan_under h3 {
    text-align: center;
    font-size: 20px;
    background-color: #00a191;
    padding: 3px 0;
    border-radius: 5px;
    width: 85%;
    margin: 0 auto;
    margin-top: 3vh;
    color: white;
    font-weight: bold;
  }
  .plan .plan_under .use_p {
    font-size: 14px;
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
    text-align: center;
  }
  .plan .plan_under .plan_a {
    border: 2px solid #00a191;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-radius: 5px;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
    color: black;
    padding: 10px 0;
    margin-top: 3vh;
  }
  .plan .plan_under .plan_use {
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    background-color: white;
    border-radius: 10px;
    padding-top: 5px;
    margin-top: 2vh;
  }
  .plan .plan_under .plan_use h5 {
    font-size: 16px;
    color: #00a191;
    margin-top: 10px;
    text-align: center;
  }
  .plan .plan_under .plan_use h5 span {
    font-size: 30px;
  }
  .plan .plan_under .plan_use .box_top {
    padding: 10px;
    width: 90%;
    margin: 0 auto;
  }
  .plan .plan_under .plan_use h4 {
    margin-bottom: 0;
    margin-top: 20px;
    font-size: 16px;
  }
  .plan .plan_under .plan_use .box {
    width: 100%;
    margin: 0 auto;
  }
  .plan .plan_under .plan_use .box p {
    font-size: 13px;
    width: 100%;
    border-top: 1px dashed black;
    padding-top: 15px;
    color: black;
  }
  .plan .plan_under .plan_use .box p span {
    font-weight: bold;
    border-bottom: 3px solid #2a9102;
    font-weight: 1vw;
  }
  .plan .plan_under .plan_use .p_last {
    border-bottom: 1px dashed black;
    padding-bottom: 15px;
  }
  .plan .plan_under .plan_use .box_under p {
    font-size: 12px;
    width: 100%;
    color: black;
  }
  .plan .plan_under .plan_use .box_under .box_option h4 {
    margin-bottom: 15px;
  }
  .plan .plan_under .plan_use .box_under .box_option p {
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .plan_smf h2 {
    text-align: center;
    font-size: 1.5rem;
  }
  .plan_smf h2 span {
    color: #018174;
  }
  .plan_smf .site {
    display: none;
  }
  .plan_smf .site.site-on {
    display: block;
  }
  .plan_smf .back-site {
    font-size: 30px;
    margin-bottom: 0;
    margin-top: 1vh;
    display: block;
    color: black;
    text-align: right;
    margin-right: 3vw;
    padding-top: 2vw;
    cursor: pointer;
  }
  .plan_smf .plan_double {
    display: none;
  }
  .plan_smf .plan_double_smf {
    width: 90%;
    margin: 0 auto;
    gap: 10px;
    margin-top: 2vw;
  }
  .plan_smf .plan_double_smf .double_under_smf {
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2fr;
        grid-template-columns: 1fr 2fr;
    border-radius: 10px;
    padding: 1vw 0;
    background-color: white;
    margin-bottom: 3vh;
  }
  .plan_smf .plan_double_smf .double_under_smf img {
    display: block;
    width: 80%;
    margin: 0 auto;
    margin-top: 5vh;
  }
  .plan_smf .plan_double_smf .double_under_smf .plan_a_c {
    display: block;
    text-decoration: none;
    color: white;
    padding: 12px 0;
    width: 90%;
    background-color: #00a191;
    background-color: #2595be;
    border-radius: 10px;
    text-align: center;
    margin-top: 3vh;
    margin-bottom: 2vh;
    color: white;
    font-size: 12px;
    cursor: pointer;
  }
  .plan_smf .plan_double_smf .double_under_smf .plan_a_p {
    display: block;
    text-decoration: none;
    color: white;
    padding: 12px 0;
    width: 90%;
    background-color: #00a191;
    color: black;
    border-radius: 10px;
    text-align: center;
    margin-top: 3vh;
    margin-bottom: 2vh;
    font-size: 1vw;
    font-size: 12px;
    color: white;
    cursor: pointer;
  }
  .plan_smf .plan_double_smf h2 {
    font-size: 16px;
    text-align: left;
    margin-bottom: 0;
  }
  .plan_smf .plan_double_smf h3 {
    margin-top: 10px;
    font-size: 13px;
    margin-bottom: 5px;
  }
  .plan_smf .plan_double_smf p {
    font-size: 12px;
    margin-top: 3px;
    margin-bottom: 3px;
  }
  .plan_smf .plan_double_smf .smf_p_d {
    display: none;
  }
  .plan_smf b {
    display: block;
    text-align: center;
  }
  .plan_smf .plan_under {
    width: 85%;
    margin: 0 auto;
    gap: 10px;
    background-color: #00a191;
    border-radius: 10px;
    padding: 20px;
  }
  .plan_smf .plan_under b {
    font-size: 16px;
  }
  .plan_smf .plan_under h3 {
    text-align: center;
    font-size: 20px;
    background-color: #00a191;
    padding: 3px 0;
    border-radius: 5px;
    width: 85%;
    margin: 0 auto;
    margin-top: 3vh;
    color: white;
    font-weight: bold;
  }
  .plan_smf .plan_under .use_p {
    font-size: 14px;
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
    text-align: center;
  }
  .plan_smf .plan_under .plan_a {
    border: 2px solid #00a191;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-radius: 5px;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
    color: black;
    padding: 10px 0;
    margin-top: 3vh;
  }
  .plan_smf .plan_under .plan_use {
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    background-color: white;
    border-radius: 10px;
    padding-top: 5px;
    margin-top: 2vh;
  }
  .plan_smf .plan_under .plan_use h5 {
    font-size: 16px;
    text-align: center;
    color: #00a191;
    margin-top: 10px;
    margin-bottom: 0;
  }
  .plan_smf .plan_under .plan_use h5 .plan_span {
    font-size: 30px;
  }
  .plan_smf .plan_under .plan_use h5 .letter_span {
    font-size: 30px;
  }
  .plan_smf .plan_under .plan_use .h5_two {
    margin-bottom: 10px;
  }
  .plan_smf .plan_under .plan_use .box_top {
    padding: 10px;
    width: 90%;
    margin: 0 auto;
  }
  .plan_smf .plan_under .plan_use h4 {
    margin-bottom: 0;
    margin-top: 20px;
    font-size: 16px;
  }
  .plan_smf .plan_under .plan_use .box {
    width: 100%;
    margin: 0 auto;
  }
  .plan_smf .plan_under .plan_use .box p {
    font-size: 13px;
    width: 100%;
    border-top: 1px dashed black;
    padding-top: 15px;
    color: black;
  }
  .plan_smf .plan_under .plan_use .box p span {
    font-weight: bold;
    border-bottom: 3px solid #2a9102;
    font-weight: 1vw;
  }
  .plan_smf .plan_under .plan_use .p_last {
    border-bottom: 1px dashed black;
    padding-bottom: 15px;
  }
  .plan_smf .plan_under .plan_use .box_under p {
    font-size: 12px;
    width: 100%;
    color: black;
  }
  .plan_smf .plan_under .plan_use .box_under .box_option h4 {
    margin-bottom: 15px;
  }
  .plan_smf .plan_under .plan_use .box_under .box_option p {
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .plan_smf .plan_under_two {
    width: 85%;
    margin: 0 auto;
    gap: 10px;
    background-color: #2595be;
    border-radius: 10px;
    padding: 20px;
  }
  .plan_smf .plan_under_two b {
    font-size: 16px;
  }
  .plan_smf .plan_under_two h3 {
    text-align: center;
    font-size: 20px;
    background-color: #2595be;
    padding: 3px 0;
    border-radius: 5px;
    width: 85%;
    margin: 0 auto;
    margin-top: 3vh;
    color: white;
    font-weight: bold;
  }
  .plan_smf .plan_under_two .use_p {
    font-size: 14px;
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
    text-align: center;
  }
  .plan_smf .plan_under_two .plan_a {
    background-color: white;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-radius: 5px;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
    color: black;
    border: 2px solid #2595be;
    padding: 10px 0;
    margin-top: 3vh;
  }
  .plan_smf .plan_under_two .plan_use {
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    background-color: white;
    border-radius: 10px;
    padding-top: 5px;
    margin-top: 2vh;
  }
  .plan_smf .plan_under_two .plan_use h5 {
    font-size: 16px;
    text-align: center;
    color: #2595be;
    margin-top: 10px;
    margin-bottom: 0;
  }
  .plan_smf .plan_under_two .plan_use h5 .plan_span {
    font-size: 30px;
  }
  .plan_smf .plan_under_two .plan_use h5 .letter_span {
    font-size: 30px;
  }
  .plan_smf .plan_under_two .plan_use .h5_two {
    margin-bottom: 10px;
  }
  .plan_smf .plan_under_two .plan_use .box_top {
    padding: 10px;
    width: 90%;
    margin: 0 auto;
  }
  .plan_smf .plan_under_two .plan_use h4 {
    margin-bottom: 0;
    margin-top: 20px;
    font-size: 16px;
  }
  .plan_smf .plan_under_two .plan_use .box {
    width: 100%;
    margin: 0 auto;
  }
  .plan_smf .plan_under_two .plan_use .box p {
    font-size: 13px;
    width: 100%;
    border-top: 1px dashed #2595be;
    padding-top: 15px;
    color: black;
  }
  .plan_smf .plan_under_two .plan_use .box p span {
    font-weight: bold;
    border-bottom: 3px solid #2a9102;
    font-weight: 1vw;
  }
  .plan_smf .plan_under_two .plan_use .p_last {
    border-bottom: 1px dashed black;
    padding-bottom: 15px;
  }
  .plan_smf .plan_under_two .plan_use .box_under p {
    font-size: 12px;
    width: 100%;
    color: black;
  }
  .plan_smf .plan_under_two .plan_use .box_under .box_option h4 {
    margin-bottom: 15px;
  }
  .plan_smf .plan_under_two .plan_use .box_under .box_option p {
    font-size: 12px;
    margin-top: 5px;
    margin-bottom: 5px;
  }
  .plan_smf .accordion {
    margin: 1em auto;
    max-width: 98%;
    margin-bottom: 0vh;
  }
  .plan_smf .accordion_under {
    width: 100%;
    margin: 0;
    padding: 10px 0;
  }
  .plan_smf .toggle {
    display: none;
  }
  .plan_smf .option {
    font-size: 13px;
    position: relative;
    margin: 0 auto;
    margin-bottom: 1em;
    color: black;
    width: 100%;
    border-bottom: 2px solid white;
  }
  .plan_smf .title,
  .plan_smf .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .plan_smf .title {
    padding: 1em;
    display: block;
    color: #333;
    border: 1px solid #000000;
    border-radius: 10px;
  }
  .plan_smf .title::after,
  .plan_smf .title::before {
    content: "";
    position: absolute;
    right: 5%;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background-color: #333;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .plan_smf .title::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .plan_smf .content {
    max-height: 0;
    overflow: hidden;
  }
  .plan_smf .content p {
    margin: 0;
    padding: 0.5em 1em 1em;
    font-size: 0.9em;
    line-height: 1.5;
  }
  .plan_smf .toggle:checked + .title + .content {
    max-height: 500px;
    -webkit-transition: all 1.5s;
    transition: all 1.5s;
  }
  .plan_smf .toggle:checked + .title::before {
    -webkit-transform: rotate(90deg) !important;
            transform: rotate(90deg) !important;
  }
  .sche {
    position: relative;
    margin-bottom: 10vh;
  }
  .sche h2 {
    font-size: 1.8rem;
    text-align: center;
  }
  .sche b {
    display: block;
    text-align: center;
  }
  .sche .sche_group {
    margin-top: 5vh;
  }
  .sche .sche_under {
    width: 95%;
    margin: 0 auto;
    margin-top: 3vh;
  }
  .sche .sche_under img {
    display: block;
    width: 50%;
    margin-left: 25px;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-box-shadow: 0px 0px 0px 0 rgba(0, 0, 0, 0.5);
            box-shadow: 0px 0px 0px 0 rgba(0, 0, 0, 0.5);
    margin-top: 35px;
  }
  .sche .sche_under h3 {
    margin-bottom: 0;
    margin-top: 1.5vh;
    margin-left: 5%;
  }
  .sche .sche_under p {
    margin: 0 auto;
    margin-top: 1vh;
    margin-bottom: 0;
    letter-spacing: 1px;
    font-size: 14px;
    width: 90%;
  }
  .sche .sche_line {
    position: absolute;
    display: block;
    height: 85%;
    width: 8px;
    background: -webkit-gradient(linear, left top, left bottom, from(#05FBFF), to(#1D62F0)) fixed;
    background: linear-gradient(#05FBFF, #1D62F0) fixed;
    top: 18%;
    left: 18%;
  }
  .question {
    overflow: hidden;
    padding: 5vh 0px;
  }
  .question b {
    display: block;
    text-align: center;
    font-size: 20px;
  }
  .question h2 {
    text-align: center;
    font-size: 1.8rem;
  }
  .question .accordion {
    margin: 2em auto;
    max-width: 98%;
    margin-bottom: 3vh;
  }
  .question .accordion_under {
    width: 90%;
    margin: 0;
    padding: 10px 0;
  }
  .question .toggle {
    display: none;
  }
  .question .option {
    font-size: 13px;
    position: relative;
    margin: 0 auto;
    margin-bottom: 1em;
    color: black;
    width: 100%;
    border-bottom: 2px solid white;
  }
  .question .title,
  .question .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .question .title {
    padding: 1em;
    display: block;
    color: #333;
  }
  .question .title::after,
  .question .title::before {
    content: "";
    position: absolute;
    right: -5%;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background-color: #333;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .question .title::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .question .content {
    max-height: 0;
    overflow: hidden;
  }
  .question .content p {
    margin: 0;
    padding: 0.5em 1em 1em;
    font-size: 0.9em;
    line-height: 1.5;
  }
  .question .toggle:checked + .title + .content {
    max-height: 500px;
    -webkit-transition: all 1.5s;
    transition: all 1.5s;
  }
  .question .toggle:checked + .title::before {
    -webkit-transform: rotate(90deg) !important;
            transform: rotate(90deg) !important;
  }
  .contact_last {
    margin-top: 3vh;
  }
  .contact_last h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  .contact_last b {
    display: block;
    text-align: center;
  }
  .contact_last .contact_last_under {
    width: 90%;
    margin: 0 auto;
  }
  .contact_last label {
    line-height: 25px;
    font-size: 15px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  .contact_last label .must {
    color: white;
    background-color: #00a191;
    padding: 0px 3px;
    font-size: 13px;
  }
  .contact_last label .cummon {
    width: 100%;
    height: 25px;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    background-color: white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 2px solid white;
    border: 3px solid #000000;
    border: 3px solid #00a191;
  }
  .contact_last label .text_area {
    width: 100%;
    display: block;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    height: 34vh;
    border: 2px solid white;
    -webkit-box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
            box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border: 3px solid #00a191;
  }
  .contact_last label .drop {
    height: 25px;
    display: block;
    width: 30%;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  .contact_last .submit {
    display: block;
    cursor: pointer;
    width: 80%;
    font-size: 16px;
    margin: 0 auto;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
    color: white;
    border-radius: 30px;
    padding: 15px 0;
    background-color: orangered;
    border: 2px solid white;
  }
  footer {
    width: 100%;
    margin-bottom: 0vh;
    background-color: #f3f3f3;
    background-color: white;
  }
  footer div {
    width: 100%;
  }
  footer div iframe {
    display: block;
    height: 40vh;
  }
  footer .fotter_link {
    width: 100%;
    margin-left: auto;
  }
  footer .fotter_link .logo {
    display: block;
    width: 40%;
    margin: 0 auto;
    padding-top: 5vh;
    margin-bottom: 5vh;
  }
  footer .fotter_link li {
    margin-top: 2vh;
    font-size: 13px;
    font-weight: normal;
    list-style: none;
    border-bottom: 1px solid #2a2a2a;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 90%;
    margin-right: 5%;
  }
  footer .fotter_link li a {
    text-decoration: none;
    margin: 0 auto;
    margin-left: 3%;
    color: black;
    margin-bottom: 0;
    text-decoration: none;
    font-weight: normal;
    color: white;
    color: black;
  }
  .last {
    margin-top: 0;
    margin-bottom: 0;
    color: white;
    padding: 5px 0;
    text-align: center;
    background-color: #333;
    margin-top: 5vh;
  }
}

@media screen and (max-width: 640px) {
  :root {
    --bg:#fff;
    --ink:#222;
    --sub:#555;
    --brand:#27b36a;
    /* LINEっぽい安心感のある緑 */
    --brand-dark:#1e8f54;
    --accent:#2b6cb0;
    /* リンク/ボタンの青（お好みで） */
    --muted:#f6f7f9;
    --border:#e6e7ea;
    --radius:14px;
    --shadow:0 6px 18px rgba(0,0,0,.08);
    --space-1:8px;
    --space-2:12px;
    --space-3:16px;
    --space-4:20px;
    --space-5:28px;
    --space-6:40px;
    --maxw:1040px;
  }
  /* =========================
   ヘッダー（ヒーロー）
   ========================= */
  header {
    padding: var(--space-3);
    position: relative;
    margin-top: 5em;
  }
  .logo {
    width: 160px !important;
    height: auto;
    margin: 6px 0 14px;
  }
  .syurouB {
    position: absolute;
    top: 8vw;
    display: block;
    width: 48%;
    -o-object-fit: cover;
       object-fit: cover;
    height: 35em;
    right: 0vw;
    border-radius: 5vw;
    z-index: 0;
    display: none;
  }
  .header_in {
    display: -ms-grid;
    display: grid;
    gap: var(--space-4);
  }
  .h1 h1 {
    margin-top: 5em;
    display: block;
    margin-top: 5em;
  }
  .h1 h1 span {
    display: inline-block;
    color: var(--brand);
  }
  .h1 p {
    color: var(--sub);
    margin: 0 0 var(--space-3);
    font-size: 15px;
  }
  .header_btn {
    display: inline-block;
    background: var(--accent);
    color: #fff;
    padding: 14px 18px;
    border-radius: var(--radius);
    font-weight: 700;
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
  /* 連絡ブロック */
  .lineaction {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: var(--space-4);
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
  .lineaction h2 {
    font-size: clamp(18px, 4.8vw, 22px);
    text-align: center;
    margin: 0 0 var(--space-2);
  }
  .lineaction p {
    text-align: center;
    color: var(--sub);
    margin: 0 0 var(--space-3);
  }
  .soudan, .soudanabout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    gap: var(--space-2);
    margin-top: var(--space-2);
  }
  .mailsoudan, .linesoudan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 52px;
    border-radius: 12px;
    font-weight: 700;
    border: 1px solid var(--border);
    background: #fff;
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
  .mailsoudan {
    background-color: orangered;
    color: white;
  }
  .linesoudan {
    background: var(--brand);
    color: #fff;
    border-color: transparent;
  }
  .mailsoudan:active, .linesoudan:active {
    -webkit-transform: translateY(1px);
            transform: translateY(1px);
  }
  /* =========================
   固定TELバー（スマホ強化）
   ========================= */
  .kotei_tel {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    inset-inline: 0;
    background-color: #f6ff00;
    color: #fff;
    padding: 10px var(--space-3);
    z-index: 50;
    display: block;
    margin: 0 auto;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 12px;
    padding: 1em 0;
  }
  .kotei_tel p {
    margin: 0;
    font-size: 13px;
    opacity: .9;
    color: #000000;
  }
  .kotei_tel a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px 14px;
    background: #00a884;
    /* 通話連想カラー */
    color: #fff;
    border-radius: 10px;
    font-weight: 800;
    -webkit-box-shadow: var(--shadow);
            box-shadow: var(--shadow);
  }
}
/*# sourceMappingURL=top_page.css.map */