body {
  margin: 0;
  padding: 0;
}
body *,
body *::before,
body *::after {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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.top article,
main.top aside,
main.top details,
main.top figcaption,
main.top figure,
main.top footer,
main.top header,
main.top hgroup,
main.top menu,
main.top nav,
main.top section,
main.top 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.top ul,
main.top li,
footer ul,
footer li {
  list-style: none;
}
header blockquote, header q,
main.top blockquote,
main.top q,
footer blockquote,
footer q {
  quotes: none;
}
header blockquote::before, header blockquote::after, header q::before, header q::after,
main.top blockquote::before,
main.top blockquote::after,
main.top q::before,
main.top q::after,
footer blockquote::before,
footer blockquote::after,
footer q::before,
footer q::after {
  content: "";
  content: none;
}
header a,
main.top 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.top a:hover,
footer a:hover {
  opacity: 0.7;
}
header button,
main.top 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.top address,
footer address {
  font-style: normal;
}
header ins,
main.top ins,
footer ins {
  color: #000;
  text-decoration: none;
}
header mark,
main.top mark,
footer mark {
  color: #000;
  font-style: italic;
  font-weight: bold;
}
header del,
main.top del,
footer del {
  text-decoration: line-through;
}
header table,
main.top table,
footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
header hr,
main.top hr,
footer hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #444;
  margin: 1em 0;
  padding: 0;
}
header input, header select,
main.top input,
main.top select,
footer input,
footer select {
  vertical-align: middle;
}
header button,
main.top button,
footer button {
  margin: 0;
}
header a,
header a:link,
header a:visited,
main.top a,
main.top a:link,
main.top a:visited,
footer a,
footer a:link,
footer a:visited {
  text-decoration: none;
}
header img,
main.top 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;
  font-size: 0;
  line-height: 0;
}
main .-pc,
header .-pc,
footer .-pc {
  display: block !important;
  font-size: 0;
  line-height: 0;
}
main .wrap,
header .wrap,
footer .wrap {
  max-width: 1440px;
  padding: 0 45px;
  margin: auto;
}
main .inner,
header .inner,
footer .inner {
  background: #fff;
  border-radius: 16px;
}
main .cont_wrap,
header .cont_wrap,
footer .cont_wrap {
  max-width: 1120px;
  padding: 0 20px;
  margin: auto;
}
main .btn_wrap,
header .btn_wrap,
footer .btn_wrap {
  width: 586px;
  margin: auto;
}
main .btn_wrap .btn_ttl,
header .btn_wrap .btn_ttl,
footer .btn_wrap .btn_ttl {
  font-size: 20px;
  position: relative;
  display: inline-block;
}
main .btn_wrap .btn_ttl::before, main .btn_wrap .btn_ttl::after,
header .btn_wrap .btn_ttl::before,
header .btn_wrap .btn_ttl::after,
footer .btn_wrap .btn_ttl::before,
footer .btn_wrap .btn_ttl::after {
  content: "";
  width: 25px;
  height: 36px;
  background: url("../img/common/txt_icon_black.png") center center/contain no-repeat;
  position: absolute;
  top: 0;
}
main .btn_wrap .btn_ttl::before,
header .btn_wrap .btn_ttl::before,
footer .btn_wrap .btn_ttl::before {
  left: -35px;
}
main .btn_wrap .btn_ttl::after,
header .btn_wrap .btn_ttl::after,
footer .btn_wrap .btn_ttl::after {
  right: -35px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
main .btn_wrap .btn,
header .btn_wrap .btn,
footer .btn_wrap .btn {
  font-size: 24px;
  color: #0CADE1;
  background: #fff;
  width: 100%;
  height: 124px;
  border: 3px solid #000;
  border-radius: 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 18px;
  padding: 0 77px;
  position: relative;
  -webkit-box-shadow: 6px 8px 0px #000;
          box-shadow: 6px 8px 0px #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
main .btn_wrap .btn::before,
header .btn_wrap .btn::before,
footer .btn_wrap .btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 23px solid #000;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: 54px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .btn_wrap .btn:hover,
header .btn_wrap .btn:hover,
footer .btn_wrap .btn:hover {
  opacity: 1;
  -webkit-box-shadow: unset;
          box-shadow: unset;
  -webkit-transform: translate(4px, 4px);
          transform: translate(4px, 4px);
}
main .btn_wrap .btn-red,
header .btn_wrap .btn-red,
footer .btn_wrap .btn-red {
  background: #E23336;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
main .btn_wrap .btn-red,
header .btn_wrap .btn-red,
footer .btn_wrap .btn-red{
  font-size: 32px;
  color: #fff;
  position: relative;
}
main .btn_wrap .btn-red .window_icon,
header .btn_wrap .btn-red .window_icon,
footer .btn_wrap .btn-red .window_icon {
  font-size: 32px;
  color: #fff;
  position: relative;
  padding-right: 10px;
}
main .btn_wrap .btn-red .window_icon::before,
header .btn_wrap .btn-red .window_icon::before,
footer .btn_wrap .btn-red .window_icon::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../img/common/window_icon.png") center center/contain no-repeat;
  position: absolute;
  right: -14px;
  bottom: 0;
}
main .btn_wrap .btn-red::before,
header .btn_wrap .btn-red::before,
footer .btn_wrap .btn-red::before {
  border-left: 23px solid #fff;
}
main .btn_wrap .ipa_logo,
header .btn_wrap .ipa_logo,
footer .btn_wrap .ipa_logo {
  width: 390px;
}

/*========================================== 
  header (PC)
========================================== */
header {
  padding: 2px 0 18px;
  -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 20px rgba(0, 0, 0, .25);
}
header .header_wrap {
  max-width: 1342px;
  padding: 0 15px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .header_heading {
  max-width: 382px;
  width: calc(100% - 900px);
}
header .company_list {
  width: 870px;
}
header dl {
  padding: 10px 0 15px;
  position: relative;
}
header dl::before {
  content: "";
  background: #141E42;
  width: calc(100% - 22px);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
header dt, header a.link {
  font-weight: 900;
  font-size: 12px;
  line-height: 1.25;
  color: #00ADDB;
  margin: 0 110px;
}
header dd {
  margin-top: 4px;
}
header a.link {
  display: inline-block;
  text-decoration: underline;
  vertical-align: top;
  margin-top: 10px;
}
header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
header .coremembers {
  padding: 15px 0 10px;
}
header .coremembers li {
  font-size: 17px;
  margin: 0 11px;
}
header .organization li {
  font-size: 12px;
  margin: 0 10px;
}
header .openbtn, header .nav_body {
  display: none;
}


/*========================================== 
  main (PC)
========================================== */
main .mv {
  background: #FAEE00;
}
main .mv .mv_wrap {
  background: url("../img/common/mv_bg.png") center center/cover no-repeat;
  max-width: 1440px;
  height: 583px;
  margin: auto;
  position: relative;
}
main .mv h1 {
  font-weight: 900;
  font-size: 79px;
  line-height: 1.24;
  letter-spacing: 0.04em;
  color: #fff;
  background: url("../img/common/h1_bg.png") center center/cover no-repeat;
  display: inline-block;
  padding: 16px 48px 30px;
}
main .mv h1 span {
  font-weight: 900;
  font-size: 48px;
  color: #fff;
  position: relative;
  top: 12px;
  left: 5px;
}
main .mv .topix {
  max-width: 424px;
  background: #fff;
  -webkit-box-shadow: 4px 4px 20px rgba(0, 0, 0, .25);
          box-shadow: 4px 4px 20px rgba(0, 0, 0, .25);
  border-radius: 9px 9px 0px 0px;
  padding: 34px 22px 15px;
  position: absolute;
  bottom: 0;
  left: 40px;
}
main .mv .topix dt {
  background: #FAEE00;
  font-size: 22px;
  line-height: 1.45;
  letter-spacing: 0.08em;
  display: inline-block;
  padding: 1px 20px 2px;
  position: absolute;
  top: -14px;
  left: 17px;
}
main .mv .topix dd p {
  font-weight: 400;
  font-size: 16px;
  line-height: 23px;
  letter-spacing: 0.05em;
}
main .mv .topix .topix_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 20px;
  padding-right: 5px;
}
main .mv .topix .topix_col p, main .mv .topix .topix_col a {
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0;
}
main .mv .topix .topix_col a {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  opacity: 0.5;
}
main .lead {
  background: #FAEE00;
  padding: 44px 0;
}
main .lead .inner {
  padding: 7px 10px 38px;
  position: relative;
  z-index: 0;
}
main .lead figure {
  max-width: 792px;
  margin: auto;
  position: relative;
  left: 10px;
}
main .lead p {
  font-weight: 900;
  font-size: 20px;
  line-height: 140%;
  letter-spacing: 0.04em;
  color: #2C3659;
  text-align: center;
  position: relative;
  top: -10px;
}
main .lead p img {
  width: 208px;
  position: relative;
  top: 10px;
  margin: 0 6px 0 0;
}
main .lead p .large {
  font-size: 49px;
  color: #2C3659;
  display: inline-block;
  margin-top: 3px;
  line-height: 1;
  letter-spacing: -0.03em;
  position: relative;
}
main .lead p .large::before {
  content: "";
  width: 70px;
  height: 60px;
  background: url("../img/common/txt_icon.png") center center/contain no-repeat;
  position: absolute;
  right: -60px;
  top: -3px;
}
main .lead p .strong {
  font-size: 64px;
  color: #2C3659;
  margin: 0 2px 0 10px;
  position: relative;
}
main .lead p .strong::before {
  content: "";
  width: 106%;
  height: 14px;
  background: #FAEE00;
  position: absolute;
  bottom: 6px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
main .anchor_link ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .anchor_link li {
  padding: 35px 0;
  position: relative;
}
main .anchor_link li::before {
  content: "";
  width: 11px;
  height: 100%;
  background: #D1EBF3;
  position: absolute;
  top: 50%;
  left: calc(50% + 9px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
main .anchor_link li.arrow::before {
  width: 51px;
  height: 100%;
  background: url("../img/common/arrow.png") center center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: calc(50% + 9px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
main .anchor_link li.arrow .anchor_item {
  position: relative;
  bottom: 13px;
}
main .anchor_link .circle {
  position: relative;
}
main .anchor_link .circle::before {
  content: "";
  width: 172px;
  height: 127px;
  background: url("../img/common/circle.png") center center/contain no-repeat;
  position: absolute;
  top: 65%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
main .anchor_link .anchor_item {
  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;
  padding: 0 9px 10px 0;
}
main .anchor_link .bg_yellow {
  background: #FAEE00;
}
main .anchor_link .bg_blue {
  background: #00ADDB;
}
main .anchor_link .bg_blue span {
  color: #fff;
}
main .anchor_link a {
  border: solid 3px #000;
  width: 234px;
  height: 131px;
  text-align: center;
  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: relative;
}
main .anchor_link a::before, main .anchor_link a::after {
  content: "";
  position: absolute;
  background-color: #000;
}
main .anchor_link a::before {
  top: 2px;
  right: -13px;
  width: 10px;
  height: calc(100% + 6px);
  -webkit-transform: skewY(45deg);
  transform: skewY(45deg);
  z-index: -1;
}
main .anchor_link a::after {
  left: 2px;
  bottom: -13px;
  width: calc(100% + 6px);
  height: 10px;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
}
main .anchor_link a span {
  font-size: 16px;
  line-height: 1.2;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
main .anchor_link a .strong {
  font-size: 25px;
  line-height: 1.2;
}
main .anchor_link a img {
  width: 202px;
}
main .ttl {
  font-size: 34px;
  line-height: 0.8;
  padding: 37px 40px 35px;
  margin: 0 auto 22px;
  max-width: 800px;
  background: #FAEE00;
  position: relative;
}
main .ttl span {
  font-size: 48px;
}
main .ttl::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 22px solid transparent;
  border-left: 22px solid transparent;
  border-top: 22px solid #FAEE00;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main .page_ttl,
main .page_ttl span {
  font-size: 34px;
  line-height: 1.2;
  text-align: center;
}
main .page_ttl span {
  font-family: "Inter", serif;
  font-size: 36px;
}
main .virus_illust01 {
  position: relative;
}
main .virus_illust01::before {
  content: "";
  background: url("../img/common/virus_illust01.png") center center/contain no-repeat;
  width: 51px;
  height: 51px;
  position: absolute;
  top: 17px;
  right: -52px;
}
main .virus_illust02 {
  display: inline-block;
  position: relative;
}
main .virus_illust02::before {
  content: "";
  background: url("../img/common/virus_illust02.png") center center/contain no-repeat;
  width: 80px;
  height: 74px;
  position: absolute;
  top: -13px;
  left: -93px;
}
main .sec .wrap {
  text-align: center;
}
main .sec01, main .sec03, main .sec05 {
  background: #FAEE00;
}
main .sec02, main .sec04 {
  background: #00ADDB;
}
main .sec01 {
  padding: 42px 0px;
}
main .sec01 h2 {
  font-size: 62px;
  font-style: italic;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #fff));
  background: linear-gradient(transparent 75%, #fff 75%);
}
main .sec01 h2 .strong {
  font-size: 87px;
  line-height: 1;
  color: #E3232F;
}
main .sec01 .inner {
  margin-top: 36px;
  padding: 75px 0 68px;
}
main .sec01 .manga {
  max-width: 694px;
  margin: auto;
}
main .sec01 .box_inner01 {
  margin: 50px auto 0;
  padding: 0 0 108px;
}
main .sec01 .box_inner01 h3 {
  padding: 29px 238px 36px 40px;
  line-height: 1.2;
}
main .sec01 .box_inner01 h3 span {
  line-height: 1;
}
main .sec01 .box_inner01 h3::before {
  content: "";
  width: 164px;
  height: 132px;
  background: url("../img/common/pc_illust.png") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 43px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec01 .box_inner01 p {
  line-height: 1.7;
  margin-top: 64px;
}
main .sec01 .box_inner01 p .strong {
  font-size: 24px;
  line-height: 1.8;
  color: #E23336;
  background: #FAEE00;
  display: inline;
}
main .sec01 .box_inner01 p + p {
  margin-top: 33px;
}
main .sec01 .video_inner {
  background: url("../img/common/movie_img.png") center center/cover no-repeat;
  padding: 64px 0 75px;
}
main .sec01 .video_inner h3 {
  display: inline-block;
  border-bottom: dashed 2px #000;
  padding-bottom: 10px;
}
main .sec01 .video_inner h3 span {
  font-size: 30px;
  line-height: 1.366;
  position: relative;
  padding: 0 0 0 69px;
}
main .sec01 .video_inner h3 span::before {
  content: "";
  width: 59px;
  height: 38px;
  background: url("../img/common/youtube_icon.png") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec01 .video_inner p {
  font-weight: 400;
}
main .sec01 .video_inner a {
  font-weight: 400;
}
main .sec01 .video_inner a span {
  font-weight: 400;
  text-decoration: underline;
}
main .sec01 .video_inner h3 + p {
  margin-top: 10px;
}
main .sec01 .video_inner .video_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 26px;
}
main .sec01 .video_inner .movie_inner {
  width: 49.3518518519%;
}
main .sec01 .video_inner .movieWapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
main .sec01 .video_inner .movieWapper img,
main .sec01 .video_inner .movieWapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
main .sec01 .video_inner .video_box + p {
  margin-top: 38px;
}
main .sec01 .box_inner02 {
  padding: 94px 0;
}
main .sec01 .box_inner02 .virus_illust02::before {
  top: -20px;
  left: -108px;
}
main .sec01 .tabs {
  margin-top: 70px;
  padding-right: 25px;
}
main .sec01 .tab_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .sec01 .tab_list .tab_item {
  font-size: 24px;
  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: 50%;
  height: 60px;
  padding: 10px;
  cursor: pointer;
}
main .sec01 .tab_list .tab_item01 {
  background: #E23336;
  color: #fff;
}
main .sec01 .tab_list .tab_item02 {
  background: #FAEE00;
  position: relative;
  z-index: 1;
}
main .sec01 .tab_list .tab_item02::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -25px;
  width: 25px;
  height: 100%;
  background-color: #CFC500;
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec01 .tab_panel {
  display: none;
  background: #F7F7F7;
  padding: 68px 0 104px;
  position: relative;
  z-index: 1;
}
main .sec01 .tab_panel::before, main .sec01 .tab_panel::after {
  content: "";
  position: absolute;
}
main .sec01 .tab_panel::before {
  top: 8px;
  right: -29px;
  width: 25px;
  height: calc(100% + 8px);
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec01 .tab_panel::after {
  left: 10px;
  bottom: -29px;
  width: calc(100% + 8px);
  height: 25px;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
}
main .sec01 .tab_panel.active {
  display: block;
}
main .sec01 .tab_panel_wrap {
  max-width: 748px;
  padding: 0 20px;
  margin: auto;
}
main .sec01 .tab_panel dl + dl {
  margin-top: 64px;
}
main .sec01 .tab_panel dt {
  font-size: 22px;
  line-height: 1.18;
  background: #fff;
  display: inline-block;
  padding: 11px 30px 9px;
}
main .sec01 .tab_panel dd {
  margin-top: 13px;
}
main .sec01 .tab_panel dd p {
  font-weight: 500;
  text-align: left;
}
main .sec01 .tab_panel dd figure {
  margin-top: 38px;
}
main .sec01 .tab_panel dd figure + p {
  margin-top: 54px;
}
main .sec01 .tab_panel dd p + p {
  margin-top: 25px;
}
main .sec01 .tab_panel01 {
  border: solid 4px #E23336;
}
main .sec01 .tab_panel01::before, main .sec01 .tab_panel01::after {
  background-color: #E23336;
}
main .sec01 .tab_panel02 {
  padding-bottom: 75px;
  border: solid 4px #FAEE00;
}
main .sec01 .tab_panel02::before, main .sec01 .tab_panel02::after {
  background-color: #FAEE00;
}
main .sec01 .tab_panel02 dt {
  min-width: 493px;
}
main .sec01 .tab_panel02 .ransomware_procedure li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .sec01 .tab_panel02 .ransomware_procedure .number {
  font-size: 24px;
  color: #fff;
  background: #E23336;
  border-radius: 50%;
  width: 39px;
  height: 39px;
  display: block;
}
main .sec01 .tab_panel02 .ransomware_procedure01 {
  max-width: 615px;
  margin: 22px auto 0;
}
main .sec01 .tab_panel02 .ransomware_procedure01 li + li {
  margin-top: 12px;
}
main .sec01 .tab_panel02 .ransomware_procedure01 p {
  margin: 0;
}
main .sec01 .tab_panel02 .ransomware_procedure01 .number {
  text-align: center;
  margin-right: 11px;
}
main .sec01 .tab_panel02 .ransomware_procedure02 {
  max-width: 560px;
  background: #fff;
  margin: 30px auto 0;
  border: solid 3px #E23336;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 18px 0 26px;
}
main .sec01 .tab_panel02 .ransomware_procedure02 li {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 33.3333333333%;
  padding: 0 17px;
}
main .sec01 .tab_panel02 .ransomware_procedure02 li + li {
  border-left: solid 2px #E3E3E3;
}
main .sec01 .tab_panel02 .ransomware_procedure02 p {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  margin-top: 22px;
}
main .sec01 .tab_panel02 .ransomware_procedure02 figure {
  max-width: 155px;
  margin-top: 14px;
}
main .sec01 .tab_panel02 .ransomware_procedure02 + p {
  margin-top: 20px;
  text-align: center;
}
main .sec01 .tab_panel02 .illust {
  width: 395px;
  margin: 16px auto 0;
}
main .sec01 .box_inner03 {
  margin-top: 20px;
}
main .sec01 .box_inner03 .ttl {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  max-width: 906px;
  font-size: 30px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  padding: 27px 0 28px;
}
main .sec01 .box_inner03 .ttl span {
  font-size: 40px;
  line-height: 1;
}
main .sec01 .box_inner03 .virus_illust01 {
  position: relative;
}
main .sec01 .box_inner03 .virus_illust01::before {
  top: 23px;
  right: 38px;
}
main .sec01 .box_inner03 dl {
  margin-top: 36px;
}
main .sec01 .box_inner03 dt {
  font-size: 24px;
  line-height: 1.2;
}
main .sec01 .box_inner03 dd {
  margin-top: 27px;
}
main .sec01 .box_inner03 table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
main .sec01 .box_inner03 th, main .sec01 .box_inner03 td {
  border: 2px solid #fff;
  padding: 13px 11px;
}
main .sec01 .box_inner03 th {
  background-color: #E23336;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  padding: 6px 10px;
}
main .sec01 .box_inner03 th span {
  font-size: 14px;
  color: #fff;
}
main .sec01 .box_inner03 td {
  font-weight: 500;
  background: #F7F7F7;
}
main .sec01 .box_inner03 .rank {
  font-weight: bold;
  text-align: center;
}
main .sec01 .box_inner03 .red {
  color: #E23336;
  font-weight: 900;
}
main .sec01 .box_inner03 th:nth-child(1), main .sec01 .box_inner03 td:nth-child(1) {
  width: 98px;
  min-width: 98px;
  text-align: center;
}
main .sec01 .box_inner03 th:nth-child(3), main .sec01 .box_inner03 td:nth-child(3) {
  width: 129px;
  min-width: 129px;
  text-align: center;
}
main .sec01 .box_inner03 th:nth-child(2), main .sec01 .box_inner03 td:nth-child(2) {
  width: 53.2407407407%;
}
main .sec01 .box_inner03 th:nth-child(4), main .sec01 .box_inner03 td:nth-child(4) {
  width: 24.9074074074%;
  text-align: center;
}
main .sec01 .box_inner03 a {
  font-size: 14px;
  font-weight: 500;
  text-align: right;
  text-decoration: underline;
  margin-top: 14px;
}
main .sec01 .box_inner03 .emphasis_txt {
  font-size: 28px;
  margin-top: 54px;
  display: inline-block;
  position: relative;
}
main .sec01 .box_inner03 .emphasis_txt::before, main .sec01 .box_inner03 .emphasis_txt::after {
  content: "";
  position: absolute;
}
main .sec01 .box_inner03 .emphasis_txt::before {
  background: url("../img/common/human_illust01.png") center center/contain no-repeat;
  width: 169px;
  height: 178px;
  position: absolute;
  top: 53%;
  left: -174px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec01 .box_inner03 .emphasis_txt::after {
  background: url("../img/common/human_illust02.png") center center/contain no-repeat;
  width: 160px;
  height: 169px;
  position: absolute;
  top: 50%;
  right: -163px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec01 .box_inner03 .emphasis_txt span {
  font-size: 32px;
}
main .sec01 .box_inner03 .emphasis_txt .strong {
  font-size: 51px;
  color: #E23336;
  line-height: 1.3;
}
main .sec01 .box_inner4 {
  margin-top: 92px;
}
main .sec01 .box_inner4 .ttl {
  font-size: 30px;
  line-height: 1.4;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 15px 40px 20px;
}
main .sec01 .box_inner4 .ttl span {
  font-size: 40px;
  color: #E23336;
}
main .sec01 .box_inner4 .graph_box {
  background: #F7F7F7;
  border-radius: 17px;
  padding: 40px 20px;
  margin-top: 50px;
}
main .sec01 .box_inner4 .graph_box figure {
  max-width: 922px;
  margin: auto;
}
main .sec01 .box_inner4 .graph_box p {
  margin-top: 16px;
}
main .sec01 .box_inner4 .graph_box p, main .sec01 .box_inner4 .graph_box a {
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
}
main .sec01 .box_inner4 .graph_box a {
  text-decoration: underline;
}
main .sec01 .btn_wrap {
  margin-top: 50px;
}
main .sec01 .btn_wrap + .btn_wrap {
  margin-top: 30px;
}
main .sec02 {
  padding: 60px 0px 42px;
}
main .sec02 h2 {
  font-size: 45px;
  color: #fff;
  font-style: italic;
}
main .sec02 h2 .strong {
  font-size: 70px;
  line-height: 1;
  color: #FAEE00;
}
main .sec02 .inner {
  margin-top: 40px;
  padding: 58px 0 68px;
}
main .sec02 h3 {
  font-size: 30px;
  line-height: 1.2;
}
main .sec02 h3 span {
  font-size: 40px;
  line-height: 1;
}
main .sec02 dl {
  padding-right: 25px;
  margin-top: 58px;
}
main .sec02 dt {
  font-size: 24px;
  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: 60px;
  padding: 10px;
  background: #FAEE00;
  position: relative;
  z-index: 1;
}
main .sec02 dt::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -25px;
  width: 25px;
  height: 100%;
  background-color: #CFC500;
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec02 dd {
  padding: 22px 0 24px;
  border: solid 4px #00ADDB;
  position: relative;
  z-index: 1;
}
main .sec02 dd::before, main .sec02 dd::after {
  content: "";
  position: absolute;
  background-color: #00ADDB;
}
main .sec02 dd::before {
  top: 8px;
  right: -29px;
  width: 25px;
  height: calc(100% + 8px);
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec02 dd::after {
  left: 10px;
  bottom: -29px;
  width: calc(100% + 8px);
  height: 25px;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
}
main .sec02 dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .sec02 dd li {
  width: 25%;
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 14px 10px 20px;
}
main .sec02 dd li .number {
  font-size: 24px;
  color: #fff;
  background: #00ADDB;
  border-radius: 50%;
  width: 39px;
  height: 39px;
  display: block;
  margin: 0 auto 17px;
}
main .sec02 dd li p .strong {
  color: #00ADDB;
}
main .sec02 dd li figure {
  width: 160px;
  margin-top: 12px;
}
main .sec02 dd li + li {
  border-left: solid 2px #E3E3E3;
}
main .sec02 dl + p {
  font-size: 19px;
  line-height: 1.4;
  margin-top: 77px;
}
main .sec02 dl + p span {
  font-size: 23px;
  line-height: 1;
}
main .sec02 .security_scorecard {
  background: #00ADDB;
  border-radius: 17px;
  padding: 60px 0 0;
  margin-top: 34px;
}
main .sec02 .security_scorecard .wrap {
  max-width: 965px;
  padding: 0 10px;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
main .sec02 .security_scorecard p {
  font-size: 35px;
  line-height: 1.42;
  color: #fff;
  padding: 0px 13px 60px;
  width: 456px;
}
main .sec02 .security_scorecard figure {
  width: 489px;
}
main .sec02 .banner_wrap {
  margin-top: 56px;
}
main .sec02 .banner_wrap .banner {
  width: 535px;
  margin: 20px auto 0;
}
main .sec02 .try {
  background: #00ADDB;
  border-radius: 17px;
  margin-top: 100px;
  padding: 110px 0 55px;
  position: relative;
}
main .sec02 .try .wrap {
  max-width: 720px;
  padding: 0 20px;
}
main .sec02 .try h3 {
  display: inline-block;
  position: absolute;
  top: -35px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 20px 55px;
  border-radius: 20px;
}
main .sec02 .try h3::after {
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 17px solid #FAEE00;
}
main .sec02 .try .lead_txt {
  font-size: 30px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
main .sec02 .try .banner {
  margin-top: 40px;
}
main .sec02 .try .sup {
  font-size: 16px;
  color: #fff;
  font-weight: 400;
  text-align: right;
  margin-top: 10px;
}
main .sec02 .try .btn_list {
  max-width: 630px;
  margin: 85px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .sec02 .try .btn_list .btn_wrap {
  width: 46.8253968254%;
  margin: 0;
}
main .sec02 .try .btn_list .btn {
  height: 72px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 33px;
  -webkit-box-shadow: 3px 4px 0px #000;
          box-shadow: 3px 4px 0px #000;
}
main .sec02 .try .btn_list .btn::before {
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #000;
  right: 20px;
}
main .sec02 .try .btn_list .btn:hover {
  -webkit-box-shadow: unset;
          box-shadow: unset;
}
main .sec02 .try .btn_list + a {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  color: #fff;
  margin-top: 34px;
}
main .sec02 .contact {
  margin-top: 60px;
}
main .sec03 {
  padding: 52px 0 45px;
}
main .sec03 h2 span {
  font-size: 39px;
  font-style: italic;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #fff));
  background: linear-gradient(transparent 75%, #fff 75%);
  padding-bottom: 4px;
}
main .sec03 h2 span .strong {
  font-size: 54px;
  line-height: 1;
  background: none;
}
main .sec03 .inner {
  padding: 70px 0 68px;
  margin-top: 36px;
}
main .sec03 .ttl {
  padding: 34px 40px 32px;
  max-width: 636px;
  font-size: 30px;
  line-height: 1.3;
}
main .sec03 .ttl span {
  font-size: 33px;
  line-height: 1;
}
main .sec03 .ttl + p {
  margin-top: 40px;
}
main .sec03 .box {
  padding-right: 25px;
  margin-top: 44px;
}
main .sec03 .box_ttl {
  font-size: 24px;
  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: 60px;
  padding: 10px;
  background: #FAEE00;
  position: relative;
  z-index: 1;
}
main .sec03 .box_ttl::before {
  content: "";
  position: absolute;
  top: 12px;
  right: -25px;
  width: 25px;
  height: 100%;
  background-color: #CFC500;
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec03 .box_body {
  padding: 60px 0 66px;
  border: solid 4px #00ADDB;
  position: relative;
  z-index: 1;
}
main .sec03 .box_body::before, main .sec03 .box_body::after {
  content: "";
  position: absolute;
  background-color: #00ADDB;
}
main .sec03 .box_body::before {
  top: 8px;
  right: -29px;
  width: 25px;
  height: calc(100% + 8px);
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec03 .box_body::after {
  left: 10px;
  bottom: -29px;
  width: calc(100% + 8px);
  height: 25px;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
}
main .sec03 .box_body ul {
  max-width: 712px;
  padding: 0 15px;
  margin: auto;
}
main .sec03 .box_body li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .sec03 .box_body li .number {
  font-size: 30px;
  color: #fff;
  background: #00ADDB;
  border-radius: 50%;
  width: 47px;
  height: 47px;
  display: block;
  margin: 0;
}
main .sec03 .box_body li dl {
  width: calc(100% - 61px);
  text-align: left;
}
main .sec03 .box_body li dt {
  font-size: 33px;
}
main .sec03 .box_body li dt .strong {
  font-size: 33px;
  color: #00ADDB;
}
main .sec03 .box_body li dd {
  margin-top: 8px;
}
main .sec03 .box_body li dd p {
  font-weight: 400;
}
main .sec03 .box_body li + li {
  margin-top: 40px;
}
main .sec03 .btn_list {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 45px;
}
main .sec03 .btn_list .btn_wrap {
  margin: 0 15px;
  padding: 15px 0;
}
main .sec03 .btn_list .btn_item01 {
  width: 495px;
}
main .sec03 .btn_list .btn_item01 .btn {
  padding-left: 36px;
}
main .sec03 .btn_list .btn_item01 img {
  width: 350px;
}
main .sec03 .btn_list .btn_item02 {
  width: 523px;
}
main .sec03 .btn_list .btn_item02 a {
  margin-top: 18px;
}
main .sec03 .btn_list .btn_item02 .sup {
  font-weight: 400;
  font-size: 14px;
  text-align: right;
}
main .sec03 .btn_large {
  background: -webkit-gradient(linear, left top, right top, from(#40AAF6), to(#3173B1));
  background: linear-gradient(90deg, #40AAF6 0%, #3173B1 100%);
  -webkit-box-shadow: 3px 3px 11px rgba(0, 0, 0, .25);
          box-shadow: 3px 3px 11px rgba(0, 0, 0, .25);
  padding: 46px 120px;
  margin-top: 5px;
  position: relative;
}
main .sec03 .btn_large span {
  font-size: 36px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
main .sec03 .btn_large::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 27px solid #fff;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: 80px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec03 .contact {
  margin-top: 20px;
}
main .sec04 {
  padding: 44px 0 45px;
}
main .sec04 h2 {
  font-size: 40px;
  color: #fff;
  font-style: italic;
}
main .sec04 h2 .strong {
  font-size: 70px;
  line-height: 1;
  color: #FAEE00;
}
main .sec04 .inner {
  padding: 54px 0 93px;
  margin-top: 32px;
  position: relative;
}
main .sec04 .inner::before {
  content: "";
  background: url("../img/common/samurai_img.png") bottom center/contain no-repeat;
  width: 25.7037037037%;
  height: 498px;
  position: absolute;
  bottom: 0;
  right: 0;
}
main .sec04 .cont_wrap {
  max-width: 1120px;
  padding: 0 20px;
  margin: auto;
}
main .sec04 .lead_txt01 {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
main .sec04 .lead_txt01 span {
  font-size: 31px;
  margin-top: 10px;
}
main .sec04 .lead_txt01 .strong {
  font-size: 36px;
}
main .sec04 .lead_txt01 img {
  width: 312px;
  padding: 0 11px 0 10px;
  margin-top: 10px;
}
main .sec04 .lead_txt02 {
  font-size: 25px;
  line-height: 1.9;
  margin-top: 27px;
}
main .sec04 .lead_txt02 span {
  font-size: 25px;
}
main .sec04 .lead_txt02 .strong {
  font-size: 36px;
  color: #E23336;
  line-height: 1;
}
main .sec04 .ttl {
  font-size: 28px;
  line-height: 1.4;
  margin-top: 50px;
  max-width: 905px;
  letter-spacing: 0.02em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
main .sec04 .chat_container {
  max-width: 1015px;
  margin: 75px auto 0;
}
main .sec04 .chat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 24px;
}
main .sec04 .chat .bubble {
  font-size: 18px;
  line-height: 1.833;
  text-align: left;
  max-width: 64%;
  min-height: 90px;
  padding: 19px 35px;
  border-radius: 20px;
  border: 3px solid #000;
  position: relative;
  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;
}
main .sec04 .chat.left {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
main .sec04 .chat.left img {
  width: 69px;
}
main .sec04 .chat.left .bubble {
  background: #FEF9C2;
  margin-left: 53px;
}
main .sec04 .chat.left .bubble::before {
  content: "";
  width: 34px;
  height: 26px;
  background: url("../img/common/bubble_arrow01.png") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: -34px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec04 .chat.right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
main .sec04 .chat.right img {
  width: 57px;
}
main .sec04 .chat.right .bubble {
  background: #fff;
  margin-right: 57px;
}
main .sec04 .chat.right .bubble::before {
  content: "";
  width: 34px;
  height: 26px;
  background: url("../img/common/bubble_arrow02.png") center center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: -34px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec04 .support_cont .ttl {
  max-width: 490px;
  background: #12AEE0;
  font-size: 33px;
  color: #fff;
  padding: 12px 0 30px;
}
main .sec04 .support_cont .ttl .strong {
  font-size: 48px;
  color: #FAEE00;
}
main .sec04 .support_cont .ttl::after {
  border-top: 22px solid #12AEE0;
}
main .sec04 .support_cont .support_box {
  background: #F7F7F7;
  border-radius: 17px;
  padding: 48px 20px 54px;
  margin-top: 48px;
}
main .sec04 .support_cont .support_box figure {
  max-width: 854px;
  margin: auto;
}
main .sec04 .price_cont {
  margin-top: 65px;
}
main .sec04 .price_cont .ttl {
  max-width: 610px;
}
main .sec04 .price_cont .price {
  max-width: 546px;
  margin: 28px auto 0;
}
main .sec04 .price_cont .sup {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.27;
  text-align: left;
  display: inline-block;
  margin-top: 7px;
}
main .sec04 .btn_wrap {
  margin-top: 40px;
}
main .sec04 .btn_wrap .btn_samurai {
  width: 508px;
  height: 143px;
  margin: 18px auto 0;
}
main .sec04 .btn_wrap .btn_samurai img {
  width: 302px;
}
main .sec04 .btn_wrap + .btn_wrap {
  margin-top: 27px;
}
main .sec05 {
  padding: 56px 0 45px;
}
main .sec05 .inner {
  padding: 86px 0 14px;
}
main .sec05 .ttl {
  max-width: 636px;
}
main .sec05 .contact {
  padding-right: 25px;
}
main .sec05 .contact .contact_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: solid 4px #FAEE00;
  position: relative;
  z-index: 1;
}
main .sec05 .contact .contact_inner::before, main .sec05 .contact .contact_inner::after {
  content: "";
  position: absolute;
  background-color: #CFC500;
}
main .sec05 .contact .contact_inner::before {
  top: 8px;
  right: -29px;
  width: 25px;
  height: calc(100% + 8px);
  -webkit-transform: skewY(45deg);
          transform: skewY(45deg);
  z-index: -1;
}
main .sec05 .contact .contact_inner::after {
  left: 10px;
  bottom: -29px;
  width: calc(100% + 8px);
  height: 25px;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
}
main .sec05 .contact h3 {
  font-size: 30px;
  line-height: 41px;
  color: #060606;
  width: 287px;
  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;
  background: #FAEE00;
}
main .sec05 .contact .contact_body {
  width: calc(100% - 287px);
  padding: 30px 50px 40px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
main .sec05 .contact .contact_body_cont {
  width: calc(100% - 250px);
  margin-top: 10px;
}
main .sec05 .contact .contact_body_cont dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
main .sec05 .contact .contact_body_cont dt {
  font-weight: 500;
  text-align: left;
  width: 112px;
}
main .sec05 .contact .contact_body_cont dd {
  font-weight: 500;
  text-align: left;
}
main .sec05 .contact .contact_body_cont dd a {
  font-weight: 500;
  text-decoration: underline;
  text-align: left;
}
main .sec05 .contact .contact_body_cont p {
  font-weight: 500;
  text-align: left;
}
main .sec05 .contact h4 {
  font-size: 29px;
  text-align: left;
}
main .sec05 .contact .info_cont {
  margin-top: 6px;
}
main .sec05 .contact .email {
  margin-top: 25px;
}
main .sec05 .contact .btn_cont {
  width: 242px;
}
main .sec05 .contact .btn_wrap {
  width: auto;
}
main .sec05 .contact .logo {
  width: 172px;
  margin: auto;
}
main .sec05 .contact .btn {
  width: 100%;
  height: 50px;
  padding: 0 40px 0 34px;
  -webkit-box-shadow: 0px 4px 0px #000;
          box-shadow: 0px 4px 0px #000;
}
main .sec05 .contact .btn:hover {
  opacity: 1;
  -webkit-box-shadow: unset;
          box-shadow: unset;
  -webkit-transform: translate(0, 4px);
          transform: translate(0, 4px);
}
main .sec05 .contact .btn span {
  font-size: 16px;
  color: #fff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 0;
}
main .sec05 .contact .btn::before {
  content: none;
}
main .sec05 .contact .btn .window_icon::before {
  width: 12px;
  height: 12px;
  right: -26px;
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
main .sec05 .partner {
  max-width: 732px;
  margin: 97px auto 0;
}
main .sec05 .partner .partner_list {
  width: 100%;
  margin: 54px auto 0;
  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;
}
main .sec05 .partner .partner_list li {
  width: 48%;
  text-align: left;
  margin-top: 23px;
}
main .sec05 .partner .partner_list a {
  font-weight: 500;
  text-decoration: underline;
  display: inline-block;
  padding-right: 20px;
  position: relative;
}
main .sec05 .partner .partner_list a::before {
  content: "";
  background: url("../img/common/window_icon.png") center center/contain no-repeat;
  width: 12px;
  height: 12px;
  position: absolute;
  bottom: 0;
  right: 0;
}
main .sec05 .partner .sup {
  font-size: 14px;
  font-weight: 400;
  text-align: right;
  margin-top: 27px;
}
main .sec05 .company {
  margin-top: 39px;
}
main .sec05 .company dl {
  margin-top: 65px;
}
main .sec05 .company dl + dl {
  margin-top: 70px;
}
main .sec05 .company dt {
  font-size: 30px;
  line-height: 1.2;
}
main .sec05 .company dt span {
  font-size: 3px;
  color: #22AAE1;
}
main .sec05 .company dd {
  margin-top: 10px;
}
main .sec05 .company dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
main .sec05 .company dd li {
  margin: 10px 18px 0;
}
main .sec05 .company dd a {
  font-weight: 500;
  text-decoration: underline;
}
main .sec05 .copyright {
  font-size: 14px;
  font-weight: 400;
  margin-top: 85px;
}
main #pagetop {
  position: fixed;
  bottom: 80px;
  right: 70px;
  z-index: 100;
}
main #pagetop a {
  display: block;
  width: 70px;
  height: 70px;
  background: #ffffff;
  position: relative;
  text-decoration: none;
  text-indent: -9999px;
}
main #pagetop a::before {
  content: "";
  border-top: 3px solid #00ADDB;
  border-right: 3px solid #00ADDB;
  position: absolute;
  top: 60%;
  left: 50%;
  width: 25px;
  height: 25px;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}


/*========================================== 
  footer (PC)
========================================== */
footer {
  padding: 50px 0 30px;
  background: #FAEE00;
}
footer .footer_wrap {
  max-width: 1342px;
  padding: 0 15px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .footer_wrap .logo {
  width: 172px;
  margin: auto;
}
footer .footer_wrap .btn_wrap {
  width: 242px;
}
footer .footer_wrap .btn_wrap .btn {
  width: 100%;
  height: 50px;
  padding: 0 40px 0 34px;
  margin-top: 27px;
  -webkit-box-shadow: 0px 4px 0px #000;
          box-shadow: 0px 4px 0px #000;
}
footer .footer_wrap .btn_wrap .btn:hover {
  opacity: 1;
  -webkit-box-shadow: unset;
          box-shadow: unset;
  -webkit-transform: translate(0, 4px);
          transform: translate(0, 4px);
}
footer .footer_wrap .btn_wrap .btn span {
  font-size: 16px;
  color: #fff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 0;
}
footer .footer_wrap .btn_wrap .btn::before {
  content: none;
}
footer .footer_wrap .btn_wrap .btn .window_icon::before {
  width: 12px;
  height: 12px;
  right: -26px;
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
footer .footer_wrap .footer_info {
  width: calc(100% - 310px);
}
footer .footer_wrap .info_cont {
  margin-top: 13px;
}
footer .footer_wrap .info_ttl {
  font-size: 29px;
  font-weight: 700;
}
footer .footer_wrap dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
footer .footer_wrap dt, footer .footer_wrap dd, footer .footer_wrap p {
  font-weight: 500;
}
footer .footer_wrap dt {
  width: 114px;
}
footer .footer_wrap dd a {
  font-weight: 500;
  text-decoration: underline;
}
footer .footer_wrap .email {
  margin-top: 26px;
}
footer .copyright {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  margin-top: 53px;
}

/****************************************
** 下層ページ共通スタイル（PC）
*****************************************/
#article,
#archive,
#page {
  padding: 133px 0 126px;
}

/****************************************
** 固定ページスタイル（PC）
*****************************************/
#page .content {
  max-width: 980px;
  margin: 80px auto 0;
}

/****************************************
** 記事ページスタイル（PC）
*****************************************/
#article .article {
  max-width: 1040px;
  padding: 0 15px;
  margin: 33px auto 0;
}
#article .article h1 {
  font-size: 36px;
  line-height: 1.4;
  margin-top: 23px;
}
#article .article-date {
  font-family: "Inter", serif;
  font-size: 20px;
  line-height: 1.2;
}
#article .article-contents {
  margin-top: 70px;
}
#article .article-contents .thumbnail {
  margin-bottom: 74px;
  text-align: center;
}
#article .nav-container {
  display: block;
  width: 100%;
  max-width: 1028px;
  padding: 0 15px;
  margin: 300px auto 0;
  position: relative;
}
#article .nav-container .nav-link {
  text-decoration: none;
  position: absolute;
  transition: all .6s;
}
#article .nav-container .nav-link:hover {
  opacity: 0.6;
}
#article .nav-container .nav-link span {
  font-size: 20px;
  color: #00ADDB;
  position: relative;
}
#article .nav-container .nav-link span::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #00ADDB;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#article .nav-container .center {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#article .nav-container .prev span,
#article .nav-container .next span {
  font-family: "Inter", serif;
}
#article .nav-container .prev::after,
#article .nav-container .next::after {
  content: "";
  background: none;
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1px #00ADDB;
  border-right: solid 1px #00ADDB;
  position: absolute;
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin: auto;
}
#article .nav-container .prev {
  left: 15px;
  padding-left: 18px;
}
#article .nav-container .prev::after {
  left: 0;
  -webkit-transform: rotate(45deg) scale(-1, -1);
          transform: rotate(45deg) scale(-1, -1);
}
#article .nav-container .next {
  right: 15px;
  padding-right: 18px;
}
#article .nav-container .next::after {
  right: 0;
}
#article .nav-container .center span {
  font-size: 24px;
}

/****************************************
** アーカイブページスタイル（PC）
*****************************************/
#archive .archive {
  max-width: 960px;
  margin: 150px auto 0;
  padding: 0 15px;
}
#archive a {
  text-decoration: none;
  transition: all .6s;
}
#archive a:hover {
  opacity: 0.6;
}
#archive li {
  list-style: none;
}
#archive li + li {
  margin-top: 42px;
}
#archive dt {
  font-family: "Inter", serif;
  font-size: 20px;
  line-height: 1.2;
}
#archive dd {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  margin: 20px 0 0 22px;
}
.navigation {
  margin-top: 130px;
}

.nav-links {
  display: flex;
  display: flex;
  list-style: none;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.pagination a, 
.pagination span {
  font-family: "Inter", serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #00ADDB;
  width: 41px;
  height: 41px;
  text-decoration: none;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination .current {
  background: #00ADDB;
  color: #fff;
}

.pagination .prev,
.pagination .next {
  display: inline-block;
  position: relative;
  color: transparent;
}
.pagination .prev {
  transform: scale(-1, -1);
}

.pagination .prev::before,
.pagination .prev::after,
.pagination .next::before,
.pagination .next::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 15px;
  width: 15px;
  height: 2px;
  border-radius: 9999px;
  background-color: #00ADDB;
  transform-origin: calc(100% - 1px) 50%;
}

.pagination .prev::before,
.pagination .next::before {
  transform: rotate(45deg);
}
.pagination .prev::after,
.pagination .next::after {
  transform: rotate(-45deg);
}


@media screen and (max-width: 1200px) and (min-width: 768px) {
  #top .sec05 .contact .contact_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #top .sec05 .contact .contact_inner h3 {
    width: 100%;
    padding: 20px 0;
  }
  #top .sec05 .contact .contact_inner .contact_body {
    max-width: 750px;
    width: 100%;
    padding: 30px 10px 40px;
  }
  #top .sec05 .contact .contact_inner .contact_body_cont {
    max-width: 630px;
    margin: 10px auto 0;
  }
  #top .sec05 .contact .contact_inner .contact_body_cont dt {
    width: 85px;
  }
}
@media screen and (max-width: 1110px) and (min-width: 768px) {
  header .company_list {
    width: 750px;
  }
  header .header_heading {
    width: calc(100% - 770px);
  }
  header .coremembers li {
    font-size: 14px;
  }
  header .organization li {
    font-size: 10px;
  }
}
@media screen and (max-width: 1080px) and (min-width: 768px) {
  #top .anchor_link li {
    padding: 3.2407407407vw 0;
  }
  #top .anchor_link li::before {
    width: 1.0185185185vw;
    left: calc(50% + 0.83333vw);
  }
  #top .anchor_link li.arrow::before {
    width: 4.7222222222vw;
    left: calc(50% + 0.83333vw);
  }
  #top .anchor_link li.arrow .anchor_item {
    bottom: 1.2037037037vw;
  }
  #top .anchor_link .circle::before {
    width: 15.9259259259vw;
    height: 11.7592592593vw;
  }
  #top .anchor_link .anchor_item {
    padding: 0 0.8333333333vw 0.9259259259vw 0;
  }
  #top .anchor_link a {
    border: solid 0.2777777778vw #000;
    width: 21.6666666667vw;
    height: 12.1296296296vw;
  }
  #top .anchor_link a::before {
    top: 0.1851851852vw;
    right: -1.2037037037vw;
    width: 0.9259259259vw;
    height: calc(100% + 0.55556vw);
  }
  #top .anchor_link a::after {
    left: 0.1851851852vw;
    bottom: -1.2037037037vw;
    width: calc(100% + 0.55556vw);
    height: 0.9259259259vw;
  }
  #top .anchor_link a span {
    font-size: 1.4814814815vw;
  }
  #top .anchor_link a .strong {
    font-size: 2.3148148148vw;
  }
  #top .anchor_link a img {
    width: 18.7037037037vw;
  }
  #top .sec04 .inner {
    padding: 54px 0 325px;
    margin-top: 32px;
    position: relative;
  }
  #top .sec04 .inner::before {
    content: "";
    background: url("../img/common/samurai_img.png") bottom center/contain no-repeat;
    width: 347px;
    height: 300px;
    position: absolute;
    bottom: 0;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 980px) and (min-width: 768px) {
  header {
    padding-top: 15px;
  }
  header .header_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header .header_heading {
    width: 350px;
  }
}
@media screen and (max-width: 767px) {
  /*========================================== 
    1.Common (SP)
  ========================================== */
  html, body {
    overflow-x: hidden;
  }
  body *,
  body *::before,
  body *::after {
    font-size: 4.2666666667vw;
  }
  .js-hidden {
    overflow: hidden;
    width: 100%;
    position: fixed;
  }
  .js-hidden body {
    overflow: hidden;
    width: 100%;
    position: fixed;
  }
  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;
  }
  main .wrap,
  header .wrap,
  footer .wrap {
    max-width: 100%;
    padding: 0 2.6666666667vw;
  }
  main .inner,
  header .inner,
  footer .inner {
    border-radius: 5.3333333333vw;
  }
  main .cont_wrap,
  header .cont_wrap,
  footer .cont_wrap {
    max-width: 100%;
    padding: 0 4vw;
  }
  main .btn_wrap,
  header .btn_wrap,
  footer .btn_wrap {
    width: 81.3333333333vw;
  }
  main .btn_wrap .btn_ttl,
  header .btn_wrap .btn_ttl,
  footer .btn_wrap .btn_ttl {
    font-size: 4.2666666667vw;
  }
  main .btn_wrap .btn_ttl::before, main .btn_wrap .btn_ttl::after,
  header .btn_wrap .btn_ttl::before,
  header .btn_wrap .btn_ttl::after,
  footer .btn_wrap .btn_ttl::before,
  footer .btn_wrap .btn_ttl::after {
    width: 6.6666666667vw;
    height: 9.6vw;
    top: -1.0666666667vw;
  }
  main .btn_wrap .btn_ttl::before,
  header .btn_wrap .btn_ttl::before,
  footer .btn_wrap .btn_ttl::before {
    left: -8vw;
  }
  main .btn_wrap .btn_ttl::after,
  header .btn_wrap .btn_ttl::after,
  footer .btn_wrap .btn_ttl::after {
    right: -8vw;
  }
  main .btn_wrap .btn,
  header .btn_wrap .btn,
  footer .btn_wrap .btn {
    font-size: 6.4vw;
    width: 100%;
    height: 17.0666666667vw;
    border: 0.8vw solid #000;
    border-radius: 34.6666666667vw;
    margin-top: 2.6666666667vw;
    padding: 0 9.6vw;
    -webkit-box-shadow: 1.0666666667vw 1.3333333333vw 0px #000;
            box-shadow: 1.0666666667vw 1.3333333333vw 0px #000;
  }
  main .btn_wrap .btn::before,
  header .btn_wrap .btn::before,
  footer .btn_wrap .btn::before {
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
    border-left: 2.9333333333vw solid #000;
    top: 50%;
    right: 5.6vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .btn_wrap .btn:hover,
  header .btn_wrap .btn:hover,
  footer .btn_wrap .btn:hover {
    -webkit-box-shadow: 1.0666666667vw 1.3333333333vw 0px #000;
            box-shadow: 1.0666666667vw 1.3333333333vw 0px #000;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  main .btn_wrap .btn-red,
  header .btn_wrap .btn-red,
  footer .btn_wrap .btn-red {
    font-size: 5.3333333333vw;
  }
  main .btn_wrap .btn-red .window_icon,
  header .btn_wrap .btn-red .window_icon,
  footer .btn_wrap .btn-red .window_icon {
    font-size: 5.3333333333vw;
    padding-right: 2.6666666667vw;
  }
  main .btn_wrap .btn-red .window_icon::before,
  header .btn_wrap .btn-red .window_icon::before,
  footer .btn_wrap .btn-red .window_icon::before {
    width: 3.2vw;
    height: 3.2vw;
    right: 0px;
    bottom: 1.0666666667vw;
  }
  main .btn_wrap .btn-red::before,
  header .btn_wrap .btn-red::before,
  footer .btn_wrap .btn-red::before {
    border-left: 2.9333333333vw solid #fff;
  }
  main .btn_wrap .ipa_logo,
  header .btn_wrap .ipa_logo,
  footer .btn_wrap .ipa_logo {
    width: 53.8666666667vw;
    margin-left: 1.3333333333vw;
  }

  /*========================================== 
    header (SP)
  ========================================== */
  header {
    padding: 0 0 2.9333333333vw;
    -webkit-box-shadow: 1.0666666667vw 1.0666666667vw 5.3333333333vw rgba(0, 0, 0, .25);
            box-shadow: 1.0666666667vw 1.0666666667vw 5.3333333333vw rgba(0, 0, 0, .25);
    position: relative;
    z-index: 2;
  }
  header .header_wrap {
    max-width: 100%;
    padding: 0;
    display: block;
  }
  header .header_heading {
    background: #fff;
    max-width: 100%;
    width: 100%;
    height: 13.3333333333vw;
    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;
    padding-left: 2.4vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
  }
  header .logo {
    width: 43.4666666667vw;
  }
  header .company_list {
    width: 96vw;
    margin: 13.3333333333vw auto 0;
  }
  header dl {
    padding: 2.6666666667vw 0 4vw;
  }
  header dl::before {
    width: calc(100% - 2.66667vw);
  }
  header dt, header a.link {
    font-size: 2.6666666667vw;
    margin: 0 0.8vw;
  }
  header dd {
    margin-top: 0;
  }
  header a.link {
    margin-top: 1.6vw;
  }
  header .coremembers {
    padding: 1vw 0 1.6vw;
  }
  header .coremembers li {
    font-size: 3.2vw;
    margin: 0 1.3333333333vw;
  }
  header .organization {
    padding: 1.0666666667vw 0 1.8666666667vw;
  }
  header .organization dd {
    margin-top: 0.5333333333vw;
  }
  header .organization li {
    font-size: 2.6666666667vw;
    margin: 0 1.3333333333vw;
  }
  header .openbtn {
    display: block;
    position: relative;
    background: #00ADDB;
    cursor: pointer;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
  header .openbtn span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    position: absolute;
    left: 50%;
    height: 0.8vw;
    background: #fff;
    border-radius: 10px;
    width: 70%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  header .openbtn span:nth-of-type(1) {
    top: 3.4666666667vw;
  }
  header .openbtn span:nth-of-type(2) {
    top: 6.1333333333vw;
  }
  header .openbtn span:nth-of-type(3) {
    top: 9.0666666667vw;
  }
  header .openbtn.active {
    background: #fff;
  }
  header .openbtn.active span:nth-of-type(1) {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
    width: 70%;
    background: #00ADDB;
  }
  header .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .openbtn.active span:nth-of-type(3) {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
    width: 70%;
    background: #00ADDB;
  }
  header .nav_body {
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: #fff;
    position: absolute;
    overflow-y: scroll;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 10.4vw 0 20vh;
  }
  header .nav_body ul {
    display: block;
  }
  header .nav_body li + li {
    margin-top: 6.4vw;
  }
  header .nav_body li a {
    width: 84.2666666667vw;
    min-height: 19.4666666667vw;
    border: solid 0.8vw #000;
    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;
  }
  header .nav_body li a span {
    font-size: 4.2666666667vw;
    text-align: center;
    height: 100%;
  }
  header .nav_body li a span .strong {
    font-size: 5.8666666667vw;
  }
  header .nav_body li a span img {
    width: 53.8666666667vw;
    margin-top: -4px;
  }
  header .nav_body .btn_wrap .btn-red {
    width: 64.5333333333vw;
    height: 13.3333333333vw;
    padding: 0 5.3333333333vw 0 6.6666666667vw;
    margin: 6.6666666667vw auto 0;
  }
  header .nav_body .btn_wrap .btn-red .window_icon {
    font-size: 4.2666666667vw;
    padding-right: 5.3333333333vw;
  }
  header .nav_body .btn_wrap .btn-red .window_icon::before {
    width: 3.2vw;
    height: 3.2vw;
    right: 0px;
    bottom: 1.0666666667vw;
  }
  header .nav_body .btn_wrap .btn-red::before {
    content: none;
  }
  header .nav_body .bg_yellow {
    background: #FAEE00;
  }
  header .nav_body .bg_blue {
    background: #00ADDB;
  }
  header .nav_body .bg_blue span {
    color: #fff;
  }
  header .nav_body.open {
    opacity: 1;
    visibility: inherit;
  }

  /*========================================== 
    main (SP)
  ========================================== */
  main {
    position: relative;
    z-index: 0;
  }
  main .mv .mv_wrap {
    background: url("../img/common/mv_bg-sp.png") center center/cover no-repeat;
    max-width: 100%;
    height: 145.3333333333vw;
  }
  main .mv h1 {
    font-size: 11.4666666667vw;
    line-height: 1.24;
    letter-spacing: 0.03em;
    background: #E23336;
    padding: 6.1333333333vw 2.4vw 6.9333333333vw;
    display: block;
    position: relative;
  }
  main .mv h1 span {
    font-size: 6.9333333333vw;
    top: 1.3333333333vw;
    left: 1.3333333333vw;
  }
  main .mv h1::before {
    content: "";
    background: url("../img/common/virus_illust03.png") center center/contain no-repeat;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    position: absolute;
    bottom: 5.8666666667vw;
    right: 13.3333333333vw;
  }
  main .mv .topix {
    max-width: 94.6666666667vw;
    -webkit-box-shadow: 1.0666666667vw 1.0666666667vw 5.3333333333vw rgba(0, 0, 0, .25);
            box-shadow: 1.0666666667vw 1.0666666667vw 5.3333333333vw rgba(0, 0, 0, .25);
    border-radius: 0;
    padding: 2.6666666667vw 1.8666666667vw 4vw;
    bottom: 2.6666666667vw;
    left: 0;
  }
  main .mv .topix dt {
    font-size: 4vw;
    padding: 0 4vw;
    top: -3.7333333333vw;
    left: 0;
  }
  main .mv .topix dd p {
    font-size: 2.9333333333vw;
    line-height: 6.1333333333vw;
    letter-spacing: 0.05em;
  }
  main .mv .topix .topix_ttl {
    height: 6.6666666667vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  main .mv .topix .topix_col {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 1.3333333333vw;
    padding-right: 0;
  }
  main .mv .topix .topix_col p, main .mv .topix .topix_col a {
    font-size: 2.4vw;
    line-height: 1;
  }
  main .mv .topix .topix_col a {
    margin-left: 3.2vw;
  }
  main .lead {
    padding: 2.6666666667vw 0;
  }
  main .lead .inner {
    padding: 13.3333333333vw 0 8.8vw;
  }
  main .lead figure {
    max-width: 100%;
    left: 0;
  }
  main .lead p {
    font-size: 4.2666666667vw;
    top: 0;
    margin-top: 3.2vw;
  }
  main .lead p img {
    width: 48.5333333333vw;
    top: 0;
    margin: 0 auto;
    display: block;
  }
  main .lead p .large {
    font-size: 8.5333333333vw;
    margin-top: 2.6666666667vw;
  }
  main .lead p .large::before {
    width: 10.6666666667vw;
    height: 8vw;
    right: -1.3333333333vw;
    top: -2.1333333333vw;
    -webkit-transform: rotate(338deg);
            transform: rotate(338deg);
  }
  main .lead p .strong {
    font-size: 11.4666666667vw;
    margin: 0 0.5333333333vw 0 2.6666666667vw;
  }
  main .lead p .strong::before {
    height: 3.7333333333vw;
    bottom: 1.6vw;
  }
  main .anchor_link {
    display: none;
  }
  main .ttl {
    font-size: 4.2666666667vw;
    padding: 4vw 10.6666666667vw 2.9333333333vw;
    margin: 0 auto 5.8666666667vw;
    max-width: 100%;
  }
  main .ttl span {
    font-size: 6.4vw;
  }
  main .ttl::after {
    border-right: 2.6666666667vw solid transparent;
    border-left: 2.6666666667vw solid transparent;
    border-top: 2.6666666667vw solid #FAEE00;
  }
  main .page_ttl,
  main .page_ttl span {
    font-size: 7.4666666667vw;
  }
  main .page_ttl span {
    font-size: 8vw;
  }
  main .virus_illust01 {
    position: relative;
  }
  main .virus_illust01::before {
    width: 13.6vw;
    height: 13.6vw;
    position: absolute;
    top: 4.5333333333vw;
    right: -13.8666666667vw;
  }
  main .virus_illust02 {
    display: inline-block;
    position: relative;
  }
  main .virus_illust02::before {
    width: 21.3333333333vw;
    height: 19.7333333333vw;
    position: absolute;
    top: -3.4666666667vw;
    left: -24.8vw;
  }
  main .sec01 {
    padding: 4.8vw 0px 2.6666666667vw;
  }
  main .sec01 h2 {
    font-size: 8.5333333333vw;
    line-height: 1.4;
  }
  main .sec01 h2 .strong {
    font-size: 11.4666666667vw;
  }
  main .sec01 .inner {
    margin-top: 7.2vw;
    padding: 9.0666666667vw 0 18.1333333333vw;
  }
  main .sec01 .manga {
    max-width: 100%;
  }
  main .sec01 .box_inner01 {
    margin: 5.3333333333vw auto 0;
    padding: 0 0 13.3333333333vw;
  }
  main .sec01 .box_inner01 h3 {
    padding: 3.4666666667vw 16vw 4.8vw 3.7333333333vw;
  }
  main .sec01 .box_inner01 h3::before {
    width: 16.5333333333vw;
    height: 13.3333333333vw;
    top: 92%;
    right: -0.8vw;
  }
  main .sec01 .box_inner01 p {
    font-size: 4.2666666667vw;
    line-height: 1.8;
    text-align: left;
    margin-top: 9.6vw;
  }
  main .sec01 .box_inner01 p .strong {
    font-size: 6.4vw;
    line-height: 1.8;
    background: none;
  }
  main .sec01 .box_inner01 p + p {
    margin-top: 6.9333333333vw;
  }
  main .sec01 .box_inner01 .virus_illust01::before,
  main .sec01 .box_inner01 .virus_illust02::before {
    content: none;
  }
  main .sec01 .video_inner {
    background: url("../img/common/movie_img.png") center center/cover no-repeat;
    padding: 5.8666666667vw 0 5.3333333333vw;
  }
  main .sec01 .video_inner .cont_wrap {
    padding: 0;
  }
  main .sec01 .video_inner h3 {
    padding-bottom: 2.6666666667vw;
  }
  main .sec01 .video_inner h3 span {
    font-size: 5.3333333333vw;
    padding: 0 0 0 10.6666666667vw;
  }
  main .sec01 .video_inner h3 span::before {
    background: url("../img/common/youtube_icon.png") center center/cover no-repeat;
    width: 8.5333333333vw;
    height: 7.2vw;
    border-radius: 0.8vw;
  }
  main .sec01 .video_inner p {
    font-size: 4.2666666667vw;
  }
  main .sec01 .video_inner a {
    font-size: 3.2vw;
    line-height: 1;
    padding: 0 4vw;
  }
  main .sec01 .video_inner a span {
    font-size: 3.2vw;
  }
  main .sec01 .video_inner h3 + p {
    margin-top: 2.6666666667vw;
  }
  main .sec01 .video_inner .video_box {
    display: block;
    margin-top: 5.3333333333vw;
  }
  main .sec01 .video_inner .movie_inner {
    width: 100%;
  }
  main .sec01 .video_inner .movie_inner + .movie_inner {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .video_inner .video_box + p {
    font-size: 3.2vw;
    margin-top: 5.3333333333vw;
  }
  main .sec01 .box_inner02 {
    padding: 16vw 0 10.6666666667vw;
  }
  main .sec01 .box_inner02 .virus_illust02::before {
    top: -8.5333333333vw;
    left: -13.0666666667vw;
    width: 11.4666666667vw;
  }
  main .sec01 .box_inner02 .accordion_btn_wrap {
    width: 100%;
    padding: 5.3333333333vw 2.6666666667vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: #F7F7F7;
  }
  main .sec01 .box_inner02 .accordion_btn_wrap .accordion_btn {
    font-size: 5.3333333333vw;
    color: #fff;
    background: #E23336;
    border-radius: 13.3333333333vw;
    width: 100%;
    display: block;
    padding: 2.6666666667vw 0;
    position: relative;
  }
  main .sec01 .box_inner02 .accordion_btn_wrap .accordion_btn::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 2.4vw solid transparent;
    border-left: 2.4vw solid transparent;
    border-top: 4vw solid #fff;
    border-bottom: 0;
    position: absolute;
    top: 52%;
    right: 17.3333333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .sec01 .box_inner02 .accordion_btn_wrap.none {
    display: none !important;
  }
  main .sec01 .tabs {
    margin-top: 7.4666666667vw;
    padding-right: 0;
  }
  main .sec01 .tab_list {
    display: none;
  }
  main .sec01 .tab_panel {
    overflow-y: hidden;
    padding: 0;
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  main .sec01 .tab_panel::before, main .sec01 .tab_panel::after {
    content: none;
  }
  main .sec01 .tab_panel_wrap {
    max-width: 100%;
    padding: 5.3333333333vw 1.6vw 16vw;
  }
  main .sec01 .tab_panel h3 {
    font-size: 5.3333333333vw;
    line-height: 1.5;
    padding: 1.8666666667vw 0 3.4666666667vw;
  }
  main .sec01 .tab_panel dl + dl {
    margin-top: 14.6666666667vw;
  }
  main .sec01 .tab_panel dt {
    font-size: 5.3333333333vw;
    line-height: 1.4;
    padding: 1.0666666667vw 0 1.3333333333vw;
  }
  main .sec01 .tab_panel dd {
    margin-top: 5.8666666667vw;
  }
  main .sec01 .tab_panel dd p {
    font-size: 4.2666666667vw;
    line-height: 1.6;
  }
  main .sec01 .tab_panel dd figure {
    margin-top: 5.8666666667vw;
  }
  main .sec01 .tab_panel dd figure + p {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .tab_panel dd p + p {
    margin-top: 8vw;
  }
  main .sec01 .tab_panel + .tab_panel {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .tab_panel01 {
    border: solid 1.0666666667vw #E23336;
    height: 181.0666666667vw;
  }
  main .sec01 .tab_panel01 h3 {
    color: #fff;
    background: #E23336;
  }
  main .sec01 .tab_panel01 dt {
    width: 58.6666666667vw;
  }
  main .sec01 .tab_panel02 {
    padding-bottom: 0;
    border: solid 1.0666666667vw #FAEE00;
    height: 205.3333333333vw;
  }
  main .sec01 .tab_panel02 h3 {
    background: #FAEE00;
  }
  main .sec01 .tab_panel02 dt {
    width: 76vw;
    min-width: auto;
  }
  main .sec01 .tab_panel02 .ransomware_procedure .number {
    font-size: 5.0666666667vw;
    line-height: 1.4;
    width: 7.7333333333vw;
    height: 7.7333333333vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure01 {
    max-width: 75.4666666667vw;
    margin: 5.8666666667vw auto 0;
  }
  main .sec01 .tab_panel02 .ransomware_procedure01 li + li {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure01 p {
    font-weight: 400;
    width: calc(100% - 10.66667vw);
  }
  main .sec01 .tab_panel02 .ransomware_procedure01 p .strong {
    font-size: 4.8vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure01 .number {
    margin-right: 2.9333333333vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 {
    max-width: 149.3333333333vw;
    margin: 8vw auto 0;
    border: solid 0.8vw #E23336;
    padding: 0;
    display: block;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 li {
    width: 100%;
    padding: 5.3333333333vw 6.1333333333vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 li + li {
    border: none;
    border-top: solid 0.5333333333vw #E3E3E3;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 p {
    font-size: 4.2666666667vw;
    margin-top: 4vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 figure {
    max-width: 45.3333333333vw;
    margin-top: 4vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 li:nth-of-type(1) figure {
    position: relative;
    right: 5.3333333333vw;
  }
  main .sec01 .tab_panel02 .ransomware_procedure02 + p {
    margin-top: 5.3333333333vw;
    text-align: left;
  }
  main .sec01 .tab_panel02 .illust {
    width: 73.8666666667vw;
    margin: 2.6666666667vw 0 0 6.6666666667vw;
  }
  main .sec01 .box_inner03 {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .box_inner03 .ttl {
    max-width: 100%;
    font-size: 4.2666666667vw;
    line-height: 1.5;
    padding: 2.6666666667vw 0 3.2vw;
  }
  main .sec01 .box_inner03 .ttl span {
    font-size: 6.4vw;
  }
  main .sec01 .box_inner03 .virus_illust01::before {
    top: 4.5333333333vw;
    right: 3.2vw;
    width: 9.0666666667vw;
    height: 9.0666666667vw;
  }
  main .sec01 .box_inner03 dl {
    margin-top: 9.0666666667vw;
  }
  main .sec01 .box_inner03 dt {
    font-size: 5.3333333333vw;
  }
  main .sec01 .box_inner03 dd {
    margin-top: 5.3333333333vw;
  }
  main .sec01 .box_inner03 .table_wrap {
    overflow-x: scroll;
    padding-bottom: 9.3333333333vw;
  }
  main .sec01 .box_inner03 table {
    table-layout: fixed;
  }
  main .sec01 .box_inner03 th, main .sec01 .box_inner03 td {
    border: 0.5333333333vw solid #fff;
    padding: 3.4666666667vw 2.9333333333vw;
  }
  main .sec01 .box_inner03 th {
    font-size: 4vw;
    padding: 1.6vw 2.6666666667vw;
  }
  main .sec01 .box_inner03 th span {
    font-size: 3.4666666667vw;
  }
  main .sec01 .box_inner03 td {
    font-size: 4.5333333333vw;
    -webkit-text-size-adjust: 100%;
  }
  main .sec01 .box_inner03 th:nth-child(1), main .sec01 .box_inner03 td:nth-child(1) {
    width: 26.1333333333vw;
    min-width: 26.1333333333vw;
  }
  main .sec01 .box_inner03 th:nth-child(3), main .sec01 .box_inner03 td:nth-child(3) {
    width: 34.4vw;
    min-width: 34.4vw;
  }
  main .sec01 .box_inner03 th:nth-child(2), main .sec01 .box_inner03 td:nth-child(2) {
    width: 153.3333333333vw;
  }
  main .sec01 .box_inner03 th:nth-child(4), main .sec01 .box_inner03 td:nth-child(4) {
    width: 71.7333333333vw;
  }
  main .sec01 .box_inner03 .scroll_inner {
    background-color: #fff;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  main .sec01 .box_inner03 .scroll_inner::-webkit-scrollbar {
    display: none;
  }
  main .sec01 .box_inner03 .simplebar-scrollbar::before {
    background: #757575;
    border-radius: 0;
    height: 4vw !important;
    margin: 0;
    left: 0;
    right: 0;
  }
  main .sec01 .box_inner03 .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0;
  }
  main .sec01 .box_inner03 .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1;
  }
  main .sec01 .box_inner03 .simplebar-track {
    background: #D9D9D9;
    height: 4vw !important;
  }
  main .sec01 .box_inner03 .swipe_icon {
    width: 15.4666666667vw;
    margin: 3.2vw 0 0 auto;
  }
  main .sec01 .box_inner03 a {
    font-size: 3.7333333333vw;
    margin-top: 3.7333333333vw;
  }
  main .sec01 .box_inner03 .emphasis_txt {
    font-size: 4.8vw;
    line-height: 1.9;
    margin-top: 16vw;
    padding-bottom: 32vw;
  }
  main .sec01 .box_inner03 .emphasis_txt::before {
    width: 26.1333333333vw;
    height: 27.7333333333vw;
    top: auto;
    bottom: 0px;
    left: 7.4666666667vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  main .sec01 .box_inner03 .emphasis_txt::after {
    width: 24.8vw;
    height: 26.1333333333vw;
    top: auto;
    bottom: 0;
    right: 7.4666666667vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  main .sec01 .box_inner03 .emphasis_txt span {
    font-size: 5.8666666667vw;
  }
  main .sec01 .box_inner03 .emphasis_txt .strong {
    font-size: 9.3333333333vw;
  }
  main .sec01 .box_inner4 {
    margin-top: 16.5333333333vw;
  }
  main .sec01 .box_inner4 .cont_wrap {
    padding: 0;
  }
  main .sec01 .box_inner4 .ttl {
    font-size: 4.2666666667vw;
    line-height: 1.28;
    padding: 1.3333333333vw 10.6666666667vw 2.6666666667vw;
    margin: 0 4vw;
  }
  main .sec01 .box_inner4 .ttl span {
    font-size: 6.4vw;
    line-height: 1;
  }
  main .sec01 .box_inner4 .graph_box {
    border-radius: 0;
    padding: 5.0666666667vw 0;
    margin-top: 8vw;
  }
  main .sec01 .box_inner4 .graph_box figure {
    max-width: 91.7333333333vw;
    margin: 0;
  }
  main .sec01 .box_inner4 .graph_box p {
    margin: 3.4666666667vw 8vw 0;
    text-align: left;
  }
  main .sec01 .box_inner4 .graph_box p, main .sec01 .box_inner4 .graph_box a {
    font-size: 3.2vw;
  }
  main .sec01 .box_inner4 .graph_box a {
    display: inline;
  }
  main .sec01 .btn_wrap {
    margin-top: 17.3vw;
  }
  main .sec01 .btn_wrap + .btn_wrap {
    margin-top: 6.1333333333vw;
  }
  main .sec02 {
    padding: 3.7333333333vw 0px 2.6666666667vw;
  }
  main .sec02 h2 {
    font-size: 8.5333333333vw;
  }
  main .sec02 h2 .strong {
    font-size: 11.4666666667vw;
  }
  main .sec02 .inner {
    margin-top: 7.4666666667vw;
    padding: 14.6666666667vw 0 18.1333333333vw;
  }
  main .sec02 h3 {
    font-size: 5.3333333333vw;
    line-height: 1.5;
  }
  main .sec02 h3 span {
    font-size: 6.9333333333vw;
    line-height: 1.2;
  }
  main .sec02 dl {
    padding-right: 0;
    margin-top: 13.3333333333vw;
  }
  main .sec02 dt {
    font-size: 5.3333333333vw;
    width: 100%;
    height: 13.3333333333vw;
    padding: 2.6666666667vw;
  }
  main .sec02 dt::before {
    content: none;
  }
  main .sec02 dd {
    padding: 0 2.6666666667vw 10.6666666667vw;
    border: solid 1.0666666667vw #00ADDB;
  }
  main .sec02 dd::before, main .sec02 dd::after {
    content: none;
  }
  main .sec02 dd ul {
    display: block;
  }
  main .sec02 dd li {
    width: 100%;
    display: block;
    padding: 5.3333333333vw 2.6666666667vw;
  }
  main .sec02 dd li .number {
    font-size: 5.0666666667vw;
    width: 7.7333333333vw;
    height: 7.7333333333vw;
    margin: 0 auto 5.3333333333vw;
  }
  main .sec02 dd li p {
    font-size: 4.2666666667vw;
  }
  main .sec02 dd li p .strong {
    font-size: 4.2666666667vw;
  }
  main .sec02 dd li figure {
    width: 42.6666666667vw;
    margin: 4.8vw auto 0;
  }
  main .sec02 dd li + li {
    border: none;
    border-top: solid 0.5333333333vw #E3E3E3;
  }
  main .sec02 dl + p {
    font-size: 4.2666666667vw;
    margin-top: 6.1333333333vw;
  }
  main .sec02 dl + p span {
    font-size: 5.3333333333vw;
  }
  main .sec02 .security_scorecard {
    border-radius: 4.5333333333vw;
    padding: 6.1333333333vw 0 16vw;
    margin-top: 5.8666666667vw;
  }
  main .sec02 .security_scorecard .wrap {
    max-width: 100%;
    padding: 0 2.6666666667vw;
    display: block;
  }
  main .sec02 .security_scorecard p {
    font-size: 5.3333333333vw;
    padding: 0 0 5.8666666667vw;
    width: 100%;
  }
  main .sec02 .security_scorecard figure {
    width: 100%;
  }
  main .sec02 .banner_wrap {
    width: 100%;
    margin-top: 15.2vw;
  }
  main .sec02 .banner_wrap .banner {
    width: 100%;
    margin: 5.3333333333vw auto 0;
  }
  main .sec02 .try {
    border-radius: 4.5333333333vw;
    margin-top: 23.4666666667vw;
    padding: 15.4666666667vw 0 16vw;
  }
  main .sec02 .try .wrap {
    max-width: 100%;
    padding: 0 2.6666666667vw;
  }
  main .sec02 .try h3 {
    font-size: 4.8vw;
    top: -7.7333333333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding: 2.9333333333vw 4vw;
    border-radius: 3.2vw;
    width: 56.5333333333vw;
  }
  main .sec02 .try h3::after {
    border-right: 1.3333333333vw solid transparent;
    border-left: 1.3333333333vw solid transparent;
    border-top: 2.1333333333vw solid #FAEE00;
  }
  main .sec02 .try .lead_txt {
    font-size: 5.3333333333vw;
    line-height: 1.5;
  }
  main .sec02 .try .banner {
    margin-top: 4.8vw;
  }
  main .sec02 .try .sup {
    font-size: 3.2vw;
    margin-top: 1.0666666667vw;
  }
  main .sec02 .try .btn_ttl_white {
    font-size: 4.2666666667vw;
    color: #fff;
    position: relative;
    display: inline-block;
    margin-top: 8vw;
  }
  main .sec02 .try .btn_ttl_white::before, main .sec02 .try .btn_ttl_white::after {
    content: "";
    width: 8.8vw;
    height: 14.9333333333vw;
    background: url("../img/common/txt_icon_white.png") center center/contain no-repeat;
    position: absolute;
    top: -0.8vw;
  }
  main .sec02 .try .btn_ttl_white::before {
    left: -11.7333333333vw;
  }
  main .sec02 .try .btn_ttl_white::after {
    right: -11.7333333333vw;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  main .sec02 .try .btn_list {
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
  main .sec02 .try .btn_list .btn_wrap {
    width: 100%;
    margin-top: 4.2666666667vw;
  }
  main .sec02 .try .btn_list .btn_wrap + .btn_wrap {
    margin-top: 8vw;
  }
  main .sec02 .try .btn_list .btn {
    height: 19.2vw;
    padding: 0 8.8vw;
    -webkit-box-shadow: 0.8vw 1.0666666667vw 0px #000;
            box-shadow: 0.8vw 1.0666666667vw 0px #000;
  }
  main .sec02 .try .btn_list .btn::before {
    border-top: 2.1333333333vw solid transparent;
    border-bottom: 2.1333333333vw solid transparent;
    border-left: 3.7333333333vw solid #000;
    right: 5.3333333333vw;
  }
  main .sec02 .try .btn_list .btn:hover {
    -webkit-box-shadow: 0.8vw 1.0666666667vw 0px #000;
            box-shadow: 0.8vw 1.0666666667vw 0px #000;
  }
  main .sec02 .try .btn_list + a {
    font-size: 4.2666666667vw;
    margin-top: 6.4vw;
  }
  main .sec02 .contact {
    margin-top: 16vw;
  }
  main .sec03 {
    padding: 3.4666666667vw 0 2.6666666667vw;
  }
  main .sec03 h2 {
    padding: 0 2.6666666667vw;
  }
  main .sec03 h2 span {
    font-size: 8.5333333333vw;
    line-height: 1.9;
  }
  main .sec03 h2 span .strong {
    font-size: 11.4666666667vw;
  }
  main .sec03 .inner {
    padding: 16vw 0 17.3333333333vw;
    margin-top: 6.6666666667vw;
  }
  main .sec03 .ttl {
    padding: 3.2vw 5.3333333333vw 2.6666666667vw;
    max-width: 100%;
    font-size: 4.2666666667vw;
  }
  main .sec03 .ttl span {
    font-size: 6.4vw;
  }
  main .sec03 .ttl + p {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
    line-height: 1.8;
  }
  main .sec03 .box {
    padding-right: 0;
    margin-top: 5.3333333333vw;
  }
  main .sec03 .box_ttl {
    font-size: 5.3333333333vw;
    width: 100%;
    height: 20.8vw;
    padding: 2.6666666667vw;
  }
  main .sec03 .box_ttl::before {
    content: none;
  }
  main .sec03 .box_body {
    padding: 2.6666666667vw 2.6666666667vw;
    border: solid 1.0666666667vw #00ADDB;
  }
  main .sec03 .box_body::before, main .sec03 .box_body::after {
    content: none;
  }
  main .sec03 .box_body ul {
    max-width: 100%;
    padding: 0;
  }
  main .sec03 .box_body li {
    display: block;
    padding: 5.3333333333vw 0;
  }
  main .sec03 .box_body li .number {
    font-size: 5.0666666667vw;
    width: 7.7333333333vw;
    height: 7.7333333333vw;
    margin: auto;
  }
  main .sec03 .box_body li dl {
    width: 100%;
    text-align: center;
    margin-top: 5.3333333333vw;
  }
  main .sec03 .box_body li dt {
    font-size: 5.3333333333vw;
  }
  main .sec03 .box_body li dt .strong {
    font-size: 5.3333333333vw;
  }
  main .sec03 .box_body li dd {
    margin-top: 5.3333333333vw;
  }
  main .sec03 .box_body li dd p {
    font-size: 4.2666666667vw;
    line-height: 1.8;
    font-weight: 400;
  }
  main .sec03 .box_body li + li {
    margin-top: 0;
    border-top: solid 0.5333333333vw #E3E3E3;
  }
  main .sec03 .btn_list {
    display: block;
    margin-top: 1.3333333333vw;
  }
  main .sec03 .btn_list .btn_wrap {
    margin: 0;
    padding: 4vw 0;
  }
  main .sec03 .btn_list .btn_item01 {
    width: 100%;
  }
  main .sec03 .btn_list .btn_item01 .btn {
    padding-left: 9.6vw;
    width: 81.3333333333vw;
    height: 20.8vw;
    margin: 2.6666666667vw auto 0;
  }
  main .sec03 .btn_list .btn_item01 img {
    width: 57.3333333333vw;
  }
  main .sec03 .btn_list .btn_item02 {
    width: 100%;
    padding-top: 2.1333333333vw;
  }
  main .sec03 .btn_list .btn_item02 .btn_ttl {
    line-height: 1.2;
  }
  main .sec03 .btn_list .btn_item02 .btn_ttl::before, main .sec03 .btn_list .btn_item02 .btn_ttl::after {
    width: 10.4vw;
    height: 17.6vw;
    background: url("../img/common/txt_icon_black-sp.png") center center/contain no-repeat;
    top: 0.5333333333vw;
  }
  main .sec03 .btn_list .btn_item02 .btn_ttl::before {
    left: -12.5333333333vw;
  }
  main .sec03 .btn_list .btn_item02 .btn_ttl::after {
    right: -12.5333333333vw;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  main .sec03 .btn_list .btn_item02 a {
    width: 81.3333333333vw;
    margin: 4.8vw auto 0;
  }
  main .sec03 .btn_list .btn_item02 .sup {
    font-size: 3.7333333333vw;
    margin: 1.8666666667vw 2.6666666667vw 0 0;
  }
  main .sec03 .btn_large {
    -webkit-box-shadow: 0.8vw 0.8vw 2.9333333333vw rgba(0, 0, 0, .25);
            box-shadow: 0.8vw 0.8vw 2.9333333333vw rgba(0, 0, 0, .25);
    padding: 3.2vw 16vw;
    margin-top: 0;
  }
  main .sec03 .btn_large span {
    font-size: 4.2666666667vw;
    line-height: 1.4;
  }
  main .sec03 .btn_large::before {
    border-top: 1.8666666667vw solid transparent;
    border-bottom: 1.8666666667vw solid transparent;
    border-left: 3.2vw solid #fff;
    border-right: 0;
    top: 50%;
    right: 10.1333333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .sec03 .contact {
    margin-top: 15.2vw;
  }
  main .sec04 {
    padding: 9.3333333333vw 0 2.6666666667vw;
  }
  main .sec04 h2 {
    font-size: 5.3333333333vw;
    line-height: 1.8;
  }
  main .sec04 h2 .strong {
    font-size: 10.6666666667vw;
  }
  main .sec04 .inner {
    padding: 6.6666666667vw 0 17.0666666667vw;
    margin-top: 8.5333333333vw;
    border-radius: 2.1333333333vw;
  }
  main .sec04 .inner::before {
    content: none;
  }
  main .sec04 .cont_wrap {
    max-width: 100%;
    padding: 0 4vw;
  }
  main .sec04 .lead_txt01 {
    display: block;
  }
  main .sec04 .lead_txt01 span {
    font-size: 5.3333333333vw;
    margin-top: 0;
  }
  main .sec04 .lead_txt01 .strong {
    font-size: 6.9333333333vw;
  }
  main .sec04 .lead_txt01 img {
    width: 64vw;
    padding: 0;
    margin: 5.3333333333vw auto;
    display: block;
  }
  main .sec04 .lead_txt01 img + span {
    margin-top: 5.3333333333vw;
  }
  main .sec04 .lead_txt02 {
    font-size: 4.2666666667vw;
    margin-top: 4.8vw;
  }
  main .sec04 .lead_txt02 span {
    font-size: 5.3333333333vw;
  }
  main .sec04 .lead_txt02 .strong {
    font-size: 5.3333333333vw;
  }
  main .sec04 .ttl {
    font-size: 4.8vw;
    line-height: 1.2;
    margin-top: 13.3333333333vw;
    max-width: 100%;
    padding: 2.6666666667vw 2.6666666667vw 3.2vw;
  }
  main .sec04 .chat_container {
    max-width: 80vw;
    margin: 0 auto;
  }
  main .sec04 .chat {
    display: block;
    margin-top: 6.4vw;
  }
  main .sec04 .chat + .chat {
    margin-top: 4.2666666667vw;
  }
  main .sec04 .chat .bubble {
    font-size: 4.2666666667vw;
    max-width: 100%;
    min-height: auto;
    padding: 2.4vw 1.8666666667vw;
    border-radius: 5.3333333333vw;
    border: 0.8vw solid #000;
  }
  main .sec04 .chat.left {
    text-align: left;
  }
  main .sec04 .chat.left img {
    width: 10.4vw;
    position: relative;
    left: 3.4666666667vw;
    top: 1.0666666667vw;
  }
  main .sec04 .chat.left .bubble {
    margin-left: 0;
  }
  main .sec04 .chat.left .bubble::before {
    content: "";
    width: 3.4666666667vw;
    height: 4vw;
    background: url("../img/common/bubble_arrow01-sp.png") center center/contain no-repeat;
    position: absolute;
    top: -1.8666666667vw;
    left: 14.1333333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .sec04 .chat.right {
    text-align: right;
  }
  main .sec04 .chat.right img {
    width: 10.4vw;
    position: relative;
    top: 1.3333333333vw;
    right: 4.2666666667vw;
  }
  main .sec04 .chat.right .bubble {
    margin-right: 0;
  }
  main .sec04 .chat.right .bubble::before {
    content: "";
    width: 3.7333333333vw;
    height: 5.6vw;
    background: url("../img/common/bubble_arrow02-sp.png") center center/contain no-repeat;
    position: absolute;
    top: -2.6666666667vw;
    right: 14.9333333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  main .sec04 .support_cont .ttl {
    max-width: 100%;
    font-size: 4.2666666667vw;
    padding: 4.2666666667vw 0 4.5333333333vw;
    margin-top: 15.4666666667vw;
  }
  main .sec04 .support_cont .ttl .strong {
    font-size: 6.4vw;
    line-height: 1;
  }
  main .sec04 .support_cont .ttl::after {
    border-top: 2.4vw solid #12AEE0;
  }
  main .sec04 .support_cont .support_box {
    border-radius: 4.5333333333vw;
    padding: 5.0666666667vw 2.9333333333vw 5.8666666667vw;
    margin-top: 12.8vw;
  }
  main .sec04 .support_cont .support_box figure {
    max-width: 100%;
  }
  main .sec04 .price_cont {
    margin-top: 15.4666666667vw;
  }
  main .sec04 .price_cont .ttl {
    font-size: 6.4vw;
    max-width: 100%;
  }
  main .sec04 .price_cont .price {
    max-width: 70.1333333333vw;
    margin: 7.4666666667vw auto 0;
  }
  main .sec04 .price_cont .sup {
    display: none;
  }
  main .sec04 .btn_wrap {
    margin-top: 10.6666666667vw;
  }
  main .sec04 .btn_wrap .btn_samurai {
    width: 100%;
    height: 22.6666666667vw;
    margin: 1.6vw auto 0;
  }
  main .sec04 .btn_wrap .btn_samurai img {
    width: 59.2vw;
    position: relative;
    left: -2.6666666667vw;
  }
  main .sec04 .btn_wrap + .btn_wrap {
    margin-top: 18.6666666667vw;
  }
  main .sec05 {
    padding: 2.6666666667vw 0 3.2vw;
  }
  main .sec05 .inner {
    padding: 16vw 0 3.7333333333vw;
  }
  main .sec05 .ttl {
    font-size: 6.4vw;
    line-height: 1.2;
    padding: 7.4666666667vw 5.3333333333vw;
    max-width: 100%;
  }
  main .sec05 .contact {
    padding-right: 1.3333333333vw;
  }
  main .sec05 .contact .contact_inner {
    background: #FAEE00;
    display: block;
    border: solid 1.0666666667vw #FAEE00;
    padding: 0 2.6666666667vw 4.8vw;
  }
  main .sec05 .contact .contact_inner::before {
    top: -1px;
    right: -2.4vw;
    width: 1.3333333333vw;
    height: calc(100% + 2.13333vw);
  }
  main .sec05 .contact .contact_inner::after {
    left: -1px;
    bottom: -2.4vw;
    width: calc(100% + 2.13333vw);
    height: 1.3333333333vw;
    -webkit-transform: skewX(45deg);
            transform: skewX(45deg);
  }
  main .sec05 .contact h3 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding: 4.2666666667vw 0 6.4vw;
    width: 100%;
  }
  main .sec05 .contact .contact_body {
    width: 100%;
    padding: 8vw 2.6666666667vw 8.8vw;
    border-radius: 2.1333333333vw;
    display: block;
    background: #fff;
  }
  main .sec05 .contact .contact_body_cont {
    width: 100%;
    margin-top: 0;
  }
  main .sec05 .contact .contact_body_cont dl + dl {
    margin-top: 4vw;
  }
  main .sec05 .contact .contact_body_cont dt {
    font-size: 4.2666666667vw;
    width: auto;
    margin-right: 3.2vw;
  }
  main .sec05 .contact .contact_body_cont dd {
    font-size: 4.2666666667vw;
  }
  main .sec05 .contact .contact_body_cont dd a {
    font-size: 4.2666666667vw;
  }
  main .sec05 .contact .contact_body_cont p {
    font-size: 4.2666666667vw;
    margin-top: 4vw;
  }
  main .sec05 .contact h4 {
    font-size: 4.2666666667vw;
    text-align: center;
  }
  main .sec05 .contact .info_cont {
    margin-top: 1.6vw;
    margin-top: 5.3333333333vw;
  }
  main .sec05 .contact .email {
    margin-top: 4vw;
  }
  main .sec05 .contact .btn_cont {
    width: 100%;
    margin-top: 5.3333333333vw;
  }
  main .sec05 .contact .logo {
    width: 45.8666666667vw;
    margin: auto;
  }
  main .sec05 .contact .btn {
    width: 64.5333333333vw;
    height: 13.3333333333vw;
    margin: auto;
    padding: 0 10.6666666667vw 0 7.2vw;
    -webkit-box-shadow: 0px 1.0666666667vw 0px #000;
            box-shadow: 0px 1.0666666667vw 0px #000;
  }
  main .sec05 .contact .btn span {
    font-size: 4.2666666667vw;
  }
  main .sec05 .contact .btn .window_icon::before {
    width: 3.2vw;
    height: 3.2vw;
    right: -6.9333333333vw;
  }
  main .sec05 .contact .btn:hover {
    -webkit-box-shadow: 0px 1.0666666667vw 0px #000;
            box-shadow: 0px 1.0666666667vw 0px #000;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  main .sec05 .contact .btn_wrap {
    margin-top: 3.2vw;
  }
  main .sec05 .contact .btn_wrap + .btn_wrap {
    margin-top: 6.4vw;
  }
  main .sec05 .partner {
    max-width: 100%;
    margin: 15.2vw auto 0;
  }
  main .sec05 .partner .partner_list {
    margin: 7.4666666667vw auto 0;
    padding: 0 2.1333333333vw;
    display: block;
  }
  main .sec05 .partner .partner_list li {
    width: 100%;
    margin-top: 3.4666666667vw;
  }
  main .sec05 .partner .partner_list a {
    font-size: 4.2666666667vw;
    padding-right: 5.3333333333vw;
  }
  main .sec05 .partner .partner_list a::before {
    width: 3.2vw;
    height: 3.2vw;
    position: absolute;
    bottom: 1.3333333333vw;
    right: 0;
  }
  main .sec05 .partner .sup {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
  main .sec05 .company {
    margin-top: 14.6666666667vw;
  }
  main .sec05 .company .ttl {
    padding: 5.3333333333vw 5.3333333333vw 5.8666666667vw;
  }
  main .sec05 .company dl {
    margin-top: 8vw;
  }
  main .sec05 .company dl + dl {
    margin-top: 5.3333333333vw;
  }
  main .sec05 .company dt {
    font-size: 5.3333333333vw;
  }
  main .sec05 .company dt span {
    font-size: 5.3333333333vw;
  }
  main .sec05 .company dd {
    margin-top: 3.2vw;
  }
  main .sec05 .company dd li {
    min-width: 38%;
    margin: 2.1333333333vw 4.8vw 0;
  }
  main .sec05 .copyright {
    font-size: 3.7333333333vw;
    margin-top: 16vw;
  }
  main #pagetop {
    bottom: 6.6666666667vw;
    right: 5.3333333333vw;
  }
  main #pagetop a {
    width: 12.8vw;
    height: 12.8vw;
  }
  main #pagetop a::before {
    border-top: 0.8vw solid #000;
    border-right: 0.8vw solid #000;
    width: 4.5333333333vw;
    height: 4.5333333333vw;
  }

  /*========================================== 
    footer (SP)
  ========================================== */
  footer {
    padding: 10.6666666667vw 0 8vw;
  }
  footer .footer_wrap {
    max-width: 100%;
    padding: 0 2.6666666667vw;
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  footer .footer_wrap .logo {
    width: 53.3333333333vw;
  }
  footer .footer_wrap .btn_wrap {
    margin-top: 5.3333333333vw;
    width: 100%;
  }
  footer .footer_wrap .btn_wrap .btn {
    width: 64.5333333333vw;
    height: 13.3333333333vw;
    margin: auto;
    padding: 0 10.6666666667vw 0 7.2vw;
    -webkit-box-shadow: 0px 1.0666666667vw 0px #000;
            box-shadow: 0px 1.0666666667vw 0px #000;
  }
  footer .footer_wrap .btn_wrap .btn span {
    font-size: 4.2666666667vw;
  }
  footer .footer_wrap .btn_wrap .btn .window_icon::before {
    width: 3.2vw;
    height: 3.2vw;
    right: -6.9333333333vw;
  }
  footer .footer_wrap .btn_wrap .btn:hover {
    -webkit-box-shadow: 0px 1.0666666667vw 0px #000;
            box-shadow: 0px 1.0666666667vw 0px #000;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  footer .footer_wrap .footer_info {
    width: 100%;
    margin-top: 8vw;
  }
  footer .footer_wrap .info_cont {
    width: 85.3333333333vw;
    margin: 5.3333333333vw auto 0;
  }
  footer .footer_wrap .info_ttl {
    font-size: 4.8vw;
    text-align: center;
  }
  footer .footer_wrap dl {
    margin-top: 2.6666666667vw;
  }
  footer .footer_wrap dt {
    width: auto;
    margin-right: 4vw;
  }
  footer .footer_wrap .email {
    margin-top: 2.6666666667vw;
  }
  footer .copyright {
    font-size: 3.7333333333vw;
    margin-top: 14.1333333333vw;
  }

  /****************************************
  ** 下層ページ共通スタイル（SP）
  *****************************************/
  #article,
  #archive,
  #page {
    padding: 16vw 0 21.3333333333vw;
  }
  
  /****************************************
  ** 固定ページスタイル（SP）
  *****************************************/
  #page .wrap {
    padding: 0 4vw;
  }
  #page .content {
    max-width: 100%;
    margin: 16vw auto 0;
  }

  /****************************************
  ** 記事ページスタイル（SP）
  *****************************************/
  #article .article {
    max-width: 100%;
    padding: 0 4vw;
    margin: 16vw auto 0;
  }
  #article .article h1 {
    font-size: 8vw;
    margin-top: 6.1333333333vw;
  }
  #article .article-date {
    font-size: 3.7333333333vw;
  }
  #article .article-contents {
    margin-top: 10.6666666667vw;
  }
  #article .article-contents .thumbnail {
    margin-bottom: 10.6666666667vw;
  }
  #article .nav-container {
    width: 100%;
    max-width: 90%;
    padding: 0 4vw;
    margin: 40vw auto 0;
  }
  #article .nav-container .nav-link:hover {
    opacity: 1;
  }
  #article .nav-container .nav-link span {
    font-size: 4.2666666667vw;
  }
  #article .nav-container .prev::after,
  #article .nav-container .next::after {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
  #article .nav-container .prev {
    left: 0.8vw;
    padding-left: 3.4666666667vw;
  }
  #article .nav-container .next {
    right: 0.8vw;
    padding-right: 3.4666666667vw;
  }
  #article .nav-container .center span {
    font-size: 4.8vw;
  }

  /****************************************
  ** アーカイブページスタイル（SP）
  *****************************************/
  #archive .archive {
    max-width: 100%;
    padding: 0 4vw;
    margin: 16vw auto 0;
  }
  #archive a:hover {
    opacity: 1;
  }
  #archive li + li {
    margin-top: 10.6666666667vw;
  }
  #archive dt {
    font-size: 3.7333333333vw;
  }
  #archive dd {
    font-size: 4.2666666667vw;
    margin: 4vw 0 0 4vw;
  }

  .navigation {
    margin-top: 34.667vw;
  }
  .nav-links {
    gap: 2.667vw;
  }
  .pagination a, 
  .pagination span {
    font-size: 3.733vw;
    width: 8vw;
    height: 8vw;
  }
  
  .pagination .prev::before,
  .pagination .prev::after,
  .pagination .next::before,
  .pagination .next::after {
    right: 2.667vw;
    width: 2.667vw;
    height: 0.533vw;
  }
}