@charset "UTF-8";
small{font-size: 76%;}
.en{
  font-family: "Inter", sans-serif;
}
.center{
  text-align: center;
}
button.request {
  border: 0.7vw solid #fff;
  border-radius: 0.8vw;
  font-size: 2vw;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(0deg, #0a7582, #3bdae0 );
  padding: 2.4vw 5.4vw;
  box-shadow: 0.3vw 0.3vw 0.5vw rgba(35, 35, 35, 0.2);
  cursor: pointer;
}
#site-main {
  position: relative;
  z-index: 0;
}
.headline {
  text-align: center;
}
.section .headline__title {
  line-height: 1;
  font-size: 3.2vw;
  font-weight: 900;
  letter-spacing: 0;
  padding: 0.5vw 0 3.5vw;
}
.section .headline__title.line {
  /* text-decoration: underline #fff 0.7vw; */
  text-decoration-line: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 21%;
  text-underline-offset: -0.01em;
}

/* .section .headline__title span.en {
  display: block;
  color: #957751;
  font-family: "Inter", sans-serif;
  font-size: 3.4vw;
  font-weight: 800;
} */

/* .section-hero {
  padding: 20px;
} */

/* @media only screen and (max-width: 767px) {
  .section-hero {
    padding: 10px;
  }
} */

.section-hero .content {
  position: relative;
}

.section-hero .imgarea {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section-hero .imgarea .swiper-slide{
    width: 100vw;
    height: 56vw;
  }
}
/* .section-hero .imgarea::before {
  content: "";
  display: block;
  width: 100%;
  height: 150px;
  background: linear-gradient(to bottom, #002347, rgba(255, 255, 255, 0));
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.5;
  mix-blend-mode: multiply;
  z-index: 2;
} */

@media only screen and (max-width: 767px) {
  .section-hero .imgarea::before {
    height: 75px;
  }
}


 .section-hero .imgarea .img img {
  width: 100%;
  /* height: calc(100vh - 140px); */
  object-fit: cover;
  font-family: 'object-fit: cover;';
  object-position: 50% 20%;
} 

/* .section-hero .imgarea .img.earth img {
  object-position: 50% 50%;
} */

@media only screen and (max-width: 767px) {
  .section-hero .imgarea .img.earth img {
    object-position: 76% 20%;
  }

  .section-hero .imgarea .img.security img {
    object-position: 75% 20%;
  }
}

.section-hero .txt {
  position: absolute;
  bottom: 11%;
  left: 10%;
  z-index: 9;
  color: #fff;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .section-hero .txt {
    left: 0;
    bottom: -9vw;
    width: 100%;
    padding: 0 2.5vw;
  }
}

.section-hero .txt .main-title{
  margin-bottom: 1.5vw;
  position: relative;
}
.section-hero .txt .main-title:before{
  content: "";
  background: url(../img/wp-logo.png) center /contain no-repeat;
  position: absolute;
  width: 20vw;
  height: 20vw;
  top: -13.5vw;
  left: -6.5vw;
  z-index: -1;
}
.section-hero .txt .main-title span{
  font-size: 3.2vw;
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 0.78;
  margin-bottom: 1.6vw;
  padding: 1.1vw 0.8vw;
  background: #fff;
  color: #262626;
  display: inline-block;
  margin: 0;
}
/* .section-hero .txt .main-title-jp {
  font-size: 3.4vw;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1vw;
  letter-spacing: 0.1em;
} */
.section-hero .txt .main-title-sub{
  font-size: 1.2vw;
  font-weight: 700;
  letter-spacing: 0.0em;
  margin-bottom: 8.5vw;
}
.section-hero .txt .main-title-sub span{
  /* font-size: 1.2vw;
  font-weight: 700;
  letter-spacing: 0.0em;*/
  background: #262626;
  /*margin-bottom: 8.5vw; */
  padding: 0.2vw 0.5vw;
}


@media only screen and (max-width: 767px) {
  .section-hero .txt .main-title {
    margin-bottom: 3vw;
  }
  /* .section-hero .txt .main-title-jp {
    font-size: 7vw;
    margin-bottom: 3vw;  
  } */
  .section-hero .txt .main-title-sub {
    font-size: 3.6vw;
    line-height: 1.5;
    margin-bottom: 11vw;
  }
  .section-hero .txt .main-title:before{
    width: 35vw;
    height: 35vw;
    background-size: contain;
    top: -31vw;
    left: -8vw;
}
.section-hero .txt .main-title span{
  font-size: 6.5vw;
    padding: 1.3vw 1.8vw;
    line-height: 1;
}
.section-hero .txt .main-title-sub span{
  padding: 0.5vw 1vw;
}
button.request{
  font-size: 4vw;
    border-width: 1.3vw;
    border-radius: 2vw;
    padding: 5vw 10vw;
    display: block;
    margin: auto;
}

}

.section-hero .txt .lead {
  font-size: 1.8rem;
  font-size: 1.32353vw;
}

@media only screen and (max-width: 767px) {
  .section-hero .txt .lead {
    font-size: 1.1rem;
  }
}

/* .section-hero .txt.en {
  right: auto;
  left: 7.5%;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .section-hero .txt.en {
    left: 0;
  }
}

@media only screen and (max-width: 767px) {
  .section .headline__title span.en{
    font-size: 10vw;
    padding-bottom: 2vw;
    }
} */

.section {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7vw), 50% 100%, 0 calc(100% - 7vw))
}
.section .section-content {
  width: 80vw;
  margin: auto;
  padding: 6.5vw 0 4.5vw;
}
.section-content .pc-flex img{
  width: 100%;
}
.section-content .headline{  
  padding: 6vw 0 4vw;
}

.section-trouble {
  background: linear-gradient(0deg, #d3fbfb, #fbdd97);
}
.section-quality,
.section-price {
  background-image: linear-gradient(-45deg, #fff 25%, #f6f6f6 25%, #f6f6f6 50%, #fff 50%, #fff 75%, #f6f6f6 75%, #f6f6f6);
  background-size: 1.85vw 1.85vw;
  margin-top: -6.5vw;
  padding-top: 6.5vw;
  z-index: -1;
  position: relative;
}
.section-trouble .section-content{
  padding-top: 0;
}
.section-quality .flex:has(.flex-box){
  gap: 4%;
  align-items: flex-start;
}
.section-quality .flex-box:first-child{
  width: 50%;
}
.section-quality .flex-box:last-child{
  width: 46%;
  gap: 1.4vw;
}
.section-quality .col{
  color: #6ec878;
}
.section-quality .flex-box > p,
.section-price .flex-box > p {
  padding: 0 0 1vw 0.6vw;
  font-weight: 500;
}
.section-quality .headline__title{
  padding: 3.4vw 0 2.0vw;
}
.section-quality .headline__title > span{
  border: 0.15vw solid #6ec878;
  line-height: 0.78;
  margin-bottom: -0.15vw;
  padding: 1.0vw 0.3vw 1vw 0.8vw;
  background: #fff;
  display: inline-block;
}

button.corporate{
  background: #4c4c4c;
  border-radius: 0.8vw;
  font-weight: 900;
  color: #fff;
  padding: 1.4vw 4.4vw;
  margin-top: 1vw;
  gap: 1vw;
}
button.corporate:before{
  content: "";
  background: url(../img/corp-logo.svg) center / contain no-repeat;
  position: relative;
  width: 8.5vw;
  height: 2vw;
  display: inline-block;
}
.section-quality .txt {
  width: 72%;
  font-size: 1.08vw;
  font-weight: 400;
}
.section-quality .txt span {
  display: block;
  padding-bottom: 0.5vw;
}
.section-quality a, 
.section-price a{ 
  text-align: center;
  display: block;
}
.section-quality button.request{
  margin: 6.5vw 0 2vw;
}


ul.list{ 
  gap: 2vw 1.5vw;
  justify-content: center;
  flex-wrap: wrap;
}
ul.list li {
  background: #FFF;
  padding: 1.55vw 2.3vw;
  box-shadow: 0.3vw 0.3vw 0.5vw rgba(35, 35, 35, 0.2);
  border-radius: 0.8vw;
  font-size: 1.22vw;
  letter-spacing: -0.01em;
  font-weight: 500;
  overflow: hidden;
}
.section-quality ul.list li {
  gap: 2.5vw;
  padding: 1.3vw 2.3vw 2vw;
}
.section-trouble ul.list li:before {
  content: "";
  width: 3vw;
  height: 3vw;
  background: url(../img/checkbox.svg) center /contain no-repeat;
  margin: 0 1.2vw 0 0;
}
.section-quality ul.list li:before {
  content: "POINT";
  background: #6ec878;
  color: #FFF;
  position: absolute;
  top: -0.8vw;
  left: -0.9vw;
  transform: rotate(-45deg);
  padding: 1.5vw 2vw 0.1vw;
  font-size: 0.8vw;
  font-weight: 700;
  transform-origin: bottom center;
}
.section-quality ul.list li .img {
  width: 7vw;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-top: 1vw;
}
ul.list li span {
  font-size: 1.6vw;
  font-weight: 900;
}


.section-flow,
.section-qa{
  background: #f6f6f6;
  margin-top: -6.5vw;
  padding-top: 6.5vw;
  z-index: -2;
  position: relative;
}
.section-flow .section-content{
  padding: 5vw 0 9vw;
}
.section-flow .flex:has(.flex-box){
  gap: 2.4%;
  align-items: flex-start;
}
.section-flow .flex-box:first-child{
  width: 40%;
}
.section-flow .flex-box:last-child{
  width: 57%;
  gap: 0.4vw;
  justify-content: flex-start;
}
.section-flow .col{
  color: #f6c243;
}
.section-flow .flex-box:first-child img{
  padding-left: 1.5vw;  
}
.section-flow .flex-box:first-child p{
  padding-left: 0.8vw;  
}
.section-flow .headline__title{
  padding: 2.0vw 0;
}
.section-flow .headline__title > span{
  border: 0.15vw solid #f6c243;
  line-height: 0.78;
  margin-bottom: -0.15vw;
  padding: 1.0vw 0.3vw 1vw 0.8vw;
  background: #fff;
  display: inline-block;
}
.section-flow .txt,
.section-qa .txt {
  font-size: 1.08vw;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  gap: 1vw;
  align-items: flex-start;
  padding-top: 1vw;

}
.txt h5{font-size: 2vw; font-weight: 900; display: flex;}
.section-flow h5.free::after{
  content: "無料";
  background: #e5004f;
  color: #fff;
  padding: 0.5vw 0.9vw;
  margin-left: 1vw;
  border-radius: 0.3vw;
  font-size: 1.15vw;
}
.section-flow ul.list li{
  background: transparent;
  box-shadow: none;
  padding: 0;
  gap: 1.4vw;
  align-items: flex-start;
}
ul.flow.list > p {
    color: #e5004f;
    text-align: center;
    font-size: 1.6vw;
    font-weight: 900;
    margin-bottom: 1vw;
    margin-left: 6vw;
    letter-spacing: 0;
}
.section-flow .txt h5 small{
  font-size: 61%;
  height: fit-content;
  margin: auto;
}


.section-price .col{
  color: #5fc1c7;
}
.section-price {
  z-index: -3;
}
.section-price .section-content{
  padding-top: 5vw;
}
.section-price .flex:has(.flex-box){
  gap: 2%;
  align-items: flex-start;
}
.section-price .flex-box:first-child {
    width: 43%;
    padding-left: 4.1vw;
}
.section-price .flex-box:last-child{
  width: 55%;
}
.section-price .headline__title {
    padding: 6.3vw 0 2vw;
}
.section-price .headline__title > span {
    border: 0.15vw solid #5fc1c7;
    line-height: 0.78;
    margin-bottom: -0.15vw;
    padding: 1.0vw 0.3vw 1vw 0.8vw;
    background: #fff;
    display: inline-block;
}
.section-price .list .flex-box {
    width: 49%;
    flex-direction: column;
}
.section-price .flex:has(.flex-box):not(.list){
  height: 32vw;
}
.section-price .pc-flex + .pc-flex.list {
    margin: 3vw 1.5vw 0;
    gap: 4vw 1.5vw;
    justify-content: center;
    flex-wrap: wrap;
}
.section-price .pc-flex.list .flex-box {
    border: 0.7vw solid #5fc1c7;
    border-radius: 1vw;
    /* margin: 0 1.5vw; */
    padding: 1vw 3vw;
    align-items: flex-start;
    /* gap: 0; */
    background: #fff;
}
.section-price .pc-flex.list h5 {
    position: absolute;
    padding: 1vw 2vw;
    top: -2vw;
    left: 50%;
    transform: translate(-50%);
    background: #5fc1c7;
    font-size: 1.2vw;
    font-weight: 900;
    border-radius: 2vw;
    color: #fff;
}
.section-price .pc-flex.list strong {
    font-size: 2.3vw;
    font-weight: 900;
    padding: 1.5vw 0 0.5vw 0.6vw;
    /* margin: auto; */
}
.section-price button.request {
    margin: 8.5vw 0 3.5vw;
}

.section-qa{
  z-index: -4;
  clip-path: none;
}
.section-qa .section-content {
    padding: 7vw 0 5vw;
    width: 67vw;
    text-align: center;
}
.section-qa .headline__title,
.section-form .headline__title{
  text-align: center;
}
.section-qa .headline__title {
    padding: 0 0 3vw;
}
.qa-list.flex{
  flex-direction: column;
  padding-top: 2vw;
  /* border-top: 0.3vw solid #fff; */
}
.qa-list li.txt{
  border-top: 0.3vw solid #fff;
  padding: 3vw 2vw 2.7vw 5.2vw;
  font-size: 1.15vw;
  font-weight: 600;
  gap: 1.3vw;
  width: 100%;
  text-align: left;
}
.section-qa h5{
  /* text-decoration: underline 0.3vw #fff100; */
  text-decoration-line: underline;
  text-decoration-color: #fff100;
  text-decoration-thickness: 20%;
  text-underline-offset: -0.1vw;
  text-decoration-skip-ink: none;
  position: relative;
  line-height: 1.7;
  letter-spacing: 0;
}
.section-qa li.txt h5:before {
    content: "Q．";
    position: absolute;
    right: 100%;
}

.section-form{
  background: #f6f6f6;
  margin-top: 0;
  padding-top: 0.5vw;
  padding-bottom: 16vw;
  position: relative;
  clip-path: none;
}
.section-form .section-content{
  padding: 8vw 14vw;
  background: #fff;
  box-shadow: 0.2vw 0.2vw 0.3vw #ddd;
  border-radius: 1.4vw;
  /* margin-bottom: 16vw; */
}
.section-form .headline__title{
  padding-bottom: 5vw;
}
.call {
    font-weight: 900;
    font-size: 1.2vw;
    letter-spacing: 0;
}
.tel {
    font-size: 2.4vw;
}

.contact-content-form form {
    max-width: 710px;
    margin: 6.7vw auto 1.5vw 0;
}
.contact-content-form-row {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 200px 10px 1fr;
    grid-template-columns: 200px 1fr;
    grid-gap: 20px 10px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    margin-bottom: 60px;
}
.contact-content-form-row-label {
    font-size: 16px;
    line-height: 2.25;
    letter-spacing: 0.05em;
    font-weight: 400;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 36px 17px 1fr;
    grid-template-columns: 36px 1fr;
    grid-gap: 17px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 52px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0;
}
.contact-content-form-row-label .required {
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 400;
    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: 21px;
    color: #ffffff;
    background-color: #a40000;
    border-radius: 4px;
}
.contact-content-form-row-input p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 10px;
    min-height: 52px;
}
.wpcf7-form-control-wrap {
    position: relative;
}
.contact-content-form input[type=email], 
.contact-content-form input[type=tel], 
.contact-content-form input[type=text], 
.contact-content-form select, 
.contact-content-form textarea {
    font-size: 16px;
    line-height: 2.25;
    letter-spacing: 0.05em;
    font-weight: 400;
    width: 100%;
    max-width: 500px;
    padding: 9px 17px;
    border: solid 1px #b3b3b3;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    background-color: #ffffff;
}
.contact-content-form textarea {
    line-height: 1.5;
}
span:has(.select_wrapper)::after {
    content: "";
    position: absolute;
    top: 19px;
    right: 30px;
    width: 10px;
    height: 10px;
    border: 5px solid transparent;
    border-top: 9px solid #262626;
}

.contact-content-form select{
    -webkit-appearance: none;
    appearance: none;
    line-height: 1.8;
    padding-right: 70px;
}
.contact-content-form-pp {
    margin-top: 50px;
    margin-bottom: 65px;
    text-align: center;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 1em;
}
.contact-content-form .wpcf7-list-item {
    margin-left: 0;
}
label:has(input[type=checkbox]) {
    cursor: pointer;
}
input[type=checkbox] {
    all: revert;
}
.contact-content-form-pp .wpcf7-list-item-label {
    font-size: 14px;
    font-weight: 300;
}
.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
    content: " ";
}
.contact-content-form-pp .wpcf7-list-item-label a {
    display: inline-block;
    border-bottom: solid 1px #221815;
}
input::placeholder {
  opacity: 0.3;
}
.contact-content-form-button {
    width: 115%;
}
.contact-content-form-button p {
    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;
    gap: 20px;
}
.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
}
.button-large-white {
    font-size: 14px;
    line-height: 2.1428571429;
    letter-spacing: 0.05em;
    font-weight: 400;
    position: relative;
    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;
    max-width: 100%;
    min-height: 50px;
    padding: 5px 23px;
    color: #ffffff;
    background-color: #ffffff;
    border-radius: 100vw;
    border: solid 1px #ffffff;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
    opacity: 1;
    color: #221815;
    border: solid 1px #221815;
    font-size: 24px;
    line-height: 2.9166666667;
    letter-spacing: 0.5em;
    font-weight: 700;
    min-height: 100px;
    padding: 10px 120px;
    font-family: YakuHanRP, "fot-tsukuardgothic-std", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: 0;
    border-radius: 10px;
}
.button-large-gray {
    font-size: 14px;
    line-height: 2.1428571429;
    letter-spacing: 0.05em;
    font-weight: 400;
    position: relative;
    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;
    max-width: 100%;
    min-height: 50px;
    padding: 5px 23px;
    color: #ffffff;
    background-color: #404040;
    border-radius: 100vw;
    border: solid 1px #404040;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
    opacity: 1;
    font-size: 24px;
    line-height: 2.9166666667;
    letter-spacing: 0.5em;
    font-weight: 700;
    min-height: 100px;
    padding: 10px 120px;
    /* font-family: YakuHanRP, "fot-tsukuardgothic-std", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; */
    font-weight: 700;
    letter-spacing: 0;
    border-radius: 10px;
    filter: drop-shadow(5px 5px 8px rgba(53, 53, 53, 0.5));
}
.page--top .button-large-gray{
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
    filter: none;
}

.page--top .button-large-gray.active{
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
    filter: drop-shadow(5px 5px 8px rgba(53, 53, 53, 0.5));
}
input[type=button], input[type=submit] {
    cursor: pointer;
}
.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
}
.contact-content-form .wpcf7-spinner {
    display: none;
}
.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
}
fieldset.hidden-fields-container {
    display: none;
}

.confirm .contact-content-form-row-input p{
  padding-top: 1rem;
  white-space: pre-wrap;
}
.confirm .section-form, .thanks .section-form{ padding-top:10vw; }

@media only screen and (max-width: 767px) {
  small {
    font-size: 86%;
    letter-spacing: 0;
    display: block;
    margin-top: 8vw;
}
  .section .flex-box img {
    width: 100%;
  }
  .section .section-content {
    width: 87vw;
    /* padding: 13vw 6vw 18vw; */
  }
  .section-trouble .section-content {
    width: 90vw;
  }
  .section-content .headline {
    padding: 19vw 0 8vw;
  }
  .section-content .headline:last-child {
    padding: 9vw 0 8vw;
  }
  .section .headline__title{
    padding: 0 0 6vw;
    font-size: 6.2vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  /* .section .headline__title.line {
    text-decoration: underline #fff 1.4vw;
  } */
  .section-content .headline p {
    text-align: left;
    font-size: 3.5vw;
    padding: 0 1.5vw;
    letter-spacing: 0;
  }
  ul.list{
    gap: 3.9vw 0;
  }
  ul.list li{
    font-size: 3.2vw;
    flex-wrap: wrap;
    padding: 2.9vw 5vw;
    position: relative;
    padding-left: 13vw;
    border-radius: 1.5vw;
    box-shadow: 0.6vw 0.6vw 1vw rgba(35, 35, 35, 0.2);
    line-height: 6.4vw;
  }
  ul.list li.w90 {
    width: 81vw;
  }
  ul.list li.w95 {
    width: 85vw;
  }
  ul.list li.w80 {
    width: 77vw;
  }
  .section-trouble ul.list li:before{
    width: 6vw;
    height: 6vw;
    background-size: contain;
    margin-right: 0;
    position: absolute;
    top: 3vw;
    left: 5vw;
  }
  ul.list li span{
    font-size: 5vw;
  }
  .section .pc-flex > .flex-box {
    width: 100%;
  }
  .section-quality, .section-price{
    background-size: 3.8vw 3.8vw;
  }
  .section-quality .section-content {
    padding: 10vw 0;
    width: 87vw;
  }
  .section-quality .flex-box:first-child{ /*width: 100%;*/ gap: 4vw;}
  .section-quality .flex-box:last-child{ /*width: 100%;*/ gap: 4vw; }
  .section-quality .flex-box:has(.headline__title) img {
    width: 90%;
    margin: 0 7% 8vw 3%;
    display: block;
  }
  .section .headline__title > span{
    padding: 2vw 0.6vw 2vw 1.6vw;
  }
  .section-quality .flex-box > p, .section-price .flex-box > p{ padding: 0;}
  button.corporate{
    padding: 3.8vw 13vw;
    border-radius: 1.6vw;
    margin: 5vw auto 11vw;
    gap: 3vw;
    font-size: 2.8vw;
    letter-spacing: -0.05em;
  }
  button.corporate:before{
    width: 26vw;
    height: 7vw;
  }
  .section-quality ul.list li{
    gap: 4.5vw;
    padding: 3.3vw 5vw 3.8vw;
  }
  .section-quality ul.list li:before{
    padding: 6.2vw 6vw 1vw;
    font-size: 2.4vw;
    top: -4vw;
    left: -3vw;
    line-height: 1.4;
  }
  .section-quality ul.list li .img{
    width: 14vw;
    align-self: auto;
  }
  .section-quality .txt{
    width: 56vw;
    font-size: 3.4vw;
    font-weight: 300;
    line-height: 1.9;
  }
  .section-quality button.request{
    margin: 15vw auto 8vw;
  }
  .section-flow .flex-box:first-child img {
    padding-left: 1.5vw;
    width: 72%;
    margin: 11vw auto 5vw;
    display: block;
}
.section-flow .flex-box:first-child p{
  padding: 0 0 11vw;
}
.section-flow .flex-box:last-child{
  gap: 7vw;
}
.section-flow ul.list li{
  gap: 3vw;
}
.section-flow li.flex .img {
    width: 20vw;
}
.section-flow .txt, .section-qa .txt{
  font-size: 3.5vw;
    gap: 3vw;
}
.section-flow li.flex .txt {
    width: 64vw;
}
.txt h5{ font-size: 4.8vw; flex-wrap: wrap;}
.section-flow h5.free::after{
  font-size: 3vw;
    padding: 1vw 2.4vw;
    border-radius: 1vw;
}
ul.flow.list > p{
  font-size: 4vw;
  margin: 0 1vw;
}
.section-flow .txt h5 small {
  margin: 0;
}
.section-flow .section-content{
  padding: 5vw 0 20vw;
}
.section-price .section-content {
    padding: 5vw 0 16vw;
}
.section-price .flex-box:first-child img {
  padding-left: 0;
  width: 71%;
  margin: 3.5vw auto 5vw 11%;
  display: block;
}
.section-price .pc-flex + .pc-flex.list {
    margin: 9vw auto 15vw;
}
.section-price .pc-flex.list .flex-box{
  gap: 1vw;
  width: 74vw;
    margin: 9vw auto;
    padding: 4vw 7vw 3vw;
    border-width: 1.5vw;
    border-radius: 2vw;
}
.section-price .pc-flex.list h5{
  font-size: 3vw;
    padding: 2vw 4vw;
    border-radius: 5vw;
    top: -5vw;
}
.section-price .pc-flex.list strong{
  font-size: 4.8vw;
    letter-spacing: 0;
    width: auto;
    margin: 0;
}
.section-price .list .flex-box > p{
  font-weight: 300;
    font-size: 3.2vw;
    letter-spacing: 0;
    line-height: 1.5;
}
.section-price .list small {
    font-size: 69%;
    font-weight: 700;
    display: inline;
}
  .section-price button.request{
    margin: auto;
  }
  .section-qa .section-content{
    padding: 18vw 0;
  }
  .section-qa .headline__title { padding-bottom: 4vw }
  .section-qa .headline__title + img {
  width: 30vw;
  }
  .qa-list.flex{
    padding-top: 5vw;
  }
  .qa-list li.txt{
    text-align: left;
    padding: 5vw 1vw 7.7vw 6.8vw;
    font-size: 3.4vw;
    letter-spacing: 0.01em;
    gap: 3vw;
    border-width: 0.5vw;
  }
  /* .section-qa h5{
    text-decoration: underline 1vw #fff100;
  } */
  .section-form .section-content{
    box-shadow: 0.5vw 0.5vw 1vw rgba(0, 0, 0, 0.2);
    border-radius: 3vw;
    padding: 13vw 6vw 40vw;
  }
  .call{ font-size: 3.6vw; }
  .tel{ font-size: 6.4vw; }
  .section-form small{ margin-top: 2vw; } 

  .contact-content-form-row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    grid-gap: 1vw;
    margin-bottom: 0;
  }
  .contact-content-form-row-label {
      -ms-grid-columns: 30px 10px 1fr;
      grid-template-columns: 30px 1fr;
      grid-gap: 10px;
      min-height: inherit;
  }
  .contact-content-form form{
    margin-top: 10vw;
  }
  .contact-content-form-row-label {
    font-size: 12px;
    line-height: 2;
  }
  .contact-content-form-row-label .required {
    min-height: 18px;
    font-size: 9px;
  }
  .contact-content-form-row-input p {
    gap: 5px;
  }
    .contact-content-form input[type=email], .contact-content-form input[type=tel], .contact-content-form input[type=text], .contact-content-form select, .contact-content-form textarea {
    padding: 7px 15px;
    font-size: 12px;
    line-height: 2;
  }
  .contact-content-form textarea{
    line-height: 1.5;
  }
  .contact-content-form-button{ width: 100%; }
  .contact-content-form-button p {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      gap: 10px;
  }
  .button-large-gray {
      min-height: 50px;
      padding: 4vw 11vw;
      line-height: 2;
      font-size: 5vw;
      border-radius: 1vw;
  }
  .page--top .button-large-gray.active{
    filter: drop-shadow(1vw 1vw 1vw rgba(53, 53, 53, 0.5));
  }
  .button-large-white {
    min-height: 50px;
    padding: 4vw 11vw;
    line-height: 2;
    font-size: 5vw;
    border-radius: 1vw;
  }
  .contact-content-form-pp{
    margin-bottom: 8vw;
  }
  .contact-content-form-pp .wpcf7-list-item-label{ font-size: 3.3vw; }
  .site-footer .brand-logo p{
    font-size: 4vw;
    margin-top : 7vw;
  }
  .confirm .section-form, .thanks .section-form{ padding-top:25vw; }

}
