body {
  margin: 0;
  padding: 0;
}

header *,
header *::before,
header *::after,
main *,
main *::before,
main *::after,
footer *,
footer *::before,
footer *::after {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header main,
main article,
main aside,
main details,
main figcaption,
main figure,
main footer,
main header,
main hgroup,
main menu,
main nav,
main section,
main main,
footer article,
footer aside,
footer details,
footer figcaption,
footer figure,
footer footer,
footer header,
footer hgroup,
footer menu,
footer nav,
footer section,
footer main {
  display: block;
}
header ul, header li,
main ul,
main li,
footer ul,
footer li {
  list-style: none;
}
header blockquote, header q,
main blockquote,
main q,
footer blockquote,
footer q {
  quotes: none;
}
header blockquote::before, header blockquote::after, header q::before, header q::after,
main blockquote::before,
main blockquote::after,
main q::before,
main q::after,
footer blockquote::before,
footer blockquote::after,
footer q::before,
footer q::after {
  content: "";
  content: none;
}
header a,
main a,
footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
  position: relative;
  z-index: 2;
  -webkit-transform: translateZ(1px);
          transform: translateZ(1px);
}
header a:hover,
main a:hover,
footer a:hover {
  opacity: 0.7;
}
header button,
main button,
footer button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
header address,
main address,
footer address {
  font-style: normal;
}
header ins,
main ins,
footer ins {
  color: #000;
  text-decoration: none;
}
header mark,
main mark,
footer mark {
  color: #000;
  font-style: italic;
  font-weight: bold;
}
header del,
main del,
footer del {
  text-decoration: line-through;
}
header table,
main table,
footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
header hr,
main hr,
footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
header input, header select,
main input,
main select,
footer input,
footer select {
  vertical-align: middle;
}
header button,
main button,
footer button {
  margin: 0;
}
header a,
header a:link,
header a:visited,
main a,
main a:link,
main a:visited,
footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
header img,
main img,
footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*========================================== 
  1.Common (PC)
========================================== */
main,
header,
footer {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
main .-tb,
main .-sp,
header .-tb,
header .-sp,
footer .-tb,
footer .-sp {
  display: none !important;
}
main .-pc,
header .-pc,
footer .-pc {
  display: block !important;
}

header {
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}
header .header_wrap {
  background: #4ABDF0;
  width: 100%;
  padding: 10px 16px 10px 27px;
  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: flex-start;
  position: fixed;
  top: 0;
  left: 0;
}
header .logo {
  width: 210px;
  padding-top: 20px;
}
.logo-wrap {
  display: flex;
}
.logo2-wrap {
  margin-right: auto;
  display: block;
  color: #000;
}
.logo2-content {
  padding: 10px;
  background-color: #fff;
  border-radius: 15px;
  margin-left: 20px;
  position: relative;
  display: block;
  height: auto;
  vertical-align: bottom;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  white-space: nowrap;
}
.responsive-img {
  display: none; /* 通常は非表示 */
}

@media screen and (max-width: 767px) {
  .responsive-img {
      display: block;
      width: 100%;
      max-width: 400px;
      margin: 10px auto;
  }
}
header .btn_wrap, header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;     
}
header li {
  padding: 0 30px;
  border-left: solid 1px #000;
}
header li:first-of-type {
  border: none;
}
header li a {
  font-size: 20px;
  color: #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
header li a:hover {
  color: #fff;
  opacity: 1;
}
header .contact_btn {
  width: 224px;
}
main {
  margin-top: 152px;
}
main .fade {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(35px);
          transform: translateY(35px);
}
main .fade.active {
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
main h2, main h3 {
  text-align: center;
}
main .wrap {
  max-width: 868px;
  padding: 0 14px;
  margin: auto;
  position: relative;
}
main .price,
main .case,
main .faq,
main .contact {
  position: relative;
  z-index: 0;
}
main .price::before,
main .case::before,
main .faq::before,
main .contact::before {
  content: "";
  width: 868px;
  height: 868px;
  border-radius: 50%;
  background: #B4F0FF;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
main .card {
  position: relative;
  background: #FFFFFF;
  border: 3px solid #000000;
  border-radius: 39px;
}
main .card .ttl_wrap {
  position: absolute;
  top: -45px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-shadow: 7px 7px 0px -3px #000000;
          box-shadow: 7px 7px 0px -3px #000000;
}
main .card .ttl {
  border: solid #000 2px;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .card-shadow {
  -webkit-box-shadow: 11px 11px 0px 0px #000000;
          box-shadow: 11px 11px 0px 0px #000000;
}

main .mv {
  background: #F2E759;
}
main .mv .wrap {
  max-width: 1120px;
  padding: 0;
  margin: auto;
  margin-top: 10px;
}

main .lead {
  background: #FFFAC0;
}
main .lead .problem {
  padding: 65px 0 87px;
}
main .lead h2 {
  font-size: 44px;
}
main .lead h2 span {
  font-size: 29px;
}
main .lead ul {
  margin-top: 70px;
  background: #FFFFFF;
  border: 2px solid #000000;
  border-radius: 29px;
  padding: 62px 6.9166666667% 64px 12.3333333333%;
  position: relative;
}
main .lead ul::before, main .lead ul::after {
  content: "";
  position: absolute;
  bottom: calc(100% + 2px);
}
main .lead ul::before {
  width: 156px;
  height: 206px;
  background: url("../img/woman_img.png") center center/contain no-repeat;
  left: 0;
}
main .lead ul::after {
  width: 142px;
  height: 223px;
  background: url("../img/man_img.png") center center/contain no-repeat;
  right: 24px;
}
main .lead li {
  font-size: 29px;
  position: relative;
  padding-left: 86px;
}
main .lead li::before {
  content: "";
  position: absolute;
  background: url("../img/check_icon.png") center center/contain no-repeat;
  width: 74px;
  height: 58px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .lead li + li {
  margin-top: 50px;
}
main .solution {
  background: #B4F0FF;
  position: relative;
}
main .solution::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 560px solid transparent;
  border-left: 560px solid transparent;
  border-top: 91px solid #fffac0;
  border-bottom: 0;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main .solution .wrap {
  max-width: 868px;
  padding: 0 14px 49px;
  position: relative;
}
main .solution .wrap::before, main .solution .wrap::after {
  content: "";
  position: absolute;
  bottom: -5px;
}
main .solution .wrap::before {
  background: url("../img/illust01.png") center center/contain no-repeat;
  width: 216px;
  height: 261px;
  left: 25px;
}
main .solution .wrap::after {
  background: url("../img/illust02.png") center center/contain no-repeat;
  width: 207px;
  height: 251px;
  right: 0;
}
main .solution .wrap .txt01 {
  font-size: 44px;
  font-weight: 800;
  text-align: center;
}
main .solution .wrap .txt02 {
  font-size: 67px;
  line-height: 2.2;
  text-align: center;
  margin: 87px 0 0;
}
main .solution .wrap .txt02 img {
  width: 382px;
  position: relative;
  left: 7px;
}
main .solution .wrap .txt02 span {
  font-size: 44px;
  position: relative;
  top: 57px;
  left: 56px;
}
main .point {
  background: #FFFAC0;
  padding: 87px 0 91px;
}
main .point h2 {
  max-width: 598px;
  margin: auto;
  font-size: 44px;
  padding: 28px 0 30px;
  position: relative;
  z-index: 1;
  line-height: 2;
}
main .point h2 img {
  width: 340px;
}
main .point h2::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #10B6FF;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) skewX(350deg);
          transform: translateX(-50%) skewX(350deg);
  z-index: -1;
}
main .point h2 .dots {
  position: relative;
}
main .point h2 .dots::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #000;
  position: absolute;
  top: 3px;
  left: 50%;
  border-radius: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main .point .card {
  margin-top: 133px;
}
main .point .card .ttl {
  font-size: 38px;
  width: 364px;
  height: 88px;
}
main .point .card .ttl span {
  font-family: "Asap Condensed", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 135px;
  line-height: 156px;
  color: #FFF500;
  -webkit-text-stroke-width: 4px;
  -webkit-text-stroke-color: black;
  position: relative;
  bottom: 28px;
  left: 12px;
}
main .point_detail01 {
  padding: 112px 18px 56px;
}
main .point_detail01 .detail_txt {
  font-size: 28px;
  text-align: center;
}
main .point_detail01 .marker {
  display: block;
  background: #B4F0FF;
  font-size: 44px;
  margin-top: 12px;
  line-height: 1;
  padding: 23px 0 12px;
}
main .point_detail01 .marker span {
  font-size: 67px;
  line-height: 0;
}
main .point_detail01 figure {
  margin-top: 61px;
}
main .point_detail01 .strong {
  width: 63.0472854641%;
  min-width: 420px;
  margin: 79px auto 0;
}
main .point_detail02 {
  margin-top: 147px;
  padding: 117px 18px 52px;
}
main .point_detail02 .detail_txt {
  font-size: 28px;
  text-align: center;
  line-height: 1;
}
main .point_detail02 .detail_txt span {
  font-size: 33px;
}
main .point_detail02 .detail_txt .marker {
  font-size: 53px;
  background: #B4F0FF;
  padding: 0 16px;
  margin: 0 14px;
  position: relative;
  line-height: 1.4;
  top: 15px;
}
main .point_detail02 .detail_txt .strong {
  width: 441px;
  display: inline-block;
  margin-top: 35px;
}
main .point_detail02 p {
  font-size: 29px;
  text-align: center;
}
main .point_detail02 .swiper + p {
  margin-top: 62px;
}
main .point_detail03 {
  margin-top: 156px;
  padding: 112px 18px 62px;
}
main .point_detail03 .detail_txt {
  font-size: 28px;
  text-align: center;
}
main .point_detail03 .detail_txt .marker {
  font-size: 67px;
  background: #B4F0FF;
  display: inline-block;
  line-height: 1.2;
  margin-top: 14px;
  padding: 5px 28px;
}
main .point_detail03 .detail_txt.small {
  font-size: 25px;
  margin-top: 18px;
}
main .point_detail03 .map {
  max-width: 667px;
  margin: 57px auto 0;
  position: relative;
}
main .point_detail03 .map .modaal-btn {
  position: absolute;
  bottom: 37px;
  right: -7px;
  width: 36px;
}
main .point_detail03 .last_txt {
  font-size: 33px;
  text-align: center;
  margin-top: 70px;
  line-height: 1.2;
}
main .point_detail03 .last_txt .logo {
  display: inline-block;
  position: relative;
  top: 17px;
  margin: 0 8px;
  width: 367px;
}
main .point_detail03 .last_txt .logo img {
  width: 100%;
}
main .point_detail03 .last_txt .strong {
  max-width: 571px;
  margin: 51px auto 14px;
  display: block;
}

main .price {
  background: linear-gradient(180deg, #FFFAC0 0%, #FFFAC0 175px, #B4F0FF 175px, #B4F0FF 100%);
  padding: 91px 0 80px;
}
main .price::before {
  background: #B4F0FF;
}
main .price h2 {
  width: 206px;
  margin: auto;
}
main .price .heading {
  max-width: 979px;
  padding: 0 35px;
  margin: 87px auto 0;
}
main .price .heading p {
  font-size: 33px;
  text-align: center;
}
main .price .heading .strong {
  font-size: 67px;
  font-weight: 800;
  margin-top: 16px;
  line-height: 1.3;
  position: relative;
}
main .price .heading .strong::before {
  content: "";
  width: 100%;
  height: 105%;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) skewX(338deg);
          transform: translate(-50%, -50%) skewX(338deg);
  z-index: -1;
}
main .price .heading .sup {
  font-size: 28px;
  margin-top: 21px;
}
main .price .card {
  margin-top: 140px;
  padding: 117px 18px 61px;
}
main .price .card .ttl_wrap {
  min-width: 531px;
  top: -84px;
}
main .price .card .ttl {
  padding: 21px 73px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
main .price .card .ttl span {
  font-size: 33px;
  margin-left: 8px;
}
main .price .card dt {
  font-size: 67px;
}
main .price .card dd p {
  font-size: 28px;
  text-align: center;
}
main .price .card dd figure {
  max-width: 722px;
  margin: 57px auto 0;
}
main .price .card + .card {
  margin-top: 182px;
}
main .price .card03 {
  padding-top: 70px;
}
main .price .sup_list {
  margin-top: 65px;
}
main .price .sup_list li {
  font-size: 16px;
  font-weight: 400;
}
main .price .sup_list li + li {
  margin-top: 4px;
}
main .case {
  background: linear-gradient(180deg, #B4F0FF 0%, #B4F0FF 175px, #FFFAC0 175px, #FFFAC0 100%);
  padding: 84px 0;
}
main .case::before {
  background: #FFFAC0;
}
main .case h2 {
  width: 274px;
  margin: auto;
}
main .case .case_detail {
  position: relative;
  padding: 68px 29px 62px 308px;
  margin-top: 96px;
  min-height: 450px;
}
main .case .case_detail + .case_detail {
  margin-top: 62px;
}
main .case .img_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 294px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .case .img_wrap figure {
  width: 235px;
}
main .case .img_wrap p {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-top: 35px;
}
main .case h3 {
  font-size: 22px;
  font-weight: 600;
  text-align: left;
  padding-left: 21px;
  position: relative;
}
main .case h3::before {
  content: "";
  width: 3px;
  height: 90%;
  background: #000;
  position: absolute;
  top: 50%;
  left: -4px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .case .case_detail_body {
  margin-top: 25px;
}
main .case .case_detail_body p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
main .faq {
  background: linear-gradient(180deg, #FFFAC0 0%, #FFFAC0 175px, #fff 175px, #fff 100%);
  padding: 80px 0 87px;
}
main .faq::before {
  background: #fff;
}
main .faq h2 {
  width: 470px;
  margin: auto;
}
main .faq .card {
  margin-top: 87px;
  padding: 0 0 0 61px;
}
main .faq .card + .card {
  margin-top: 35px;
}
main .faq dt, main .faq dd {
  font-size: 28px;
  font-weight: 600;
  padding-left: 18.946301925%;
  position: relative;
  padding: 35px 70px 35px 77px;
}
main .faq dt span, main .faq dd span {
  font-size: 44px;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}
main .faq dt {
  position: relative;
  cursor: pointer;
}
main .faq dt::before {
  content: "";
  width: 39px;
  height: 18px;
  background: url("../img/arrow_icon.png") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 32px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .faq dt span {
  color: #1DA0FF;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .faq dd {
  font-size: 22px;
  padding-top: 0;
}
main .faq dd span {
  color: #FF0000;
}
main .faq .faq_q.active::before {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .faq .faq_a {
  display: none;
}

main .contact {
  background: linear-gradient(180deg, #fff 0%, #fff 175px, #B4F0FF 175px, #B4F0FF 100%);
  padding: 87px 0 95px;
}
main .contact h2 {
  width: 403px;
  margin: auto;
}
main .contact .heading {
  margin-top: 36px;
}
main .contact .heading p {
  font-weight: 400;
  text-align: center;
  margin-top: 5px;
}
main .contact .heading .txt01 {
  font-size: 28px;
}
main .contact .heading .txt02 {
  font-size: 22px;
}
main .contact .heading .tel {
  font-size: 44px;
  text-align: center;
  color: #000;
  margin-top: 5px;
}
main .contact .heading .txt03 {
  font-weight: 700;
  font-size: 25px;
  margin: 0;
}
main .contact .heading .txt04 {
  font-size: 22px;
}
main .contact .heading .estimate_btm {
  max-width: 597px;
  height: 92px;
  margin: 21px auto 0;
  font-size: 22px;
  color: #000;
  background: #FFF500;
  border: 2px solid #000000;
  border-radius: 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 9px 9px 0px -5px #B39C20;
          box-shadow: 9px 9px 0px -5px #B39C20;
}
main .contact .form {
  margin-top: 62px;
  padding: 0 38px 62px;
}
main .contact .form_item {
  padding: 62px 0;
  border-bottom: solid 2px #000;
}
main .contact .form_item h3 {
  font-size: 28px;
  line-height: 1.45;
  text-align: left;
  margin-bottom: 38px;
}
main .contact .form_item h3 span {
  font-size: 21px;
  font-weight: 400;
  margin-left: 31px;
}
main .contact .form_item table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0px 17px;
}
main .contact .form_item th {
  font-weight: 400;
  font-size: 28px;
  line-height: 1.45;
  text-align: left;
  width: 182px;
}
main .contact .form_item td {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
main .contact .form_item .norequire {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
main .contact .form_item input[type=text] {
  font-size: 22px;
  font-weight: 400;
  width: 100%;
  height: 62px;
  padding: 3px 21px;
  border: solid 2px #000;
  border-radius: 9px;
}
main .contact .form_item .require {
  font-weight: 500;
  font-size: 19px;
  background: #FF7BAC;
  border-radius: 9px;
  padding: 9px 12px;
}
main .contact .form_item .text-danger {
  display: none;
  font-size: 16px;
  width: 100%;
  color: #f00;
  margin-top: 3px;
  margin-left: 82px;
}
main .contact .form_item .radio {
  width: calc(100% - 82px);
  padding-right: 14px;
}
main .contact .form_item .radio dt {
  font-size: 22px;
  font-weight: 400;
}
main .contact .form_item .radio-label {
  font-size: 19px;
  font-weight: 400;
}
main .contact .form_item .col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 29px;
}
main .contact .form_item .col2-start {
  margin: 0;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
main .contact .form_item .col2-start .radio-box + .radio-box {
  margin-left: 35px;
}
main .contact .form_item input[type=radio] {
  position: absolute;
  opacity: 0;
}
main .contact .form_item input[type=radio] + .radio-label:before {
  content: "";
  background: #fff;
  border-radius: 100%;
  border: 1px solid gray;
  display: inline-block;
  width: 19px;
  height: 19px;
  position: relative;
  top: -0.1em;
  margin-right: 0.5em;
  vertical-align: top;
  cursor: pointer;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
main .contact .form_item input[type=radio]:checked + .radio-label:before {
  background-color: #303035;
  -webkit-box-shadow: inset 0 0 0 2px #fff;
  box-shadow: inset 0 0 0 2px #fff;
}
main .contact .form_item .radio-box {
  margin-top: 29px;
}
main .contact .form_item01 tr {
  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;
  margin-top: 17px;
}
main .contact .form_item01 tr:first-of-type {
  margin: 0;
}
main .contact .form_item01 th {
  width: 253px;
  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;
}
main .contact .form_item01 td {
  width: calc(100% - 266px);
}
main .contact .form_item02 table {
  border-spacing: 0px 35px;
  margin: -35px 0;
}
main .contact .form_item02 th {
  vertical-align: baseline;
}
main .contact .form_item03 {
  border: none;
}
main .contact .form_item03 p {
  font-size: 28px;
  font-weight: 400;
}
main .contact .form_item03 textarea {
  font-size: 22px;
  font-weight: 400;
  width: 100%;
  min-height: 250px;
  margin-top: 28px;
  background: #fff;
  border: 2px solid #000;
  border-radius: 44px;
  padding: 32px 42px;
}
main .contact .privacypolicy p {
  font-size: 16px;
  font-weight: 300;
  text-align: center;
}
main .contact .privacypolicy .detail {
  text-align: left;
  height: 191px;
  overflow-y: scroll;
  border: solid 1px #000;
  padding: 19px 24px;
  margin-top: 31px;
}
main .contact input[type=checkbox] {
  width: 21px;
  height: 21px;
  vertical-align: middle;
}
main .contact .checkbox {
  margin-top: 31px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .contact .checkbox p {
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  margin-left: 14px;
}
main .contact .action-buttons {
  width: 163px;
  margin: 62px auto 0;
}
main .contact .action-buttons button {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .contact .action-buttons button:hover {
  opacity: 0.7;
}
main .contact .sup {
  font-size: 16px;
  font-weight: 300;
  text-align: center;
  margin-top: 31px;
}
main .floating {
  position: absolute;
  bottom: 14px;
  width: 100%;
  padding: 14px 70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
}
main .floating .wrap {
  max-width: 889px;
}
main .floating ul {
  display: none;
}
main .floating .backTopWrap {
  width: 6.25%;
  max-width: 70px;
  min-width: 42px;
  margin: auto;
  position: absolute;
  bottom: 14px;
  right: 7px;
}
main .floating .backTop {
  cursor: pointer;
}
main .floating .backTop a {
  height: 100%;
  width: 100%;
}
main .swiper-slide {
  position: relative;
}
main .swiper-slide::before {
  content: attr(data-content);
  position: absolute;
  top: -12px;
  left: -40px;
  z-index: 1;
  font-size: 36px;
}

footer {
  width: 100%;
}
footer .footer_wrap {
  background: #4ABDF0;
  width: 100%;
  padding: 20px 16px 12px 27px;
  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;
}
footer .logo {
  width: 210px;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer ul li {
  padding: 0 25px;
}
footer ul a {
  font-size: 24px;
  color: #000;
  font-weight: 400;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
footer ul a:hover {
  color: #fff;
  opacity: 1;
}

.modaal-wrapper {
  background: rgba(57, 60, 65, .5);
}
.modaal-wrapper figure {
  margin: 0;
}
.modaal-wrapper figure img {
  width: 100%;
}

.modaal-container {
  max-width: 100%;
}

.modaal-content-container {
  padding: 187px 0;
}

.modaal-close {
  position: absolute;
  right: 28px;
  top: 56px;
  width: 118px;
  height: 118px;
}

.modaal-wrapper .modaal-close {
  border: solid 9px #000;
}

.modaal-close:after, .modaal-close:before {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  width: 70px;
  height: 9px;
  background: #000;
}

.modaal-close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #000;
}

@media screen and (max-width: 1400px) {
  header li {
    padding: 0 20px;
  }
}

@media screen and (max-width: 1180px) {
  header .header_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header .btn_wrap, header ul {
    /* margin-top: 10px; */
    padding-top: 10px;
  }
  header li {
    padding: 0 40px;
  }
  main {
    margin-top: 152px;
  }
}

@media screen and (max-width: 1120px) {
  header .header_wrap {
    padding-left: 10px;
    padding-right: 10px;
  }
  header li {
    padding: 0 15px;
  }
  header li a {
    font-size: 20px;
  }
  header .contact_btn {
    position: absolute;
    top: 30px;
    right: 10px;
    width: 200px;
  }
  main {
    margin-top: 143px;
  }
}

@media screen and (max-width: 900px) {
  main .lead ul::before {
    height: 162px;
    left: -10px;
  }
  main .lead ul::after {
    height: 175px;
    right: 0;
  }
  main .solution .wrap::before, main .solution .wrap::after {
    bottom: 0;
  }
  main .solution .wrap::before {
    height: 200px;
  }
  main .solution .wrap::after {
    height: 200px;
  }
  main .solution .wrap .txt02 span {
    left: 28px;
  }
}

@media screen and (max-width: 980px) {
  main .price .heading .strong {
    font-size: 60px;
  }
  main .price .card .ttl_wrap {
    min-width: 448px;
  }
  main .price .card .ttl {
    padding: 21px 35px;
  }
  main .price .card dt {
    font-size: 56px;
  }
  main .case .img_wrap {
    width: 210px;
  }
  main .case .img_wrap figure {
    width: 140px;
  }
  main .case .case_detail {
    padding-left: 210px;
  }
}

@media screen and (max-width: 1000px) {
  main .contact .form_item01 tr {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  main .contact .form_item02 tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 84px;
  }
  main .contact .form_item02 tr:first-of-type {
    margin-top: 0;
  }
  main .contact .form_item02 .norequire {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main .contact .form_item01 td,
  main .contact .form_item02 td {
    width: 100%;
    margin-top: 7px;
  }
}

@media screen and (min-width: 768px) {
  .swiper {
    max-width: 598px;
    margin-top: 56px;
    overflow: visible;
  }
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
  .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 33px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    justify-content: space-between;
  }
  .swiper-slide {
    width: 44%;
  }
}

@media screen and (max-width: 767px) {
  /*========================================== 
    1.Common (SP)
  ========================================== */
  main,
  header,
  footer {
    max-width: 100%;
    margin: auto;
  }
  main .-pc,
  main .-tb,
  header .-pc,
  header .-tb,
  footer .-pc,
  footer .-tb {
    display: none !important;
  }
  main .-sp,
  header .-sp,
  footer .-sp {
    display: block !important;
  }
  main img,
  header img,
  footer img {
    width: 100%;
    height: auto;
  }
  main a:hover,
  header a:hover,
  footer a:hover {
    opacity: 1;
  }
  header .header_wrap {
    padding: 0 0 0 2.6954177898vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    align-items: center;
  }
  header .logo {
    width: 20.4851752022vw;
    padding: 0;
  }
  header .btn_wrap {
    margin: 0;
    display: none;
    width: 100%;
    height: 100vh;
    z-index: 10;
    padding: 20.2173913043vw 10.8695652174vw 0;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: #fff;
    overflow-y: auto;
  }
  header .btn_wrap .contact_btn {
    width: 52.1739130435vw;
    margin: 6.9565217391vw auto 0;
    position: relative;
    top: 0;
    left: 0;
  }
  header .btn_wrap .info {
    text-align: center;
    margin-top: 12px;
  }
  header .btn_wrap .info p {
    font-size: 3.9130434783vw;
    font-weight: 500;
    margin-top: 0.8695652174vw;
  }
  header .btn_wrap .info a {
    font-size: 6.9565217391vw;
    color: #000;
    margin-top: 0.8695652174vw;
  }
  header .btn_wrap.active {
    display: block;
  }
  header ul {
    display: block;
  }
  header li {
    padding: 4.7826086957vw 0;
    border-left: none;
  }
  header li:first-of-type {
    border: none;
    padding-top: 0;
  }
  header li a {
    font-size: 5.652173913vw;
    font-weight: 500;
  }
  header li a:hover {
    color: #000;
  }
  header .header_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  header .header_block a {
    display: block;
    position: relative;
    top: 0;
    right: auto;
    left: 0;
    background: #C43D31;
    font-size: 3.2345013477vw;
    color: #fff;
    width: 22.7762803235vw;
    padding: 4.0431266846vw 1.6172506739vw 3.6388140162vw;
  }
  header .openbtn {
    position: relative;
    background: #fff;
    width: 13.4770889488vw;
    height: 12.5336927224vw;
    z-index: 11;
  }
  header .openbtn span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    position: absolute;
    left: 50%;
    height: 0.4043126685vw;
    background: #000;
    width: 8.6253369272vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  header .openbtn span:nth-of-type(1) {
    top: 3.5040431267vw;
  }
  header .openbtn span:nth-of-type(2) {
    top: 6.3342318059vw;
  }
  header .openbtn span:nth-of-type(3) {
    top: 9.0296495957vw;
  }
  header .openbtn.active span:nth-of-type(1) {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
    width: 65%;
  }
  header .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .openbtn.active span:nth-of-type(3) {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
    width: 65%;
  }
  .logo2-content {
   display: none;
  }
  main {
    margin-top: 12.5336927224vw;
  }
  main .wrap {
    max-width: 100%;
    padding: 0 3.3692722372vw;
    margin-top: 0!important;
  }
  main .price::before,
  main .case::before,
  main .faq::before,
  main .contact::before {
    width: 69.6765498652vw;
    height: 69.6765498652vw;
  }
  main .card {
    border: 0.539083558vw solid #000000;
    border-radius: 6.7385444744vw;
  }
  main .card .ttl_wrap {
    top: -9.8382749326vw;
    -webkit-box-shadow: 1.3477088949vw 1.3477088949vw 0px 0.539083558vw #000000;
            box-shadow: 1.3477088949vw 1.3477088949vw 0px 0.539083558vw #000000;
  }
  main .card .ttl {
    border: solid #000 0.539083558vw;
  }
  main .card-shadow {
    -webkit-box-shadow: 0.8086253369vw 1.7520215633vw 0px 0px #000000;
            box-shadow: 0.8086253369vw 1.7520215633vw 0px 0px #000000;
  }
  main .mv .wrap {
    max-width: 100%;
  }
  main .lead .problem {
    padding: 10.781671159vw 0 34.5013477089vw;
  }
  main .lead h2 {
    font-size: 5.3908355795vw;
  }
  main .lead h2 span {
    font-size: 4.3126684636vw;
  }
  main .lead ul {
    margin-top: 10.2425876011vw;
    border: 0.539083558vw solid #000000;
    border-radius: 5.6603773585vw;
    padding: 10.781671159vw 5.6603773585vw 12.1293800539vw 7.8167115903vw;
  }
  main .lead ul::before, main .lead ul::after {
    content: "";
    position: absolute;
    bottom: -29.6495956873vw;
  }
  main .lead ul::before {
    width: 25.6064690027vw;
    height: 39.7574123989vw;
    background: url("../img/woman_img.png") center center/contain no-repeat;
    left: 19.5417789757vw;
  }
  main .lead ul::after {
    width: 22.9110512129vw;
    height: 42.9919137466vw;
    background: url("../img/man_img.png") center center/contain no-repeat;
    right: 22.9110512129vw;
  }
  main .lead li {
    font-size: 4.3126684636vw;
    padding-left: 11.590296496vw;
  }
  main .lead li::before {
    width: 8.8948787062vw;
    height: 6.7385444744vw;
  }
  main .lead li + li {
    margin-top: 8.8948787062vw;
  }
  main .solution::before {
    border-right: 80.8625336927vw solid transparent;
    border-left: 80.8625336927vw solid transparent;
    border-top: 12.1293800539vw solid #fffac0;
  }
  main .solution .wrap {
    max-width: 100%;
    padding: 0 2.6954177898vw 9.4339622642vw;
    position: relative;
  }
  main .solution .wrap::before, main .solution .wrap::after {
    content: "";
    position: absolute;
    bottom: 0;
  }
  main .solution .wrap::before {
    content: none;
  }
  main .solution .wrap::after {
    width: 21.5633423181vw;
    height: 26.2803234501vw;
    right: 4.4474393531vw;
  }
  main .solution .wrap .txt01 {
    font-size: 5.3908355795vw;
  }
  main .solution .wrap .txt02 {
    font-size: 8.6253369272vw;
    margin: 16.846361186vw 0 0;
  }
  main .solution .wrap .txt02 img {
    width: 61.9946091644vw;
    left: 1.3477088949vw;
  }
  main .solution .wrap .txt02 span {
    font-size: 5.3908355795vw;
    top: 4.8517520216vw;
    left: 0;
  }
  main .point {
    padding: 12.1293800539vw 0 16.846361186vw;
  }
  main .point h2 {
    width: 76.8194070081vw;
    font-size: 5.6603773585vw;
    padding: 3.7735849057vw 0 3.0997304582vw;
  }
  main .point h2 img {
    width: 43.1266846361vw;
  }
  main .point h2 .dots::before {
    width: 0.9433962264vw;
    height: 0.9433962264vw;
    top: 0.269541779vw;
  }
  main .point .card {
    margin-top: 20.8894878706vw;
  }
  main .point .card .ttl {
    font-size: 5.3908355795vw;
    width: 70.2156334232vw;
    height: 17.115902965vw;
  }
  main .point .card .ttl span {
    font-size: 19.2722371968vw;
    line-height: 30.0539083558vw;
    -webkit-text-stroke-width: 0.539083558vw;
    bottom: 3.6388140162vw;
    left: 2.4258760108vw;
  }
  main .point_detail01 {
    padding: 19.4070080863vw 3.2345013477vw 80px;
  }
  main .point_detail01 .detail_txt {
    font-size: 4.8517520216vw;
  }
  main .point_detail01 .marker {
    font-size: 5.3908355795vw;
    margin-top: 2.4258760108vw;
    padding: 7.5471698113vw 0 2.9649595687vw;
  }
  main .point_detail01 .marker span {
    font-size: 10.781671159vw;
    margin: 0 1.3477088949vw;
  }
  main .point_detail01 figure {
    margin: 12.1293800539vw auto 0;
    width: 80.0539083558vw;
  }
  main .point_detail01 .strong {
    width: 100%;
    min-width: auto;
    margin: 9.4339622642vw auto 0;
  }
  main .point_detail02 {
    margin-top: 28.3018867925vw;
    padding: 17.5202156334vw 3.2345013477vw 12.1293800539vw;
  }
  main .point_detail02 .detail_txt {
    font-size: 5.3908355795vw;
    text-align: center;
    line-height: 1.5;
  }
  main .point_detail02 .detail_txt span {
    font-size: 5.3908355795vw;
  }
  main .point_detail02 .detail_txt .marker {
    font-size: 10.1078167116vw;
    padding: 0 4.0431266846vw;
    margin: 0 2.0215633423vw;
    top: 1.2129380054vw;
  }
  main .point_detail02 .detail_txt .strong {
    width: 69.0026954178vw;
    margin-top: 4.3126684636vw;
  }
  main .point_detail02 p {
    font-size: 5.3908355795vw;
  }
  main .point_detail02 .swiper + p {
    margin-top: 9.4339622642vw;
  }
  main .point_detail02 .swiper {
    max-width: 100%;
    margin: 8.3557951482vw auto 0;
  }
  main .point_detail03 {
    margin-top: 28.3018867925vw;
    padding: 18.0592991914vw 3.2345013477vw 10.781671159vw;
  }
  main .point_detail03 .detail_txt {
    font-size: 5.3908355795vw;
  }
  main .point_detail03 .detail_txt .marker {
    font-size: 8.6253369272vw;
    text-align: right;
    line-height: 1.5;
    margin-top: 0;
    padding: 1.0781671159vw 5.3908355795vw;
  }
  main .point_detail03 .detail_txt.small {
    font-size: 4.0431266846vw;
    margin-top: 3.6388140162vw;
  }
  main .point_detail03 .map {
    max-width: 81.4016172507vw;
    margin: 5.3908355795vw auto 0;
  }
  main .point_detail03 .map .modaal-btn {
    bottom: 7.2776280323vw;
    right: 1.3477088949vw;
    width: 6.1994609164vw;
  }
  main .point_detail03 .last_txt {
    font-size: 4.1778975741vw;
    margin-top: 9.4339622642vw;
    line-height: 1.5;
  }
  main .point_detail03 .last_txt .logo {
    top: 1.3477088949vw;
    margin: 0 1.6172506739vw;
    width: 38.409703504vw;
  }
  main .point_detail03 .last_txt .strong {
    max-width: 71.6981132075vw;
    margin: 5.3908355795vw auto 2.6954177898vw;
  }
  main .price {
    background: -webkit-gradient(linear, left top, left bottom, from(#FFFAC0), color-stop(21.5633423181vw, #FFFAC0), color-stop(21.5633423181vw, #B4F0FF), to(#B4F0FF));
    background: linear-gradient(180deg, #FFFAC0 0%, #FFFAC0 21.5633423181vw, #B4F0FF 21.5633423181vw, #B4F0FF 100%);
    padding: 9.9730458221vw 0 115px;
  }
  main .price h2 {
    width: 22.9110512129vw;
  }
  main .price .heading {
    max-width: 90.2964959569vw;
    padding: 0 2.6954177898vw;
    margin: 4.4474393531vw auto 0;
  }
  main .price .heading p {
    font-size: 2.9649595687vw;
  }
  main .price .heading .strong {
    font-size: 5.9299191375vw;
    margin-top: 2.2911051213vw;
    line-height: 1.3;
  }
  main .price .heading .sup {
    font-size: 2.9649595687vw;
    margin-top: 1.7520215633vw;
  }
  main .price .card {
    margin-top: 17.7897574124vw;
    padding: 16.9811320755vw 3.2345013477vw 8.981132vw;
  }
  main .price .card .ttl_wrap {
    min-width: 64.5552560647vw;
    height: 18.3288409704vw;
    top: -9.8382749326vw;
  }
  main .price .card .ttl {
    padding: 2.6954177898vw;
  }
  main .price .card .ttl span {
    font-size: 4.0431266846vw;
    margin-left: 12px;
  }
  main .price .card dt {
    font-size: 8.0862533693vw;
  }
  main .price .card dd p {
    font-size: 5.3908355795vw;
  }
  main .price .card dd figure {
    max-width: 100%;
    margin: 7.6819407008vw 0 0;
    /* overflow-x: scroll; */
    padding-bottom: 6.4690026954vw;
  }
  main .price .card dd figure img {
    width: 85.770889vw;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
  }
  main .price .card dd figure::-webkit-scrollbar {
    width: 1.3477088949vw;
    height: 2.6954177898vw;
  }
  main .price .card dd figure::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  main .price .card dd figure::-webkit-scrollbar-thumb {
    background: #888;
  }
  main .price .card dd figure::-webkit-scrollbar-thumb:hover {
    background: #D9D9D9;
  }
  main .price .card + .card {
    margin-top: 21.0242587601vw;
  }
  main .price .card03 {
    padding-top: 13.4770889488vw;
  }
  main .price .swipe_icon {
    width: 14.8247978437vw;
    position: absolute;
    right: 7.2776280323vw;
    bottom: 4.9865229111vw;
  }
  main .price .sup_list {
    margin-top: 11.8598382749vw;
    padding: 0 4.7169811321vw;
  }
  main .price .sup_list li {
    font-size: 3.2345013477vw;
  }
  main .price .sup_list li + li {
    margin-top: 0.8086253369vw;
  }
  main .case {
    background: -webkit-gradient(linear, left top, left bottom, from(#B4F0FF), color-stop(16.1725067385vw, #B4F0FF), color-stop(16.1725067385vw, #FFFAC0), to(#FFFAC0));
    background: linear-gradient(180deg, #B4F0FF 0%, #B4F0FF 16.1725067385vw, #FFFAC0 16.1725067385vw, #FFFAC0 100%);
    padding: 7.6819407008vw 0 16.846361186vw;
  }
  main .case h2 {
    width: 24.2587601078vw;
  }
  main .case .case_detail {
    padding: 13.4770889488vw 5.3908355795vw 6.7385444744vw;
    margin-top: 9.1644204852vw;
    min-height: 117.5202156334vw;
  }
  main .case .case_detail + .case_detail {
    margin-top: 3.6388140162vw;
  }
  main .case .case_detail_heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: solid 0.6738544474vw #000;
    padding-bottom: 2.6954177898vw;
  }
  main .case .img_wrap {
    position: relative;
    width: 35.1752021563vw;
  }
  main .case .img_wrap figure {
    width: 35.1752021563vw;
  }
  main .case .img_wrap p {
    font-size: 2.4258760108vw;
    margin-top: 3.3692722372vw;
  }
  main .case h3 {
    font-size: 4.0431266846vw;
    padding-left: 5.3908355795vw;
    line-height: 1.25;
  }
  main .case h3::before {
    content: none;
  }
  main .case .case_detail_body {
    margin-top: 4.0431266846vw;
  }
  main .case .case_detail_body p {
    font-size: 3.2345013477vw;
  }
  main .faq {
    background: -webkit-gradient(linear, left top, left bottom, from(#FFFAC0), color-stop(21.1590296496vw, #FFFAC0), color-stop(21.1590296496vw, #fff), to(#fff));
    background: linear-gradient(180deg, #FFFAC0 0%, #FFFAC0 21.1590296496vw, #fff 21.1590296496vw, #fff 100%);
    padding: 10.5121293801vw 0 16.846361186vw;
  }
  main .faq h2 {
    width: 42.0485175202vw;
  }
  main .faq .card {
    margin-top: 12.1293800539vw;
    padding: 0 0 0 11.320754717vw;
  }
  main .faq .card + .card {
    margin-top: 3.6388140162vw;
  }
  main .faq dt, main .faq dd {
    font-size: 4.0431266846vw;
    padding-left: 12.1293800539vw;
    padding: 9.4339622642vw 23.8544474394vw 9.4339622642vw 12.1293800539vw;
  }
  main .faq dt span, main .faq dd span {
    font-size: 6.064690027vw;
  }
  main .faq dt::before {
    width: 7.6819407008vw;
    height: 3.6388140162vw;
    right: 8.0862533693vw;
  }
  main .faq dd {
    font-size: 4.0431266846vw;
    padding-top: 0;
    padding-right: 11.320754717vw;
  }
  main .contact {
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(22.9110512129vw, #fff), color-stop(22.9110512129vw, #B4F0FF), to(#B4F0FF));
    background: linear-gradient(180deg, #fff 0%, #fff 22.9110512129vw, #B4F0FF 22.9110512129vw, #B4F0FF 100%);
    padding: 13.4770889488vw 0 40.4312668464vw;
  }
  main .contact h2 {
    width: 36.1185983827vw;
  }
  main .contact .heading {
    margin-top: 9.4339622642vw;
  }
  main .contact .heading p {
    margin-top: 3.6388140162vw;
  }
  main .contact .heading .txt01 {
    font-size: 5.3908355795vw;
  }
  main .contact .heading .txt02 {
    font-size: 4.3126684636vw;
  }
  main .contact .heading .tel {
    font-size: 8.6253369272vw;
    margin-top: 1.0781671159vw;
  }
  main .contact .heading .txt03 {
    font-size: 4.8517520216vw;
  }
  main .contact .heading .txt04 {
    font-size: 4.3126684636vw;
  }
  main .contact .heading .estimate_btm {
    max-width: 91.2398921833vw;
    height: 17.7897574124vw;
    margin: 8.4905660377vw auto 0;
    font-size: 4.3126684636vw;
    border-radius: 2.5606469003vw;
    border: none;
    -webkit-box-shadow: 2.4258760108vw 2.4258760108vw 0px -0.9433962264vw #B39C20;
            box-shadow: 2.4258760108vw 2.4258760108vw 0px -0.9433962264vw #B39C20;
  }
  main .contact .form {
    margin-top: 9.4339622642vw;
    padding: 0 6.4690026954vw 12.1293800539vw;
  }
  main .contact .form_item {
    padding: 9.4339622642vw 0;
    border-bottom: solid 0.539083558vw #000;
  }
  main .contact .form_item h3 {
    font-size: 5.3908355795vw;
    text-align: center;
    margin-bottom: 9.8382749326vw;
  }
  main .contact .form_item h3 span {
    font-size: 4.0431266846vw;
    margin-left: 0;
    display: none;
  }
  main .contact .form_item table {
    border-spacing: 0;
  }
  main .contact .form_item th, main .contact .form_item td {
    width: 100%;
    display: block;
  }
  main .contact .form_item th {
    font-size: 5.3908355795vw;
  }
  main .contact .form_item input[type=text] {
    font-size: 4.3126684636vw;
    width: 100%;
    height: 11.9946091644vw;
    padding: 0.6738544474vw 4.0431266846vw;
    border-radius: 1.7520215633vw;
    border: solid 0.269541779vw #000;
  }
  main .contact .form_item .require {
    font-size: 3.7735849057vw;
    border-radius: 1.7520215633vw;
    padding: 1.8867924528vw 2.4258760108vw;
    margin-left: 1.3477088949vw;
  }
  main .contact .form_item .text-danger {
    font-size: 3.2345013477vw;
    margin-top: 0.6738544474vw;
    margin-left: 0;
  }
  main .contact .form_item .radio {
    width: 100%;
    padding: 0 2.0215633423vw;
  }
  main .contact .form_item .radio dt {
    font-size: 4.3126684636vw;
    display: none;
  }
  main .contact .form_item .radio-label {
    font-size: 3.7735849057vw;
  }
  main .contact .form_item .col2 {
    margin-top: 0;
  }
  main .contact .form_item .col2-start .radio-box + .radio-box {
    margin-left: 6.7385444744vw;
  }
  main .contact .form_item input[type=radio] + .radio-label:before {
    width: 3.7735849057vw;
    height: 3.7735849057vw;
  }
  main .contact .form_item input[type=radio]:checked + .radio-label:before {
    -webkit-box-shadow: inset 0 0 0 0.539083558vw #fff;
    box-shadow: inset 0 0 0 0.539083558vw #fff;
  }
  main .contact .form_item .radio-box {
    margin-top: 5.6603773585vw;
  }
  main .contact .form_item01 tr {
    display: block;
    margin-top: 8.0862533693vw;
  }
  main .contact .form_item01 tr:first-of-type {
    margin: 0;
  }
  main .contact .form_item01 th {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  main .contact .form_item01 td {
    width: 100%;
    margin-top: 0.6738544474vw;
  }
  main .contact .form_item02 table {
    border-spacing: 0;
    margin: 0;
  }
  main .contact .form_item02 tr {
    margin-top: 12.1293800539vw;
  }
  main .contact .form_item02 tr:first-of-type {
    margin-top: 0;
  }
  main .contact .form_item03 {
    border: none;
    padding-bottom: 4.9865229111vw;
  }
  main .contact .form_item03 p {
    font-size: 5.3908355795vw;
  }
  main .contact .form_item03 textarea {
    font-size: 2.6954177898vw;
    min-height: 78.5714285714vw;
    margin-top: 4.7169811321vw;
    border: 0.539083558vw solid #000;
    border-radius: 8.4905660377vw;
    padding: 5.6603773585vw 3.7735849057vw;
  }
  main .contact .privacypolicy p {
    font-size: 2.8301886792vw;
  }
  main .contact .privacypolicy .detail {
    height: 37.4663072776vw;
    padding: 3.6388140162vw 2.0215633423vw;
    margin-top: 4.0431266846vw;
  }
  main .contact input[type=checkbox] {
    width: 4.0431266846vw;
    height: 4.0431266846vw;
  }
  main .contact .checkbox {
    margin-top: 9.4339622642vw;
  }
  main .contact .checkbox p {
    font-size: 4.3126684636vw;
    margin-left: 2.6954177898vw;
  }
  main .contact .action-buttons {
    width: 27.2237196765vw;
    margin: 3.5040431267vw auto 0;
  }
  main .contact .action-buttons button:hover {
    opacity: 1;
  }
  main .contact .sup {
    font-size: 2.8301886792vw;
    margin-top: 4.3126684636vw;
  }
  /*========================================== 
    11.BACK TO TOP (PC)
  ========================================== */
  main .floating {
    width: 100%;
    padding: 2.6954177898vw 0;
    bottom: 0;
  }
  main .floating .wrap {
    max-width: 100%;
    padding: 0;
  }
  main .floating ul {
    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;
  }
  main .floating li {
    width: 49.0566037736vw;
  }
  main .floating .backTopWrap {
    width: 13.4770889488vw;
    max-width: 13.4770889488vw;
    min-width: auto;
    bottom: 20.2156334232vw;
    right: 3.3692722372vw;
    border-radius: 2.6954177898vw;
  }
  footer .footer_wrap {
    padding: 4.0431266846vw 4.0431266846vw 3.6388140162vw 4.0431266846vw;
  }
  footer .logo {
    width: 27.7628032345vw;
  }
  footer ul li {
    padding: 0 1.3477088949vw;
  }
  footer ul a {
    font-size: 3.2345013477vw;
  }
  footer ul a:hover {
    color: #000;
  }
  .modaal-content-container {
    padding: 20.6117021277vw 0 6.5159574468vw;
  }
  .modaal-close {
    position: absolute;
    right: 2.6595744681vw;
    top: 5.8510638298vw;
    width: 8.7765957447vw;
    height: 8.7765957447vw;
  }
  .modaal-wrapper .modaal-close {
    border: solid 0.664893617vw #000;
  }
  .modaal-close:after, .modaal-close:before {
    width: 5.3191489362vw;
    height: 0.664893617vw;
  }
  .modaal-inner-wrapper {
    padding: 0 1.329787234vw;
  }
  .swiper {
    overflow: hidden;
  }
  main .swiper-slide::before {
    content: attr(data-content);
    position: absolute;
    top: -9px;
    left: -33px;
    z-index: 1;
    font-size: 30px;
  }
}

.thanks-block {
    padding: 50px 20px;
    max-width: 500px;
    margin: auto;
    text-align: center;
}

.thanks-block h3 {
    border-bottom: 1px solid #ddd;
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.thanks-block p:not(:last-child) {
    margin-bottom: 30px;
}

.thanks-block p a {
    text-decoration: underline;
}
