@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, l, ul, ol, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
}

html {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Arial, Helvetica, sans-serif;
  font-size: 62.5%;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-height: 100vh;
  color: #131313;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  word-break: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: 100%;
}

header,
footer {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  min-height: 1px;
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
a {
  color: #111;
  text-decoration: none;
}
a:link, a:active, a:hover, a:visited {
  outline: 0 none;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

img[src$=".svg"] {
  width: 100%;
}

.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1299px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1299px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1299px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1299px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1300px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1300px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1300px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1300px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1299px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1300px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}
.header {
  padding: 12px 0 10px;
}
.header_inner {
  padding: 0 5.3333333333%;
}
.header_row {
  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 .logo {
  width: 70px;
}
.header .btn_wrap {
  position: fixed;
  top: 8px;
  right: 5.3333333333%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.header .btn_wrap .btn a {
  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;
  color: #0d0e10;
  font-size: 1.4rem;
  font-weight: 700;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.51);
  -webkit-backdrop-filter: blur(34px) brightness(2.25);
          backdrop-filter: blur(34px) brightness(2.25);
}
.header .btn_wrap .btn a span {
  display: none;
}
.header .btn_wrap .btn a i {
  display: inline-block;
}
.header .btn_wrap .btn a i::before {
  content: "";
  display: block;
}
.header .btn_wrap .btn_dl a {
  border: 2px solid #05a1f7;
}
.header .btn_wrap .btn_dl a i {
  width: 21px;
  height: 21px;
}
.header .btn_wrap .btn_dl a i::before {
  width: 21px;
  height: 21px;
  background: url(../img/icon_dl.svg) no-repeat center/contain;
}
.header .btn_wrap .btn_ctc a {
  border: 2px solid #ffef88;
}
.header .btn_wrap .btn_ctc a i {
  width: 25px;
  height: 18px;
}
.header .btn_wrap .btn_ctc a i::before {
  width: 25px;
  height: 18px;
  background: url(../img/icon_ctc.svg) no-repeat center/contain;
}

.main {
  position: relative;
  border-radius: 30px 30px 0 0;
  background-color: #f6f6f6;
}
.main::before {
  position: absolute;
  top: 120px;
  left: 0;
  content: "";
  width: 100%;
  height: calc(100% - 120px);
  background: url(../img/pattern.svg) repeat center/contain;
  background-size: 184px 184px;
}

@-webkit-keyframes slide-up {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slide-up {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes slide-right {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-right {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes pop-bubble {
  0% {
    -webkit-transform: translate(-50%, 30px);
            transform: translate(-50%, 30px);
    opacity: 0;
  }
  60% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    opacity: 1;
  }
}
@keyframes pop-bubble {
  0% {
    -webkit-transform: translate(-50%, 30px);
            transform: translate(-50%, 30px);
    opacity: 0;
  }
  60% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  100% {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    opacity: 1;
  }
}
@-webkit-keyframes pop-bubble2 {
  0% {
    -webkit-transform: translate(30px, 0);
            transform: translate(30px, 0);
    opacity: 0;
  }
  60% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes pop-bubble2 {
  0% {
    -webkit-transform: translate(30px, 0);
            transform: translate(30px, 0);
    opacity: 0;
  }
  60% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
.hero {
  position: relative;
  border-radius: 30px 30px 0 0;
  background-image: url(../img/hero_img_sp.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 20px 0 0;
  overflow: hidden;
}
.hero::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
}
.hero_inner {
  position: relative;
  padding: 0 5.3333333333%;
}
.hero h1 {
  color: #fff;
  font-size: 7.1rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.hero h1 em {
  color: #f9e800;
  font-style: normal;
}
.hero h1 span {
  display: block;
  font-size: 2.2rem;
  margin: 10px 0 0;
}
.hero .tbl {
  max-width: 270px;
  margin: 15px auto 0;
}
.hero .tbl table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.hero .tbl table td {
  display: block;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.01em;
  border: 1px solid #fff;
  margin-top: -1px;
}
.hero_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 100px -5.3333333333vw 0 0;
}
.hero_row .wrap {
  position: absolute;
  -webkit-animation: pop-bubble 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
          animation: pop-bubble 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  opacity: 0;
}
.hero_row .box {
  position: relative;
  width: 150px;
  height: 111px;
}
.hero_row .border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.hero_row .border2 {
  display: none;
}
.hero_row .clip {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 111px;
  -webkit-mask: url(#bubbleMaskSp);
          mask: url(#bubbleMaskSp);
  z-index: 0;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(11px) brightness(1.18);
          backdrop-filter: blur(11px) brightness(1.18);
}
.hero_row .speechbubble {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.45;
  width: 100%;
  height: 100%;
}
.hero_row .speechbubble span {
  font-size: 1.1rem;
}
.hero_row .speechbubble .em_yel {
  color: #f9e800;
  font-style: normal;
  font-size: 1.7rem;
}
.hero_row .speechbubble .em_blu {
  color: #264aea;
  font-style: normal;
  font-size: 1.3rem;
}
.hero_row .sp_smartphone {
  position: relative;
  -webkit-animation: slide-up 1s ease-out forwards;
          animation: slide-up 1s ease-out forwards;
}
.hero_row .sp_smartphone .wrap {
  top: -90px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.hero_row .sp_smartphone .speechbubble {
  padding: 5px 0 0 0;
}
.hero_row .sp_screen {
  position: relative;
  -webkit-animation: slide-right 1s ease-out forwards;
          animation: slide-right 1s ease-out forwards;
}
.hero_row .sp_screen .wrap {
  top: -90px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.hero_row .sp_screen .speechbubble {
  padding: 15px 0 0 0;
}
.hero .pc_screen {
  display: none;
}

.contact_box {
  position: relative;
  color: #fff;
  background: #00adf9;
  background: linear-gradient(135deg, rgb(0, 173, 249) 0%, rgb(44, 181, 232) 45%, rgb(52, 39, 229) 100%);
  padding: 20px 0 30px;
}
.contact_box_inner {
  padding: 0 5.3333333333%;
}
.contact_box .pc_smartphone {
  display: none;
}
.contact_box .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.contact_box .title span {
  position: relative;
  display: inline-block;
}
.contact_box .title span::before, .contact_box .title span::after {
  position: absolute;
  bottom: 3px;
  content: "";
  width: 3px;
  height: 30px;
  background-color: #fff;
}
.contact_box .title span::before {
  left: -10px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
}
.contact_box .title span::after {
  right: -10px;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.contact_box .title span i {
  display: none;
}
.contact_box .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 10px 0;
}
.contact_box .btn {
  width: 100%;
  max-width: 370px;
}
.contact_box .btn a {
  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;
  color: #0d0e10;
  font-size: 2rem;
  font-weight: 700;
  width: 100%;
  border-radius: 43px;
  background-color: rgba(255, 255, 255, 0.51);
  -webkit-backdrop-filter: blur(34px) brightness(2.25);
          backdrop-filter: blur(34px) brightness(2.25);
  -webkit-box-shadow: 0 7px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 7px 6px rgba(0, 0, 0, 0.16);
  padding: 14px 0;
}
.contact_box .btn a span {
  display: inline-block;
  margin: 0 0 0 10px;
}
.contact_box .btn a i {
  display: inline-block;
}
.contact_box .btn a i::before {
  content: "";
  display: block;
}
.contact_box .btn_dl a {
  border: 3px solid #05a1f7;
}
.contact_box .btn_dl a i {
  width: 28px;
  height: 28px;
}
.contact_box .btn_dl a i::before {
  width: 28px;
  height: 28px;
  background: url(../img/icon_dl.svg) no-repeat center/contain;
}
.contact_box .btn_ctc {
  text-align: center;
}
.contact_box .btn_ctc a {
  border: 3px solid #ffef88;
}
.contact_box .btn_ctc a span {
  position: relative;
}
.contact_box .btn_ctc a span::after {
  position: absolute;
  top: 6px;
  right: -16px;
  display: block;
  content: "※";
  font-size: 1.5rem;
  line-height: 1;
}
.contact_box .btn_ctc a i {
  width: 39px;
  height: 28px;
}
.contact_box .btn_ctc a i::before {
  width: 39px;
  height: 28px;
  background: url(../img/icon_ctc.svg) no-repeat center/contain;
}
.contact_box .btn_ctc .note {
  font-size: 1.3rem;
  margin: 10px 0 0;
}

.sec_about {
  position: relative;
  background-image: url(../img/bg_about_sp.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  min-height: 530px;
  padding: 60px 0 110px;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 50% 100%, 0% 90%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 50% 100%, 0% 90%);
}
.sec_about_inner {
  padding: 0 5.3333333333%;
}
.sec_about h2 {
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  line-height: 1.15;
}
.sec_about h2 .fm {
  font-size: 3.9rem;
}
.sec_about h2 .fm em {
  color: #f9e800;
  font-style: normal;
}
.sec_about h2 .fs {
  font-size: 2.9rem;
}
.sec_about .about_text {
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1.85;
  margin: 30px 0 0;
}

.sec_point {
  position: relative;
  padding: 60px 0;
}
.sec_point_inner {
  position: relative;
  padding: 0 5.3333333333%;
}
.sec_point_title {
  font-weight: 700;
  margin: 0 0 15px;
}
.sec_point_title span {
  display: block;
  color: rgba(38, 74, 234, 0.11);
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
.sec_point_title h2 {
  position: relative;
  color: #202020;
  font-size: 1.4rem;
  padding: 0 0 0 30px;
}
.sec_point_title h2::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "／";
}
.sec_point .sec_itembox {
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
}
.sec_point .sec_itembox:not(:last-child) {
  margin: 0 0 20px;
}
.sec_point .sec_itembox_inner {
  padding: 24px 4% 30px;
}
.sec_point .sec_itembox .itembox_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.sec_point .sec_itembox .itembox_cont_header {
  margin: 0 0 5px;
}
.sec_point .sec_itembox .itembox_cont_header span {
  position: relative;
  display: block;
  color: #264aea;
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}
.sec_point .sec_itembox .itembox_cont_header span::after {
  position: absolute;
  top: 50%;
  left: 100px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  width: 110px;
  height: 1px;
  background-color: #264aea;
}
.sec_point .sec_itembox .itembox_cont_header h3 {
  font-size: 2rem;
  font-weight: 700;
}
.sec_point .sec_itembox .itembox_cont_body .note {
  margin: 1.5em 0 0;
}
.sec_point .sec_itembox .itembox_cont_body .list {
  margin: 10px 0 0;
}
.sec_point .sec_itembox .itembox_cont_body .list li {
  position: relative;
  padding: 5px 5px 5px 37px;
}
.sec_point .sec_itembox .itembox_cont_body .list li:nth-child(odd) {
  background-color: rgba(190, 202, 255, 0.22);
}
.sec_point .sec_itembox .itembox_cont_body .list li::before {
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  content: "";
  width: 17px;
  height: 17px;
  background: url(../img/icon_check.svg) no-repeat center/contain;
}
.sec_point .sec_itembox .itembox_cont_body .def_item:not(:last-child) {
  margin: 0 0 20px;
}
.sec_point .sec_itembox .itembox_cont_body .def_item dt {
  font-weight: 700;
}
.sec_point .sec_itembox .itembox_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin: 0 auto 20px;
}

.intro_box {
  position: relative;
  background: #00adf9;
  background: linear-gradient(135deg, rgb(0, 173, 249) 0%, rgba(44, 181, 232, 0.45) 45%, rgb(52, 39, 229) 100%);
}
.intro_box_inner {
  padding: 80px 5.3333333333% 60px;
}
.intro_box .casestudy_wrap {
  position: relative;
  margin: 0 0 80px;
}
.intro_box .casestudy_wrap .label_title {
  position: absolute;
  top: -20px;
  left: -10px;
  display: inline-block;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  background-color: #264aea;
  padding: 2px 20px;
}
.intro_box .casestudy_box {
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
  margin: 0 0 20px;
}
.intro_box .casestudy_box_inner {
  padding: 30px 5.3333333333%;
}
.intro_box .casestudy_box h3 {
  color: #333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  border-left: 5px solid #264aea;
  padding: 0 0 0 15px;
}
.intro_box .casestudy_box .casestudy_row {
  margin: 14px 0 0;
}
.intro_box .casestudy_box .casestudy_img {
  margin: 0 0 10px;
}
.intro_box .casestudy_box .def dt {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 5px;
}
.intro_box .btn_more {
  max-width: 370px;
  width: 100%;
  margin: 0 auto;
}
.intro_box .btn_more a {
  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;
  color: #0d0e10;
  font-size: 2rem;
  font-weight: 700;
  width: 100%;
  border-radius: 43px;
  border: 3px solid #05a1f7;
  background-color: #fff;
  padding: 14px 0;
}
.intro_box .btn_more a span {
  display: inline-block;
  margin: 0 10px 0 0;
}
.intro_box .btn_more a i {
  display: inline-block;
  width: 14px;
  height: 14px;
}
.intro_box .btn_more a i::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/icon_external.svg) no-repeat center/contain;
}
.intro_box .trackrecord_wrap {
  position: relative;
}
.intro_box .trackrecord_wrap .label_title {
  position: absolute;
  top: -20px;
  left: -10px;
  display: inline-block;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  background-color: #264aea;
  padding: 2px 20px;
}
.intro_box .trackrecord_box {
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 11px rgba(0, 0, 0, 0.1);
}
.intro_box .trackrecord_box_inner {
  padding: 48px 5.3333333333% 30px;
}
.intro_box .trackrecord_box_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.intro_box .trackrecord_box .borussia_dortmund {
  width: 173px;
}
.intro_box .trackrecord_box .yanmar {
  width: 77px;
}

.footer .footer_box {
  color: #fff;
  background-color: #535353;
  padding: 60px 0;
}
.footer .footer_box_inner {
  padding: 0 5.3333333333%;
}
.footer .footer_box .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.footer .footer_box .title span {
  position: relative;
  display: inline-block;
}
.footer .footer_box .title span::before, .footer .footer_box .title span::after {
  position: absolute;
  bottom: 3px;
  content: "";
  width: 3px;
  height: 30px;
  background-color: #fff;
}
.footer .footer_box .title span::before {
  left: -10px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
}
.footer .footer_box .title span::after {
  right: -10px;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.footer .footer_box .title span i {
  display: none;
}
.footer .footer_box .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 10px 0 0;
}
.footer .footer_box .btn {
  width: 100%;
  max-width: 370px;
}
.footer .footer_box .btn a {
  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;
  color: #0d0e10;
  font-size: 2rem;
  font-weight: 700;
  width: 100%;
  border-radius: 43px;
  background-color: rgba(255, 255, 255, 0.51);
  -webkit-backdrop-filter: blur(34px) brightness(2.25);
          backdrop-filter: blur(34px) brightness(2.25);
  -webkit-box-shadow: 0 7px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 7px 6px rgba(0, 0, 0, 0.16);
  padding: 14px 0;
}
.footer .footer_box .btn a span {
  display: inline-block;
  margin: 0 0 0 10px;
}
.footer .footer_box .btn a i {
  display: inline-block;
}
.footer .footer_box .btn a i::before {
  content: "";
  display: block;
}
.footer .footer_box .btn_dl a {
  border: 3px solid #05a1f7;
}
.footer .footer_box .btn_dl a i {
  width: 28px;
  height: 28px;
}
.footer .footer_box .btn_dl a i::before {
  width: 28px;
  height: 28px;
  background: url(../img/icon_dl.svg) no-repeat center/contain;
}
.footer .footer_box .btn_ctc {
  text-align: center;
}
.footer .footer_box .btn_ctc a {
  border: 3px solid #ffef88;
}
.footer .footer_box .btn_ctc a span {
  position: relative;
}
.footer .footer_box .btn_ctc a span::after {
  position: absolute;
  top: 6px;
  right: -16px;
  display: block;
  content: "※";
  font-size: 1.5rem;
  line-height: 1;
}
.footer .footer_box .btn_ctc a i {
  width: 39px;
  height: 28px;
}
.footer .footer_box .btn_ctc a i::before {
  width: 39px;
  height: 28px;
  background: url(../img/icon_ctc.svg) no-repeat center/contain;
}
.footer .footer_box .btn_ctc .note {
  margin: 10px 0 0;
}
.footer .copyright {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 8px 0;
}

@media (min-width: 768px) {
  .header {
    padding: 23px 0 20px;
  }
  .header_inner {
    max-width: calc(1200px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 0 min(8.3333333333%, 100px);
  }
  .header_row {
    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 .logo {
    width: 92px;
  }
  .header .btn_wrap {
    top: 23px;
    right: max(min(8.3333333333vw, 100px), (100vw - 1200px) / 2);
  }
  .header .btn_wrap .btn {
    width: 196px;
  }
  .header .btn_wrap .btn a {
    gap: 5px;
    width: 100%;
    border-radius: 43px;
  }
  .header .btn_wrap .btn a span {
    display: inline-block;
  }
  .header .btn_wrap .btn_dl a i {
    width: 19px;
    height: 19px;
  }
  .header .btn_wrap .btn_dl a i::before {
    width: 19px;
    height: 19px;
  }
  .main {
    border-radius: 65px 65px 0 0;
  }
  .hero {
    border-radius: 65px 65px 0 0;
    background-image: -webkit-image-set(url(../img/hero_img.jpg) 1x, url(../img/hero_img@2x.jpg) 2x);
    background-image: image-set(url(../img/hero_img.jpg) 1x, url(../img/hero_img@2x.jpg) 2x);
    padding: 140px 0 0;
  }
  .hero_inner {
    max-width: calc(1000px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 0 min(8.3333333333%, 100px);
  }
  .hero h1 {
    font-size: 12.05rem;
  }
  .hero h1 span {
    font-size: 3.8rem;
    margin: 15px 0 0;
  }
  .hero .tbl {
    max-width: 740px;
    margin: 20px auto 0;
  }
  .hero .tbl table td {
    display: table-cell;
    font-size: 1.85rem;
    margin-top: 0;
  }
  .hero_row {
    margin: 150px -8.3333333333vw 0 0;
  }
  .hero_row .box {
    width: 285px;
    height: 182px;
  }
  .hero_row .border {
    display: none;
  }
  .hero_row .border2 {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
  }
  .hero_row .clip {
    width: 285px;
    height: 182px;
    -webkit-mask: url(#bubbleMask2);
            mask: url(#bubbleMask2);
  }
  .hero_row .speechbubble {
    font-size: 2.4rem;
    line-height: 1.35;
  }
  .hero_row .speechbubble span {
    font-size: 2.4rem;
  }
  .hero_row .speechbubble .em_yel {
    font-size: 3rem;
  }
  .hero_row .speechbubble .em_blu {
    font-size: 2rem;
  }
  .hero_row .sp_smartphone .wrap {
    top: -140px;
  }
  .hero_row .sp_smartphone .speechbubble {
    padding: 10px 0 0 0;
  }
  .hero_row .sp_screen .wrap {
    top: -140px;
  }
  .hero_row .sp_screen .speechbubble {
    padding: 25px 0 0 0;
  }
  .contact_box {
    padding: 20px 0;
  }
  .contact_box_inner {
    max-width: calc(1200px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 0 min(8.3333333333%, 100px);
  }
  .contact_box .contact_box_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .contact_box .title {
    font-size: 2.4rem;
  }
  .contact_box .title span::before, .contact_box .title span::after {
    content: none;
  }
  .contact_box .title span i {
    font-style: normal;
    display: inline-block;
    margin: 0 5px;
  }
  .contact_box .btn_wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 25px;
    margin: 10px 0 0;
  }
  .sec_about {
    background-image: -webkit-image-set(url(../img/bg_about.jpg) 1x, url(../img/bg_about@2x.jpg) 2x);
    background-image: image-set(url(../img/bg_about.jpg) 1x, url(../img/bg_about@2x.jpg) 2x);
    padding: 120px 0 160px;
  }
  .sec_about_inner {
    max-width: calc(1200px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 0 min(8.3333333333%, 100px);
  }
  .sec_about h2 {
    font-size: 3.3rem;
  }
  .sec_about h2 .fm {
    font-size: 5.3rem;
  }
  .sec_about h2 .fs {
    font-size: 3.95rem;
  }
  .sec_about .about_text {
    font-size: 1.5rem;
  }
  .sec_point {
    padding: 110px 0 120px;
  }
  .sec_point_inner {
    max-width: calc(1000px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 0 min(8.3333333333%, 100px);
  }
  .sec_point_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin: 0 0 50px;
  }
  .sec_point_title span {
    font-size: 5.35rem;
  }
  .sec_point_title h2 {
    font-size: 1.6rem;
    margin: 0 0 0 10px;
  }
  .sec_point .sec_itembox {
    border-radius: 30px;
  }
  .sec_point .sec_itembox:not(:last-child) {
    margin: 0 0 30px;
  }
  .sec_point .sec_itembox_inner {
    padding: 40px min(3.3333333333%, 40px);
  }
  .sec_point .sec_itembox .itembox_row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 30px;
  }
  .sec_point .sec_itembox .itembox_cont_header {
    margin: 0 0 10px;
  }
  .sec_point .sec_itembox .itembox_cont_header h3 {
    font-size: 2.7rem;
  }
  .sec_point .sec_itembox .itembox_cont_body {
    font-size: 1.5rem;
  }
  .sec_point .sec_itembox .itembox_cont_body .list {
    margin: 15px 0 0;
  }
  .sec_point .sec_itembox .itembox_cont_body .list li::before {
    width: 22px;
    height: 22px;
  }
  .sec_point .sec_itembox .itembox_cont_body .def_item:not(:last-child) {
    margin: 0 0 30px;
  }
  .sec_point .sec_itembox .itembox_img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 264px;
    gap: 20px;
    margin: 0;
  }
  .intro_box_inner {
    max-width: calc(1000px + min(16.6666666667%, 200px));
    margin: 0 auto;
    padding: 100px min(8.3333333333%, 100px) 85px;
  }
  .intro_box .casestudy_wrap {
    margin: 0 0 110px;
  }
  .intro_box .casestudy_wrap .label_title {
    font-size: 2.25rem;
  }
  .intro_box .casestudy_box {
    border-radius: 30px;
    margin: 0;
  }
  .intro_box .casestudy_box_inner {
    padding: 50px min(3.3333333333%, 40px) 70px;
  }
  .intro_box .casestudy_box h3 {
    font-size: 2.15rem;
    padding: 0 0 0 20px;
  }
  .intro_box .casestudy_box .casestudy_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .intro_box .casestudy_box .casestudy_img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 300px;
    margin: 0;
  }
  .intro_box .casestudy_box .def dt {
    font-size: 1.8rem;
    margin: 0 0 10px;
  }
  .intro_box .casestudy_box .def dd {
    font-size: 1.5rem;
  }
  .intro_box .btn_more {
    position: absolute;
    left: 50%;
    bottom: -35px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .intro_box .btn_more a {
    font-size: 2.1rem;
  }
  .intro_box .btn_more a i {
    width: 18px;
    height: 18px;
  }
  .intro_box .btn_more a i::before {
    width: 18px;
    height: 18px;
  }
  .intro_box .trackrecord_wrap .label_title {
    font-size: 2.25rem;
  }
  .intro_box .trackrecord_box {
    border-radius: 30px;
  }
  .intro_box .trackrecord_box_inner {
    padding: 50px min(3.3333333333%, 40px);
  }
  .intro_box .trackrecord_box_row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 120px;
  }
  .intro_box .trackrecord_box .borussia_dortmund {
    width: 210px;
  }
  .intro_box .trackrecord_box .yanmar {
    width: 117px;
  }
  .footer .footer_box {
    padding: 50px 0;
  }
  .footer .footer_box_inner {
    max-width: calc(1000px + min(10.4166666667%, 200px));
    margin: 0 auto;
    padding: 0 min(5.2083333333%, 100px);
  }
  .footer .footer_box .title {
    font-size: 2.35rem;
  }
  .footer .footer_box .title span::before, .footer .footer_box .title span::after {
    content: none;
  }
  .footer .footer_box .title span i {
    font-style: normal;
    display: inline-block;
    margin: 0 5px;
  }
  .footer .footer_box .btn_wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 35px;
  }
  .footer .footer_box .btn a {
    font-size: 2.25rem;
  }
  .footer .footer_box .btn_dl a i {
    width: 33px;
    height: 33px;
  }
  .footer .footer_box .btn_dl a i::before {
    width: 33px;
    height: 33px;
  }
  .footer .footer_box .btn_ctc a i {
    width: 44px;
    height: 31px;
  }
  .footer .footer_box .btn_ctc a i::before {
    width: 44px;
    height: 31px;
  }
  .footer .copyright {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  .header .btn_wrap .btn a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 1;
  }
  .header .btn_wrap .btn a:hover {
    opacity: 0.6;
  }
  .hero {
    padding: 140px 0 330px;
  }
  .hero h1 {
    font-size: 17rem;
  }
  .hero h1 span {
    font-size: 5.4rem;
  }
  .hero .tbl table td {
    font-size: 2.2rem;
    padding: 2px 0;
  }
  .hero_row {
    display: none;
  }
  .hero .pc_screen {
    position: absolute;
    bottom: 0;
    right: 0;
    width: min(28.9583333333%, 556px);
    display: block;
    -webkit-animation: slide-right 1s ease-out forwards;
            animation: slide-right 1s ease-out forwards;
  }
  .hero .pc_screen_inner {
    position: relative;
  }
  .hero .pc_screen .wrap {
    position: absolute;
    bottom: 58px;
    left: -312px;
    -webkit-animation: pop-bubble2 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
            animation: pop-bubble2 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 0;
  }
  .hero .pc_screen .box {
    position: relative;
    width: 312.5px;
    height: 154px;
  }
  .hero .pc_screen .border {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
  }
  .hero .pc_screen .clip {
    position: absolute;
    top: 0;
    left: 0;
    width: 312.5px;
    height: 154px;
    -webkit-mask: url(#bubbleMaskScreenPc);
            mask: url(#bubbleMaskScreenPc);
    z-index: 0;
    background-color: rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(11px) brightness(1.18);
            backdrop-filter: blur(11px) brightness(1.18);
  }
  .hero .pc_screen .speechbubble {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
    width: 100%;
    height: 100%;
    padding: 0 0 0 35px;
  }
  .hero .pc_screen .speechbubble span {
    font-size: 2.4rem;
  }
  .hero .pc_screen .speechbubble .em_yel {
    color: #f9e800;
    font-style: normal;
    font-size: 3rem;
  }
  .hero .pc_screen .speechbubble .em_blu {
    color: #264aea;
    font-style: normal;
    font-size: 2rem;
  }
  .contact_box {
    padding: 25px 0;
  }
  .contact_box .contact_box_row {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .contact_box .col_right {
    width: calc(100% - min(27.6666666667%, 332px) - min(8.3333333333%, 100px));
  }
  .contact_box .pc_smartphone {
    position: absolute;
    bottom: 0;
    left: max(min(8.3333333333vw, 100px), (100vw - 1200px) / 2);
    display: block;
    width: min(23.7142857143%, 332px);
    -webkit-animation: slide-up 1s ease-out forwards;
            animation: slide-up 1s ease-out forwards;
  }
  .contact_box .pc_smartphone_inner {
    position: relative;
  }
  .contact_box .pc_smartphone .wrap {
    position: absolute;
    top: -165px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-animation: pop-bubble 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
            animation: pop-bubble 1s cubic-bezier(0.25, 0.8, 0.25, 1) 1.5s forwards;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 0;
  }
  .contact_box .pc_smartphone .box {
    position: relative;
    width: 285px;
    height: 182px;
  }
  .contact_box .pc_smartphone .border {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
  }
  .contact_box .pc_smartphone .clip {
    position: absolute;
    top: 0;
    left: 0;
    width: 285px;
    height: 182px;
    -webkit-mask: url(#bubbleMaskSmartPhonePc);
            mask: url(#bubbleMaskSmartPhonePc);
    z-index: 0;
    background-color: rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(11px) brightness(1.18);
            backdrop-filter: blur(11px) brightness(1.18);
  }
  .contact_box .pc_smartphone .speechbubble {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
    width: 100%;
    height: 100%;
    padding: 8px 0 0;
  }
  .contact_box .pc_smartphone .speechbubble span {
    font-size: 2.4rem;
  }
  .contact_box .pc_smartphone .speechbubble .em_yel {
    color: #f9e800;
    font-style: normal;
    font-size: 3rem;
  }
  .contact_box .pc_smartphone .speechbubble .em_blu {
    color: #264aea;
    font-style: normal;
    font-size: 2rem;
  }
  .contact_box .title {
    font-size: 2rem;
  }
  .contact_box .btn_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px;
  }
  .contact_box .btn a {
    font-size: 1.8rem;
    padding: 10px 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 1;
  }
  .contact_box .btn a:hover {
    opacity: 0.6;
  }
  .contact_box .btn_ctc a span::after {
    font-size: 1.4rem;
  }
  .sec_about {
    padding: 180px 0 210px;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 50% 100%, 0% 85%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 50% 100%, 0% 85%);
  }
  .sec_about h2 {
    font-size: 4.2rem;
  }
  .sec_about h2 .fm {
    font-size: 6.7rem;
  }
  .sec_about h2 .fs {
    font-size: 5rem;
  }
  .sec_about .about_text {
    font-size: 1.6rem;
  }
  .sec_point_title span {
    font-size: 6.7rem;
  }
  .sec_point_title h2 {
    font-size: 1.8rem;
  }
  .sec_point .sec_itembox .itembox_cont_header h3 {
    font-size: 3.4rem;
  }
  .sec_point .sec_itembox .itembox_cont_body {
    font-size: 1.6rem;
  }
  .sec_point .sec_itembox .itembox_cont_body .list li {
    padding: 6px 15px 6px 50px;
  }
  .sec_point .sec_itembox .itembox_cont_body .list li::before {
    left: 15px;
  }
  .intro_box .casestudy_wrap .label_title {
    top: -27px;
    left: -20px;
    font-size: 2.5rem;
    padding: 6px 25px;
  }
  .intro_box .casestudy_box h3 {
    font-size: 2.5rem;
  }
  .intro_box .casestudy_box .def dt {
    font-size: 2rem;
  }
  .intro_box .casestudy_box .def dd {
    font-size: 1.6rem;
  }
  .intro_box .btn_more a {
    font-size: 2.2rem;
    padding: 12px 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 1;
  }
  .intro_box .btn_more a:hover {
    opacity: 0.6;
  }
  .intro_box .trackrecord_wrap .label_title {
    top: -27px;
    left: -20px;
    font-size: 2.5rem;
    padding: 6px 25px;
  }
  .footer .footer_box .title {
    font-size: 2.5rem;
  }
  .footer .footer_box .btn a {
    font-size: 2.5rem;
    padding: 12px 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 1;
  }
  .footer .footer_box .btn a:hover {
    opacity: 0.6;
  }
}
@media (min-width: 1300px) {
  .contact_box .title {
    font-size: 2.7rem;
  }
  .contact_box .btn_wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 25px;
  }
  .contact_box .btn a {
    font-size: 2.5rem;
    padding: 18px 0;
  }
}