@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
}

/*========================================== 
  0.reset
========================================== */
main div, main span, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main abbr, main address, main cite, main code, main del, main dfn, main em, main img, main ins, main kbd, main q, main samp, main small, main strong, main sub, main sup, main var, main b, main i, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main canvas, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main summary, main time, main mark, main audio, main video, header div, header span, header object, header iframe, header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre, header abbr, header address, header cite, header code, header del, header dfn, header em, header img, header ins, header kbd, header q, header samp, header small, header strong, header sub, header sup, header var, header b, header i, header dl, header dt, header dd, header ol, header ul, header li, header fieldset, header form, header label, header legend, header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td, header article, header aside, header canvas, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header summary, header time, header mark, header audio, header video, footer div, footer span, footer object, footer iframe, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer blockquote, footer pre, footer abbr, footer address, footer cite, footer code, footer del, footer dfn, footer em, footer img, footer ins, footer kbd, footer q, footer samp, footer small, footer strong, footer sub, footer sup, footer var, footer b, footer i, footer dl, footer dt, footer dd, footer ol, footer ul, footer li, footer fieldset, footer form, footer label, footer legend, footer table, footer caption, footer tbody, footer tfoot, footer thead, footer tr, footer th, footer td, footer article, footer aside, footer canvas, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer summary, footer time, footer mark, footer audio, footer video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: transparent;
}
main *,
main *::before,
main *::after, header *,
header *::before,
header *::after, footer *,
footer *::before,
footer *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}
main article, main aside, main details, main figcaption, main figure, main footer, main header, main hgroup, main menu, main nav, main section, main main, header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header 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;
}
main ul, main li, header ul, header li, footer ul, footer li {
  list-style: none;
}
main blockquote, main q, header blockquote, header q, footer blockquote, footer q {
  quotes: none;
}
main blockquote::before, main blockquote::after, main q::before, main q::after, header blockquote::before, header blockquote::after, header q::before, header q::after, footer blockquote::before, footer blockquote::after, footer q::before, footer q::after {
  content: "";
  content: none;
}
main a, header a, footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
}
main address, header address, footer address {
  font-style: normal;
}
main ins, header ins, footer ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
main mark, header mark, footer mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
main del, header del, footer del {
  text-decoration: line-through;
}
main table, header table, footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
main hr, header hr, footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
main input, main select, header input, header select, footer input, footer select {
  vertical-align: middle;
}
main button, header button, footer button {
  margin: 0;
}
main a,
main a:link,
main a:visited, header a,
header a:link,
header a:visited, footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
main img, header img, footer img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*========================================== 
  1.Common (PC)
========================================== */
main .-tb,
main .-sp, header .-tb,
header .-sp, footer .-tb,
footer .-sp {
  display: none !important;
}
main .-pc, header .-pc, footer .-pc {
  display: block !important;
}
main a, header a, footer a {
  opacity: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main a:hover, header a:hover, footer a:hover {
  opacity: 0.7;
}
main .wrap, header .wrap, footer .wrap {
  max-width: 1240px;
  margin: auto;
  padding: 0 20px;
}

main {
  background: url("../img/common_bg.png") center center/cover repeat;
  padding-top: 160px;
}
main .ttl {
  background: url("../img/ttl_bg.png") center center/cover no-repeat;
  background-size: 100% 100%;
  font-size: 50px;
  font-weight: 900;
  line-height: 1;
  color: #1B224C;
  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;
  width: 735px;
  height: 115px;
  margin: auto;
}

header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}
header .wrap {
  max-width: 1280px;
  padding: 26px 4.296875% 26px 2.34375%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
header .logo {
  width: 24.6861924686%;
}
header .header_inner {
  width: calc(100% - 345px);
  min-width: 740px;
}
header .contact_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
header .contact_btn {
  background: #00A0E9;
  width: 240px;
  height: 71px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  border-radius: 9px;
  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;
  margin-left: 32px;
}
header .tel_wrap {
  text-align: center;
  width: 232px;
}
header .tel_wrap p {
  font-size: 18px;
  color: #1B224C;
}
header .tel_wrap .tel {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: #1B224C;
  position: relative;
}
header .tel_wrap .tel::before {
  content: "";
  background: url("../img/tel_icon.png") center center/contain no-repeat;
  width: 16px;
  height: 24px;
  position: absolute;
  bottom: 2px;
  left: -26px;
}
header nav {
  margin-top: 11px;
}
header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
header nav li a {
  font-size: 18px;
  font-weight: 500;
  margin: 0 3px;
  color: #1B224C;
}
/*========================================== 
  2.MV (PC)
========================================== */
main .mv {
  max-width: 1280px;
  margin: auto;
  position: relative;
}
main .mv a {
  background: -webkit-gradient(linear, left top, left bottom, from(#F15A24), to(#CF4F26));
  background: linear-gradient(180deg, #F15A24 0%, #CF4F26 100%);
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  width: 455px;
  height: 108px;
  border-radius: 4px;
  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;
  position: absolute;
  bottom: 34px;
  right: 72px;
  -webkit-box-shadow: 0 4px 24.5px rgb(255, 255, 255);
          box-shadow: 0 4px 24.5px rgb(255, 255, 255);
}
main .mv a::before {
  content: "";
  background: url("../img/btn_icon.png") center center/contain no-repeat;
  width: 80px;
  height: 108px;
  position: absolute;
  top: 0;
  right: 0;
}
/*========================================== 
  3.CERTIFICATION (PC)
========================================== */
main .certification {
  background: #fff;
  max-width: 1280px;
  margin: auto;
  padding: 40px 27px 12px;
}
main .certification_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 13px 25px 7px 19px;
  border-top: solid 2px #707070;
  border-bottom: solid 2px #707070;
}
main .certification figure {
  width: 210px;
}
main .certification p {
  width: calc(100% - 250px);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  bottom: 6px;
}
main .certification p span {
  font-size: 22px;
}
main .certification .certification_number {
  font-size: 18px;
  font-weight: 700;
  text-align: right;
  width: 100%;
  padding: 8px 8px 0;
}

/*========================================== 
  4.THREAT (PC)
========================================== */
main .threat {
  padding: 100px 0 136px;
}
main .threat h2 {
  font-size: 50px;
  font-weight: 700;
  text-align: center;
}
main .threat h2 span {
  font-size: 36px;
  font-weight: 400;
  display: block;
  margin-bottom: 18px;
}
main .threat_inner {
  background: #fff;
  border-radius: 60px;
  margin-top: 80px;
  padding: 100px 6.0833333333% 87px;
  -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
          box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
}
main .threat .source {
  font-size: 18px;
  font-weight: 700;
}
main .threat ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .threat li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
main .threat dt {
  font-size: 29px;
  font-weight: 700;
}
main .threat dt span {
  display: block;
}
main .threat dt .number {
  background: #3FA9F3;
  font-size: 36px;
  color: #fff;
  line-height: 1;
  border-radius: 40px;
  width: 141px;
  margin: 0 auto 24px;
  padding: 12px 0 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
main .threat dt .small-txt {
  font-size: 20px;
  padding-bottom: 2px;
}
main .threat dd .result {
  font-size: 68px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #A6A6A6;
  text-shadow: 2px 3px 0px rgb(0, 0, 0);
}
main .threat dd .result span {
  font-size: 38px;
}
main .threat dd .sup {
  font-size: 19px;
  font-weight: 700;
  margin-top: 8px;
}
main .threat_cont01 {
  padding-bottom: 16px;
  border-bottom: solid 1px #707070;
}
main .threat_cont01 .source {
  text-align: right;
  margin-top: 68px;
}
main .threat_cont02 {
  padding: 109px 0 0;
}
main .threat_cont02 h3 {
  font-size: 48px;
  font-weight: 700;
  text-align: center;
}
main .threat_cont02 h3 span {
  font-size: 36px;
  display: block;
}
main .threat_cont02 figure {
  max-width: 1030px;
  margin: 86px auto 0;
}
main .threat_cont02 figure img {
  width: 100%;
}
main .threat_cont02 .source {
  margin-top: 68px;
  text-align: center;
}
main .threat_inner02 {
  padding: 80px 0 0;
}
main .threat_inner02 h3 {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}
main .threat_inner02 .anxiety {
  max-width: 1058px;
  margin: 45px auto 0;
}
main .threat_inner02 .anxiety + p {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-top: 12px;
  padding-bottom: 112px;
  position: relative;
}
main .threat_inner02 .anxiety + p::before {
  content: "";
  background: url("../img/arrow.png") center center/contain no-repeat;
  width: 384px;
  height: 49px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main .threat_inner02 .catch {
  max-width: 650px;
  margin: 45px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .threat_inner02 .catch p {
  font-size: 48px;
  font-weight: 700;
  text-align: center;
  width: 384px;
  padding-top: 72px;
}
main .threat_inner02 .catch figure {
  width: calc(100% - 433px);
}
main .threat_inner02 .catch + p {
  font-size: 64px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-align: center;
  padding-bottom: 40px;
  position: relative;
}
main .threat_inner02 .catch + p::before {
  content: "";
  background: url("../img/txt_bg.png") center center/contain no-repeat;
  width: 345px;
  height: 69px;
  position: absolute;
  bottom: 0;
  left: 51%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}
main .threat_inner02 .catch + p span {
  font-size: 30px;
  display: block;
}
/*========================================== 
  5.PRODUCT (PC)
========================================== */
main .product {
  background: #BCDAEF;
  padding: 80px 0;
}
main .product_wrap {
  max-width: 1140px;
  background: #fff;
  border-radius: 40px;
  padding: 100px 31px;
  margin: auto;
}
main .product h2 {
  max-width: 750px;
  margin: auto;
}
main .product .heading p {
  font-size: 44px;
  text-align: center;
  margin-top: 70px;
}
main .product .heading p .txt-blue {
  font-weight: 700;
  color: #3FA9F5;
}
main .product .heading p .txt-small {
  font-size: 34px;
}
main .product .heading p .txt-big {
  font-size: 54px;
  letter-spacing: 0.03em;
  display: block;
  margin-top: 10px;
}
main .product .heading p .strong {
  font-size: 80px;
  font-weight: 700;
  color: #E23E1A;
}
main .product_detail {
  border: solid 4px #707481;
  border-radius: 20px;
  text-align: center;
  margin-top: 60px;
  padding: 50px;
  -webkit-box-shadow: 0 10px 20px rgba(150, 150, 150, .25);
          box-shadow: 0 10px 20px rgba(150, 150, 150, .25);
}
main .product_detail dt {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  background: #3FA9F5;
  border-radius: 40px;
  padding: 15px 20px;
  display: inline-block;
}
main .product_detail dd {
  margin-top: 40px;
}
main .product_detail dl + dl {
  margin-top: 60px;
}
main .product .detail_txt {
  max-width: 1006px;
  margin: 60px auto 0;
}
main .product .bubble {
  background: url("../img/bubble_bg.png") center center/cover no-repeat;
  background-size: 100% 100%;
  max-width: 1003px;
  margin: auto;
  padding: 26px 20px 16px;
}
main .product .bubble p {
  font-size: 32px;
  max-width: 740px;
  margin: auto;
  line-height: 1.5;
}
main .product .bubble p span {
  font-size: 48px;
  color: #3FA9F5;
}
main .product_features {
  margin-top: 60px;
}
main .product_features dt p {
  font-size: 36px;
  font-weight: 700;
  color: #1B224C;
  text-align: center;
}
main .product_features dt .service_name {
  max-width: 675px;
  margin: 30px auto 0;
}
main .product_features dd {
  max-width: 1020px;
  margin: 55px auto 0;
}
main .product_features dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
main .product_features dd .feature_item {
  background: #fff;
  border-radius: 100px;
  font-size: 36px;
  font-weight: 700;
  color: #1B224C;
  margin: 0 15px;
}
main .product_features dd .feature_item span {
  font-size: 26px;
}
main .product_features dd .feature_item01 {
  padding: 6px 65px 10px;
}
main .product_features dd .feature_item02,
main .product_features dd .feature_item03 {
  padding: 6px 50px 10px;
  margin-top: 30px;
}
/*========================================== 
  6.APPEAL (PC)
========================================== */
main .appeal {
  background: #fff;
  padding: 100px 0;
  text-align: center;
}
main .appeal .btn_wrap {
  text-align: center;
}
main .appeal .btn_wrap p {
  font-size: 30px;
  font-weight: 700;
  display: inline-block;
  position: relative;
}
main .appeal .btn_wrap a {
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  max-width: 865px;
  height: 180px;
  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;
  margin: 24px auto 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1.98%, #F75B24), color-stop(98.04%, #C64B26));
  background: linear-gradient(180deg, #F75B24 1.98%, #C64B26 98.04%);
  border-radius: 10px;
  position: relative;
}
main .appeal .btn_wrap a::before {
  content: "";
  background: url("../img/btn_icon02.png") center center/contain no-repeat;
  width: 149px;
  height: 173px;
  position: absolute;
  top: 0;
  right: -8px;
}
main .appeal .contact_wrap {
  margin-top: 68px;
}
main .appeal .contact_wrap .contact_ttl {
  font-size: 32px;
  font-weight: 700;
}
main .appeal .contact_wrap .contact_detail {
  max-width: 700px;
  margin: 30px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  position: relative;
}
main .appeal .contact_wrap figure {
  position: absolute;
  left: 0;
  bottom: -33px;
}
main .appeal .contact_wrap .tel {
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
  color: #1B224C;
  margin-right: 30px;
}
main .appeal .contact_wrap .time {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #1B224C;
}

/*========================================== 
  7.POINT (PC)
========================================== */
main .point {
  padding: 100px 0;
}
main .point h2 img {
  position: relative;
  top: 2px;
  margin-right: 10px;
}
main .point ul {
  margin-top: 80px;
}
main .point li {
  background: #fff;
  border-radius: 40px;
  -webkit-box-shadow: 0 10px 20px rgba(150, 150, 150, .25);
          box-shadow: 0 10px 20px rgba(150, 150, 150, .25);
  width: 100%;
  height: 310px;
  margin-top: 30px;
  position: relative;
  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 .point li:first-of-type {
  margin: 0;
}
main .point li .number {
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  color: #40A9F4;
  position: absolute;
  top: 20px;
  left: 5.4166666667%;
}
main .point li .img_wrap {
  width: 30.7%;
}
main .point li .img_inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
main .point li figure {
  width: 175px;
  margin-right: 58px;
}
main .point li dl {
  width: calc(100% - 380px);
}
main .point li dt {
  font-size: 36px;
  font-weight: 900;
  color: #EB4F02;
}
main .point li dt span {
  font-size: 20px;
  font-weight: 700;
  display: block;
}
main .point li dd {
  font-size: 24px;
  margin-top: 10px;
}

/*========================================== 
  8.PRICE (PC)
========================================== */
main .price {
  background: #BCDAEF;
  padding: 100px 0;
}
main .price_wrap {
  background: #fff;
  border-radius: 22px;
  -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
          box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
  padding: 50px 30px 34px;
  margin-top: 80px;
}
main .price_cont01 {
  max-width: 1010px;
  margin: auto;
}
main .price_cont01_main {
  background: #F5F4ED;
  border-radius: 22px;
  max-width: 900px;
  height: 203px;
  margin: auto;
  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 .price_cont01_detail {
  width: 544px;
}
main .price_cont01 ul {
  margin-top: 16px;
}
main .price_cont01 li {
  font-size: 26px;
  line-height: 1.5;
}
main .price_cont02 {
  max-width: 1000px;
  margin: auto;
}
main .price_cont02 .bubble {
  background: url("../img/bubble_bg02.png") center center/cover no-repeat;
  background-size: 100% 100%;
  font-size: 28px;
  font-weight: 700;
  color: #3FA9F5;
  text-align: center;
  width: 550px;
  margin: 40px auto 0;
  padding: 25px 20px 50px;
}
main .price_cont02 .bubble span {
  font-size: 36px;
}
main .price_cont02 .bubble + p {
  margin-top: 42px;
}
main .price_cont03 {
  max-width: 900px;
  margin: 57px auto 0;
}
main .price_cont03_inner {
  padding: 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: solid 2px #707070;
  border-bottom: solid 2px #707070;
}
main .price_cont03_inner figure {
  width: 168px;
}
main .price_cont03_inner p {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #1B224C;
  width: calc(100% - 208px);
}
main .price_cont03_inner p span {
  display: block;
  text-align: right;
}
main .price_cont03 a {
  font-size: 18px;
  font-weight: 700;
  color: #1B224C;
  margin-top: 10px;
  text-align: center;
  padding: 0 12px;
}
main .price_cont03 a span {
  text-decoration: underline;
}
main .price_cont03 a .url {
  display: block;
  text-align: right;
  font-size: 20px;
  font-weight: 400;
  color: #707070;
  text-decoration: none;
}
main .price_detail {
  text-align: center;
  margin-top: 80px;
}
main .price_detail h3 {
  font-size: 50px;
  list-style: 1.5;
  border-bottom: solid 5px #929292;
  display: inline-block;
}
main .price_detail .heading {
  max-width: 1054px;
  margin: auto;
}
main .price_detail .heading p {
  font-size: 26px;
  line-height: 1.5;
  text-align: left;
  margin-top: 30px;
}
main .price_detail ul {
  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: 37px;
}
main .price_detail ul::after {
  content: "";
  display: block;
  width: 31.6666666667%;
}
main .price_detail li {
  background: #fff;
  border-radius: 22px;
  width: 31.6666666667%;
  min-height: 380px;
  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;
  -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
          box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
  padding: 0 10px;
}
main .price_detail li p {
  font-size: 40px;
  font-weight: 700;
}
main .price_detail li p .txt-big {
  font-size: 40px;
}
main .price_detail li p span {
  font-size: 23px;
}
main .price_detail li figure {
  width: 180px;
  margin-top: 40px;
}
main .price_detail ul + p {
  font-size: 26px;
  font-weight: 700;
  color: #1B224C;
  text-align: center;
  margin-top: 60px;
}
main .price_detail a {
  background: #3FA9F5;
  font-size: 39px;
  font-weight: 700;
  color: #fff;
  width: 559px;
  height: 106px;
  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;
  margin: 65px auto 0;
  border-radius: 60px;
}
/*========================================== 
  9.FLOW (PC)
========================================== */
main .flow {
  padding: 100px 0;
}
main .flow .wrap {
  max-width: 1100px;
}
main .flow .flow_img {
  max-width: 1060px;
  margin: 80px auto 0;
}
main .flow ul {
  margin-top: 105px;
}
main .flow li {
  margin-top: 50px;
  padding: 60px 0 0 60px;
  position: relative;
}
main .flow li:first-of-type {
  margin: 0;
}
main .flow li .flow_item {
  background: #fff;
  min-height: 363px;
  padding: 30px 6.3%;
  border-radius: 22px;
  -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
          box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
main .flow li .flow_item01::before,
main .flow li .flow_item02::before,
main .flow li .flow_item03::before {
  content: "";
  background: url("../img/flow_icon01.png") center top/contain no-repeat;
  width: 18.7%;
  height: 171px;
  position: absolute;
  top: 10px;
  right: 0;
}
main .flow li .flow_item02::before {
  background: url("../img/flow_icon02.png") center top/contain no-repeat;
  top: 10px;
  right: 10px;
}
main .flow li .flow_item03::before {
  background: url("../img/flow_icon03.png") center top/contain no-repeat;
  top: 15px;
  right: 14px;
}
main .flow li .number {
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.03em;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  margin: 0;
  background: #40A9F4;
  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;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
main .flow li .number span {
  border-bottom: solid 2px #fff;
  position: relative;
  bottom: 4px;
}
main .flow li h3 {
  font-size: 50px;
  font-weight: 700;
  line-height: 1;
}
main .flow li h3 span {
  font-size: 36px;
}
main .flow li p {
  font-size: 24px;
  line-height: 1.5;
  margin-top: 50px;
}
main .flow .message {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.38;
  max-width: 1117px;
  margin: 70px auto 0;
  padding: 0 20px;
}
main .flow .sup {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
  margin-top: 50px;
}

/*========================================== 
  10.FAQ (PC)
========================================== */
main .faq {
  background: #BCDAEF;
  padding: 100px 0;
}
main .faq_wrap {
  max-width: 900px;
  margin: 80px auto 0;
  background: #fff;
  border-radius: 22px;
  -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
          box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
  padding: 47px 7%;
}
main .faq dl {
  border-bottom: solid 1px #1B224C;
}
main .faq dl:last-of-type {
  border: none;
}
main .faq .accordion_body_inner,
main .faq .accordion_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .faq .accordion_body_inner span,
main .faq .accordion_ttl span {
  width: 22px;
  font-weight: 700;
  display: block;
  margin-right: 10px;
}
main .faq .accordion_body {
  display: none;
  font-size: 20px;
  color: #1B224C;
  padding: 0 0 20px;
}
main .faq .accordion_ttl {
  padding: 20px 60px 20px 0;
  color: #1B224C;
  font-size: 20px;
  font-weight: 700;
  position: relative;
  cursor: pointer;
}
main .faq .accordion_ttl::before {
  content: "＋";
  position: absolute;
  right: 20px;
}
main .faq .accordion_ttl.active::before {
  content: "－";
}

/*========================================== 
  11.FORM (PC)
========================================== */
main .form {
  background: #fff;
  padding: 100px 0 27px;
}
main .form .wrap {
  max-width: 940px;
}
main .form .heading {
  text-align: center;
}
main .form .heading h2 {
  font-size: 36px;
  font-weight: 700;
  color: #1B224C;
}
main .form .heading p {
  font-size: 20px;
  font-weight: 700;
  margin-top: 44px;
}
main .form form {
  margin-top: 50px;
}
main .form input[type=submit],
main .form input[type=email],
main .form input[type=text],
main .form input[type=tel],
main .form input[type=textarea],
main .form input[type=checkbox],
main .form input[type=button] {
  border-radius: 0;
  border: 1px solid rgba(60, 60, 67, .6);
  -webkit-appearance: none;
}
main .form .form-group {
  margin-top: 20px;
}
main .form .col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
main .form .col2 .name {
  width: 140px;
  margin-right: 20px;
}
main .form label {
  font-size: 22px;
  display: block;
}
main .form .label-required,
main .form .label-optional {
  font-size: 16px;
  color: #fff;
  line-height: 1.9;
  padding: 2px 10px 3px;
  background: #FF0000;
  border-radius: 30px;
  margin-left: 10px;
}
main .form .strong {
  font-size: 22px;
  color: #EB0202;
}
main .form .txt-small {
  font-size: 20px;
  color: #1B224C;
}
main .form .label-optional {
  background: #40A9F4;
}
main .form .form-control {
  font-size: 16px;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  margin-top: 5px;
}
main .form textarea.form-control {
  height: auto;
  padding: 10px 20px;
}
main .form h3 {
  font-size: 22px;
  color: #1B224C;
  text-align: center;
  margin-top: 47px;
  font-weight: 400;
}
main .form .policy {
  border: solid 1px #C4C4C4;
  padding: 20px;
  width: 100%;
  height: 154px;
  overflow-y: scroll;
  margin-top: 24px;
}
main .form .policy dt {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  padding-bottom: 5px;
  border-bottom: solid 1px #D9D9D9;
}
main .form .policy dd {
  margin-top: 10px;
}
main .form .policy dd * + * {
  margin-top: 20px;
}
main .form .policy dd ol {
  margin-left: 20px;
}
main .form .policy dd ol, main .form .policy dd li {
  list-style: decimal;
}
main .form .policy dd li + li {
  margin: 0;
}
main .form .policy dd .mark {
  text-align: right;
}
main .form .policy dd .mark figure {
  width: 100px;
  margin: 10px 38px 0 auto;
}
main .form .policy + .policy {
  margin-top: 37px;
}
main .form .agree_box {
  margin-top: 37px;
}
main .form .agree_box p {
  font-size: 24px;
  font-weight: 400;
  text-align: center;
}
main .form .agree_box .form-group {
  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 .form .agree_box input[type=checkbox] {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #1B224C;
  margin-right: 16px;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
main .form .agree_box input[type=checkbox]:checked:before {
  content: "";
  position: absolute;
  top: -6px;
  left: 4px;
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
  width: 12px;
  height: 20px;
  border-right: 2px solid #1B224C;
  border-bottom: 2px solid #1B224C;
}
main .form .select_box {
  width: 301px;
  margin-right: 8px;
  position: relative;
}
main .form .select_box::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 7px 0 7px;
  border-color: #D9D9D9 transparent transparent transparent;
  position: absolute;
  top: 55%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
main .form .select_box select {
  width: 100%;
  padding: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #fff;
  border: 1px solid rgba(60, 60, 67, .6);
  color: #000;
}
main .form .select_box select::-ms-expand {
  display: none;
}
main .form button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 320px;
  height: 70px;
  border-radius: 5px;
  background: #3FA9F5;
  font-size: 26px;
  font-weight: 700;
  color: #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;
  margin: 33px auto 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main .form button:hover {
  opacity: 0.7;
}

footer .footer_inner {
  width: 100%;
  margin-top: 20px;
  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;
}
footer .logo {
  width: 295px;
}
footer .tel_wrap {
  text-align: center;
  width: 232px;
  margin-left: 56px;
}
footer .tel_wrap p {
  font-size: 18px;
  color: #1B224C;
}
footer .tel_wrap .tel {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: #1B224C;
  position: relative;
}
footer .tel_wrap .tel::before {
  content: "";
  background: url("../img/tel_icon.png") center center/contain no-repeat;
  width: 16px;
  height: 24px;
  position: absolute;
  bottom: 2px;
  left: -24px;
}
footer .footer-content {
  background: #1B224C;
  padding: 30px 0 10px;
  margin-top: 40px;  
  text-align: center;
}
footer .connection {
  font-size: 18px;
  color: #fff;
  margin-bottom: 28px;
}
footer .w_logo {
  width: 180px;
  height: auto;
}
footer .copyright {
  padding: 13px 0 12px;
  font-size: 12px;
  color: #fff;
  margin-top: 40px;
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -100px);
            transform: translate(-50%, -100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 1080px) {
  header .wrap {
    padding: 26px 2.34375% 26px 2.34375%;
  }
  header .logo {
    width: 250px;
    position: absolute;
    top: 10px;
    left: 20px;
  }
  header .header_inner {
    width: 100%;
    min-width: 100%;
  }
  header .contact_btn {
    width: 180px;
    margin-left: 12px;
  }
}
@media screen and (max-width: 1280px) {
  main .mv a {
    font-size: 2.8125vw;
    width: 35.546875vw;
    height: 8.4375vw;
    border-radius: 0.3125vw;
    bottom: 2.65625vw;
    right: 5.625vw;
    -webkit-box-shadow: 0 0.3125vw 1.9140625vw rgb(255, 255, 255);
            box-shadow: 0 0.3125vw 1.9140625vw rgb(255, 255, 255);
  }
  main .mv a::before {
    width: 6.25vw;
    height: 8.4375vw;
  }
}
@media screen and (max-width: 1120px) {
  main .threat ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  main .threat .threat_item01 {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  main .threat .threat_item02,
  main .threat .threat_item03 {
    margin-top: 50px;
  }
}
@media screen and (max-width: 900px) {
  main .product .bubble {
    padding: 2.6vw 2vw 1.6vw;
  }
  main .product .bubble p {
    font-size: 3.2vw;
    max-width: 74vw;
    margin: auto;
  }
  main .product .bubble p span {
    font-size: 4.8vw;
  }
}
@media screen and (max-width: 980px) {
  main .price_detail li {
    min-height: 38.7755102041vw;
  }
  main .price_detail li p {
    font-size: 4.0816326531vw;
  }
  main .price_detail li p span {
    font-size: 2.3469387755vw;
  }
  main .price_detail li figure {
    width: 18.3673469388vw;
    margin-top: 4.0816326531vw;
  }
}
@media screen and (max-width: 767px) {
  /*========================================== 
    1.Common (SP)
  ========================================== */
  main, header, footer {
    max-width: 100%;
    margin: auto;
    overflow: hidden;
  }
  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 .wrap, header .wrap, footer .wrap {
    max-width: 88vw;
    padding: 0;
  }
  main img, header img, footer img {
    width: 100%;
    height: auto;
  }
  main {
    padding-top: 13.3333333333vw;
  }
  main .ttl {
    font-size: 4.8vw;
    font-weight: 700;
    width: 64vw;
    height: 8.6666666667vw;
  }
  header {
    overflow: visible;
    overflow: initial;
  }
  header .wrap {
    max-width: 100%;
    padding: 1.6vw 4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  header .logo {
    width: 29.7333333333vw;
    position: relative;
    top: 0;
    left: 0;
  }
  header .header_inner {
    width: auto;
    min-width: auto;
  }
  header .contact_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  header .contact_btn {
    width: 25.4666666667vw;
    height: 9.3333333333vw;
    font-size: 2.6666666667vw;
    border-radius: 1.2vw;
    margin-left: 4vw;
  }
  header .tel_wrap {
    width: auto;
  }
  header .tel_wrap p {
    font-size: 2.1333333333vw;
  }
  header .tel_wrap .tel {
    font-size: 2.6666666667vw;
  }
  header .tel_wrap .tel::before {
    width: 1.3333333333vw;
    height: 2vw;
    bottom: 0.2666666667vw;
    left: -2vw;
  }
  header nav {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background: #fff;
    width: 100%;
    height: 100vh;
    display: none;
    margin-top: 0;
    padding: 9.7826086957vw 10.4347826087vw 30vh;
    overflow: scroll;
  }
  header nav ul {
    display: block;
    width: 100%;
  }
  header nav li a {
    font-size: 5.652173913vw;
    margin: 9.7826086957vw 0 0;
  }
  header nav .contact_btn {
    width: 52.1739130435vw;
    height: 15.4347826087vw;
    font-size: 4.347826087vw;
    margin: 20vw auto 0;
  }
  header nav .tel_wrap {
    margin: 7.3913043478vw 0 0;
  }
  header nav .tel_wrap p {
    font-size: 3.9130434783vw;
  }
  header nav .tel_wrap .tel {
    font-size: 6.9565217391vw;
  }
  header nav .tel_wrap .tel::before {
    content: none;
  }
  header .hamburger {
    width: 4.6666666667vw;
    height: 2.6666666667vw;
    margin-left: 4vw;
    position: relative;
    border: none;
    background: transparent;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding: 0;
    cursor: pointer;
  }
  header .hamburger_bar {
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  header .hamburger_bar:first-child {
    top: 0;
  }
  header .hamburger_bar:nth-child(2) {
    top: 1.3333333333vw;
  }
  header .hamburger_bar:last-child {
    top: 2.6666666667vw;
  }
  header .hamburger_close {
    position: absolute;
    top: 9.7826086957vw;
    right: 10.4347826087vw;
    width: 9.1304347826vw;
    height: 9.1304347826vw;
    margin: 0;
  }
  header .hamburger_close .hamburger_bar:first-child {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
  }
  header .hamburger_close .hamburger_bar:last-child {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  header .hamburger_close .hamburger_bar:nth-child(2) {
    display: none;
  }
  /*========================================== 
    2.MV (SP)
  ========================================== */
  main .mv a {
    font-size: 4.4vw;
    width: 60.6666666667vw;
    height: 12.6666666667vw;
    border-radius: 0.5333333333vw;
    bottom: 4.1333333333vw;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    -webkit-box-shadow: 0 0.5333333333vw 3.2666666667vw rgb(255, 255, 255);
            box-shadow: 0 0.5333333333vw 3.2666666667vw rgb(255, 255, 255);
  }
  main .mv a::before {
    background: url("../img/btn_icon-sp.png") center center/contain no-repeat;
    width: 6.9333333333vw;
    height: 11.0666666667vw;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  /*========================================== 
    3.CERTIFICATION (SP)
  ========================================== */
  main .certification {
    max-width: 100%;
    padding: 4vw 2.9333333333vw 0;
  }
  main .certification_wrap {
    display: block;
    padding: 3.7333333333vw 3.8666666667vw;
    position: relative;
  }
  main .certification figure {
    width: 25.3333333333vw;
    position: absolute;
    top: 2.6666666667vw;
    right: 1.8666666667vw;
  }
  main .certification p {
    width: 69.0666666667vw;
    font-size: 3.4666666667vw;
    bottom: 0.8vw;
  }
  main .certification p span {
    font-size: 3.2vw;
  }
  main .certification .certification_number {
    font-size: 2.6666666667vw;
    padding: 1.0666666667vw 1.0666666667vw 0;
  }
  /*========================================== 
    4.THREAT (SP)
  ========================================== */
  main .threat {
    padding: 13.3333333333vw 0;
  }
  main .threat .wrap {
    max-width: 94vw;
  }
  main .threat h2 {
    font-size: 4.5333333333vw;
  }
  main .threat h2 span {
    font-size: 3.4666666667vw;
    margin-bottom: 6.6666666667vw;
  }
  main .threat_inner {
    border-radius: 5.3333333333vw;
    margin-top: 10.9333333333vw;
    padding: 10.1333333333vw 4vw;
    -webkit-box-shadow: 0.2666666667vw 0.5333333333vw 0.5333333333vw rgba(0, 0, 0, .5);
            box-shadow: 0.2666666667vw 0.5333333333vw 0.5333333333vw rgba(0, 0, 0, .5);
  }
  main .threat .source {
    font-size: 2.6666666667vw;
    color: #707070;
  }
  main .threat ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  main .threat li {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  main .threat li:first-of-type {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin: 0;
  }
  main .threat .threat_item02,
  main .threat .threat_item03 {
    margin-top: 6.6666666667vw;
  }
  main .threat .threat_item03 dt .number {
    margin: 0 auto 6.2666666667vw;
  }
  main .threat .threat_item03 dt .number + .small-txt {
    padding-bottom: 3.6vw;
  }
  main .threat dt {
    font-size: 4.8vw;
  }
  main .threat dt .number {
    font-size: 4.8vw;
    border-radius: 5.3333333333vw;
    width: 18.8vw;
    margin: 0 auto 4vw;
    padding: 1.6vw 0 2.1333333333vw;
  }
  main .threat dt .number .small-txt {
    font-size: 2.6666666667vw;
    padding-bottom: 0.4vw;
  }
  main .threat dt .small-txt {
    font-size: 3.4666666667vw;
    padding-bottom: 1.3333333333vw;
  }
  main .threat dd .result {
    font-size: 9.0666666667vw;
    text-shadow: 0.2666666667vw 0.2666666667vw 0px rgb(0, 0, 0);
  }
  main .threat dd .result span {
    font-size: 5.0666666667vw;
  }
  main .threat dd .sup {
    font-size: 3.2vw;
    margin-top: 2.1333333333vw;
  }
  main .threat_cont01 {
    padding-bottom: 2.6666666667vw;
  }
  main .threat_cont01 .source {
    margin-top: 9.6vw;
  }
  main .threat_cont02 {
    padding: 10.4vw 0 0;
  }
  main .threat_cont02 h3 {
    font-size: 5.3333333333vw;
  }
  main .threat_cont02 h3 span {
    font-size: 3.4666666667vw;
  }
  main .threat_cont02 figure {
    max-width: 60.2666666667vw;
    margin: 15.4666666667vw auto 0;
  }
  main .threat_cont02 .source {
    color: #000;
    margin-top: 5.3333333333vw;
    text-align: left;
  }
  main .threat_inner02 {
    padding: 10.6666666667vw 0 0;
  }
  main .threat_inner02 h3 {
    font-size: 4.8vw;
  }
  main .threat_inner02 .anxiety {
    max-width: 90vw;
    margin: 10.9333333333vw auto 0;
  }
  main .threat_inner02 .anxiety + p {
    font-size: 3.4666666667vw;
    margin-top: 6.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
  main .threat_inner02 .anxiety + p::before {
    width: 51.2vw;
    height: 6.5333333333vw;
  }
  main .threat_inner02 .catch {
    max-width: 82.6666666667vw;
    margin: 3.4666666667vw auto 0;
  }
  main .threat_inner02 .catch p {
    font-size: 6.4vw;
    width: 51.2vw;
    padding-top: 15.8666666667vw;
  }
  main .threat_inner02 .catch figure {
    width: 29.3333333333vw;
  }
  main .threat_inner02 .catch + p {
    font-size: 8.5333333333vw;
    line-height: 1.8;
    padding-bottom: 5.3333333333vw;
  }
  main .threat_inner02 .catch + p::before {
    width: 46vw;
    height: 9.2vw;
    bottom: 1.6vw;
    left: 53%;
  }
  main .threat_inner02 .catch + p span {
    font-size: 4vw;
  }
  /*========================================== 
    5.PRODUCT (SP)
  ========================================== */
  main .product {
    padding: 13.3333333333vw 0;
  }
  main .product .wrap {
    max-width: 92vw;
  }
  main .product_wrap {
    max-width: 100%;
    border-radius: 5.3333333333vw;
    padding: 8vw 1.3333333333vw;
  }
  main .product h2 {
    max-width: 76vw;
  }
  main .product .heading p {
    font-size: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
  main .product .heading p .txt-blue {
    font-size: 5.3333333333vw;
  }
  main .product .heading p .txt-small {
    font-size: 4.2666666667vw;
  }
  main .product .heading p .txt-big {
    font-size: 4.2666666667vw;
    margin-top: 1.3333333333vw;
  }
  main .product .heading p .strong {
    font-size: 9.3333333333vw;
    line-height: 1.8;
  }
  main .product_detail {
    border: solid 0.4vw #707481;
    border-radius: 2.6666666667vw;
    margin-top: 6.6666666667vw;
    padding: 4vw 2vw;
    -webkit-box-shadow: 0 1.3333333333vw 2.6666666667vw rgba(150, 150, 150, .25);
            box-shadow: 0 1.3333333333vw 2.6666666667vw rgba(150, 150, 150, .25);
  }
  main .product_detail dt {
    font-size: 3.2vw;
    border-radius: 5.3333333333vw;
    padding: 1.3333333333vw 6.4vw;
  }
  main .product_detail dd {
    margin-top: 4vw;
  }
  main .product_detail dl + dl {
    margin-top: 6.6666666667vw;
  }
  main .product_detail dl + dl dd {
    width: 84vw;
    margin: 4vw auto 0;
  }
  main .product .detail_txt {
    max-width: 68.1333333333vw;
    margin: 6.6666666667vw auto 0;
  }
  main .product .bubble {
    background: url("../img/bubble_bg-sp.png") center center/cover no-repeat;
    background-size: 100% 100%;
    max-width: 83.3333333333vw;
    margin: 3.2vw auto 0;
    padding: 5.3333333333vw 1.8666666667vw 1.7333333333vw;
  }
  main .product .bubble p {
    font-size: 3.2vw;
    max-width: 100%;
  }
  main .product .bubble p span {
    font-size: 3.2vw;
  }
  main .product_features {
    margin-top: 6.6666666667vw;
  }
  main .product_features dt p {
    font-size: 4.2666666667vw;
  }
  main .product_features dt .service_name {
    max-width: 71.0666666667vw;
    margin: 5.3333333333vw auto 0;
  }
  main .product_features dd {
    max-width: 100%;
    margin: 8vw auto 0;
  }
  main .product_features dd .feature_item {
    border-radius: 13.3333333333vw;
    font-size: 4.8vw;
    margin: 0;
  }
  main .product_features dd .feature_item span {
    font-size: 3.4666666667vw;
  }
  main .product_features dd .feature_item01 {
    padding: 0.8vw 8.6666666667vw 1.3333333333vw;
  }
  main .product_features dd .feature_item02,
  main .product_features dd .feature_item03 {
    padding: 0.8vw 6.6666666667vw 1.3333333333vw;
    margin-top: 4vw;
  }
  /*========================================== 
    6.APPEAL (SP)
  ========================================== */
  main .appeal {
    padding: 7.7333333333vw 0 4vw;
  }
  main .appeal .btn_wrap p {
    font-size: 4vw;
  }
  main .appeal .btn_wrap a {
    font-size: 4.8vw;
    max-width: 92vw;
    height: 16.6666666667vw;
    margin: 3.0666666667vw auto 0;
    border-radius: 1.3333333333vw;
  }
  main .appeal .btn_wrap a::before {
    width: 13.4666666667vw;
    height: 15.6vw;
    top: 0;
    right: -1.0666666667vw;
  }
  main .appeal .contact_wrap {
    margin-top: 2.6666666667vw;
  }
  main .appeal .contact_wrap .contact_ttl {
    font-size: 4.2666666667vw;
  }
  main .appeal .contact_wrap .contact_detail {
    max-width: 100%;
    margin: 5.0666666667vw auto 0;
    -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 .appeal .contact_wrap figure {
    width: 14vw;
    left: 0;
    bottom: 0;
  }
  main .appeal .contact_wrap .tel {
    font-size: 8.5333333333vw;
    margin-right: 0;
    margin-left: 5.3333333333vw;
  }
  main .appeal .contact_wrap .time {
    font-size: 3.2vw;
    margin-top: 1.6vw;
  }
  /*========================================== 
    7.POINT (SP)
  ========================================== */
  main .point {
    padding: 13.3333333333vw 0;
  }
  main .point h2 img {
    width: 19.3333333333vw;
    height: auto;
    top: 0.2666666667vw;
    margin-right: 0.9333333333vw;
  }
  main .point ul {
    width: 62vw;
    margin: 8vw auto 0;
  }
  main .point li {
    border-radius: 5.3333333333vw;
    -webkit-box-shadow: 0 1.3333333333vw 2.6666666667vw rgba(150, 150, 150, .25);
            box-shadow: 0 1.3333333333vw 2.6666666667vw rgba(150, 150, 150, .25);
    width: 100%;
    min-height: 61.7333333333vw;
    height: auto;
    margin-top: 4vw;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  main .point li .number {
    font-size: 7.7333333333vw;
    top: 9.3333333333vw;
    left: 5.3333333333vw;
  }
  main .point li .img_wrap {
    width: 100%;
    height: 22.6666666667vw;
  }
  main .point li .img_inner {
    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;
    width: 100%;
    height: 100%;
  }
  main .point li figure {
    margin: auto;
  }
  main .point li dl {
    width: 100%;
    padding: 5.3333333333vw 4.6666666667vw;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  main .point li dt {
    font-size: 4.8vw;
    width: 100%;
    padding-left: 12.2666666667vw;
  }
  main .point li dt span {
    font-size: 2.6666666667vw;
    margin-bottom: 1.0666666667vw;
  }
  main .point li dd {
    font-size: 3.2vw;
    margin-top: 2.1333333333vw;
  }
  main .point .point_item01 figure {
    width: 21.3333333333vw;
  }
  main .point .point_item02 figure {
    width: 22.6666666667vw;
  }
  main .point .point_item03 figure {
    width: 22.6666666667vw;
  }
  main .point .point_item04 figure {
    width: 20vw;
  }
  main .point .point_item05 figure {
    width: 18.6666666667vw;
  }
  /*========================================== 
    8.PRICE (SP)
  ========================================== */
  main .price {
    padding: 13.3333333333vw 0;
  }
  main .price .wrap {
    max-width: 92vw;
  }
  main .price_wrap {
    border-radius: 2.9333333333vw;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
            box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
    padding: 1.3333333333vw;
    margin-top: 10.6666666667vw;
  }
  main .price_cont01 {
    max-width: 100%;
  }
  main .price_cont01_main {
    border-radius: 2.9333333333vw;
    max-width: 100%;
    height: auto;
    padding: 3.8666666667vw 0 3.6vw;
  }
  main .price_cont01_detail {
    width: 38.1333333333vw;
  }
  main .price_cont01 ul {
    width: 78.4vw;
    margin: 9.2vw auto 0;
  }
  main .price_cont01 li {
    font-size: 3.4666666667vw;
  }
  main .price_cont02 {
    max-width: 100%;
  }
  main .price_cont02 .bubble {
    font-size: 3.7333333333vw;
    width: 73.3333333333vw;
    margin: 11.8666666667vw auto 0;
    padding: 3.3333333333vw 2.6666666667vw 8vw;
  }
  main .price_cont02 .bubble span {
    font-size: 4.8vw;
  }
  main .price_cont02 .bubble + p {
    margin-top: 6.6666666667vw;
  }
  main .price_cont03 {
    max-width: 85.3333333333vw;
    margin: 6vw auto 0;
  }
  main .price_cont03_inner {
    padding: 8vw 0 4vw;
    display: block;
    position: relative;
  }
  main .price_cont03_inner figure {
    width: 29.2vw;
    position: absolute;
    top: 4vw;
    right: 0;
  }
  main .price_cont03_inner p {
    font-size: 3.4666666667vw;
    width: 100%;
  }
  main .price_cont03_inner p span {
    font-size: 3.2vw;
    display: block;
    text-align: right;
  }
  main .price_cont03 a {
    font-size: 1.7333333333vw;
    margin-top: 1.3333333333vw;
    text-align: center;
    padding: 0;
  }
  main .price_cont03 a .url {
    font-size: 1.8666666667vw;
  }
  main .price_detail {
    margin-top: 10.6666666667vw;
  }
  main .price_detail h3 {
    font-size: 5.3333333333vw;
    border-bottom: solid 0.6666666667vw #929292;
  }
  main .price_detail .heading {
    max-width: 100%;
  }
  main .price_detail .heading p {
    font-size: 3.4666666667vw;
    margin-top: 4vw;
  }
  main .price_detail ul {
    margin-top: 9.3333333333vw;
  }
  main .price_detail ul::after {
    width: 28.4vw;
  }
  main .price_detail li {
    border-radius: 2.9333333333vw;
    width: 28.4vw;
    min-height: 28.4vw;
    -webkit-box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
            box-shadow: 2px 4px 4px rgba(0, 0, 0, .5);
    padding: 2.6666666667vw 4vw 2.1333333333vw;
  }
  main .price_detail li p {
    font-size: 3.4666666667vw;
  }
  main .price_detail li p .txt-big {
    font-size: 4.8vw;
  }
  main .price_detail li p span {
    font-size: 3.4666666667vw;
  }
  main .price_detail li figure {
    width: 12.2666666667vw;
    margin-top: 0.9333333333vw;
  }
  main .price_detail ul + p {
    font-size: 3.2vw;
    margin-top: 8vw;
    line-height: 1.5;
  }
  main .price_detail a {
    font-size: 5.2vw;
    width: 74.5333333333vw;
    height: 14.1333333333vw;
    margin: 12vw auto 0;
    border-radius: 8vw;
  }
  /*========================================== 
    9.FLOW (SP)
  ========================================== */
  main .flow {
    padding: 100px 0;
  }
  main .flow .wrap {
    max-width: 94.6666666667vw;
  }
  main .flow .flow_img {
    max-width: 91.4666666667vw;
    margin: 10.6666666667vw auto 0;
  }
  main .flow ul {
    margin-top: 11.3333333333vw;
  }
  main .flow li {
    margin-top: 6.6666666667vw;
    padding: 8vw 4vw 0;
  }
  main .flow li .flow_item {
    min-height: auto;
    padding: 13.3333333333vw 5%;
    border-radius: 2.9333333333vw;
  }
  main .flow li .flow_item01::before,
  main .flow li .flow_item02::before,
  main .flow li .flow_item03::before {
    background-size: cover;
    width: 19.3333333333vw;
    height: 17.7333333333vw;
    position: absolute;
    top: 0;
    right: 0;
  }
  main .flow li .flow_item02::before {
    width: 26.1333333333vw;
    height: 21.3333333333vw;
    top: -0.8vw;
    right: 1.6vw;
  }
  main .flow li .flow_item03::before {
    width: 25.7333333333vw;
    height: 21.0666666667vw;
    top: -2.4vw;
    right: 0;
  }
  main .flow li .number {
    font-size: 6.4vw;
    width: 16vw;
    height: 16vw;
  }
  main .flow li .number span {
    bottom: 0.5333333333vw;
  }
  main .flow li h3 {
    font-size: 6.6666666667vw;
    margin-left: 1.7333333333vw;
    letter-spacing: 0.03em;
  }
  main .flow li h3 span {
    font-size: 4.8vw;
  }
  main .flow li p {
    font-size: 3.4666666667vw;
    margin-top: 6.6666666667vw;
  }
  main .flow .message {
    font-size: 3.4666666667vw;
    max-width: 93.0666666667vw;
    margin: 10.6666666667vw auto 0;
  }
  main .flow .sup {
    width: 84.5333333333vw;
    font-size: 3.2vw;
    text-align: left;
    margin: 9.3333333333vw auto 0;
  }
  /*========================================== 
    10.FAQ (SP)
  ========================================== */
  main .faq {
    padding: 13.3333333333vw 0;
  }
  main .faq_wrap {
    max-width: 91.0666666667vw;
    margin: 10.6666666667vw auto 0;
    border-radius: 2.9333333333vw;
    padding: 4vw 3.7333333333vw;
  }
  main .faq .accordion_body_inner span,
  main .faq .accordion_ttl span {
    width: 4vw;
    margin-right: 2.6666666667vw;
  }
  main .faq .accordion_body {
    font-size: 3.4666666667vw;
    padding: 0 0 4vw;
  }
  main .faq .accordion_ttl {
    padding: 4vw 2.4vw 4vw 0;
    font-size: 3.4666666667vw;
  }
  main .faq .accordion_ttl::before {
    right: 0;
  }
  /*========================================== 
    11.FORM (SP)
  ========================================== */
  main .form {
    padding: 13.3333333333vw 0;
  }
  main .form .wrap {
    max-width: 84.6666666667vw;
  }
  main .form .heading h2 {
    font-size: 4.8vw;
  }
  main .form .heading p {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
  main .form form {
    margin-top: 6.6666666667vw;
  }
  main .form .form-group {
    margin-top: 1.8666666667vw;
  }
  main .form .col2 .name {
    width: 17.0666666667vw;
    margin-right: 2.4vw;
  }
  main .form label {
    font-size: 2.1333333333vw;
  }
  main .form .label-required,
  main .form .label-optional {
    font-size: 2.1333333333vw;
    padding: 0.2666666667vw 1.3333333333vw 0.4vw;
    border-radius: 4vw;
    margin-left: 1.3333333333vw;
  }
  main .form .strong {
    font-size: 2.1333333333vw;
  }
  main .form .txt-small {
    font-size: 1.8666666667vw;
  }
  main .form .label-optional {
    background: #40A9F4;
  }
  main .form .form-control {
    font-size: 2.1333333333vw;
    height: 6.6666666667vw;
    padding: 0 1.8666666667vw;
    margin-top: 0.6666666667vw;
  }
  main .form h3 {
    font-size: 2.9333333333vw;
    margin-top: 9.6vw;
  }
  main .form .policy {
    padding: 2.6666666667vw;
    height: 22.2666666667vw;
    margin-top: 6.6666666667vw;
  }
  main .form .policy dt {
    font-size: 2.6666666667vw;
    padding-bottom: 0.6666666667vw;
  }
  main .form .policy dd {
    margin-top: 1.3333333333vw;
  }
  main .form .policy dd * + * {
    margin-top: 2.6666666667vw;
  }
  main .form .policy dd p, main .form .policy dd li {
    font-size: 2.1333333333vw;
  }
  main .form .policy dd ol {
    margin-left: 2.6666666667vw;
  }
  main .form .policy dd .mark figure {
    width: 13.3333333333vw;
    margin: 1.3333333333vw 5.0666666667vw 0 auto;
  }
  main .form .policy + .policy {
    margin-top: 6.6666666667vw;
  }
  main .form .agree_box {
    margin-top: 20.9333333333vw;
  }
  main .form .agree_box p {
    font-size: 3.2vw;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  main .form .agree_box .form-group {
    margin-top: 3.4666666667vw;
  }
  main .form .agree_box input[type=checkbox] {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin-right: 2.1333333333vw;
    vertical-align: -0.6666666667vw;
  }
  main .form .agree_box input[type=checkbox]:checked:before {
    top: -0.8vw;
    left: 0.5333333333vw;
    width: 1.6vw;
    height: 2.6666666667vw;
  }
  main .form .select_box {
    width: 40.1333333333vw;
    margin-right: 1.0666666667vw;
  }
  main .form .select_box::before {
    border-width: 2.1333333333vw 1.2vw 0 1.2vw;
    right: 1.3333333333vw;
  }
  main .form .select_box select {
    width: 100%;
    padding: 1.3333333333vw;
  }
  main .form button {
    width: 46.6666666667vw;
    height: 8.4vw;
    border-radius: 0.6666666667vw;
    font-size: 3.4666666667vw;
    margin: 4.2666666667vw auto 0;
  }
  main .form button:hover {
    opacity: 1;
  }
  footer .footer_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .logo {
    width: 37.7333333333vw;
  }
  footer .tel_wrap {
    width: 46.2666666667vw;
    margin-left: 0;
    margin-top: 4.5333333333vw;
  }
  footer .tel_wrap p {
    font-size: 3.2vw;
  }
  footer .tel_wrap .tel {
    font-size: 6.4vw;
  }
  footer .tel_wrap .tel::before {
    width: 3.2vw;
    height: 4.6666666667vw;
    bottom: 0.2666666667vw;
    left: -4.5333333333vw;
  }
  footer .copyright {
    padding: 1.3333333333vw 0;
    font-size: 2.6666666667vw;
    margin-top: 4.9333333333vw;
  }
}