@charset "UTF-8";
/* ===================================================================
CSS information

 file name  : geniee_rmp.css
 style info : GENIEE RMP, GENIEE DATACONNECT
=================================================================== */

@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: block !important;
  }
}

@media only screen and (max-width: 767px) {
  body .view_pc {
    display: none !important;
  }

  body .view_sp {
    display: block !important;
  }
}

@media screen and (min-width:768px) {
  body .view_pc {
    display: block !important;
  }

  body .view_sp {
    display: none !important;
  }
}

/* -----------------------------------------------------------
	con_solution
----------------------------------------------------------- */

.con_company {
  padding: 2em 0;
}

.con_company h2 {
  text-align: center;
  color: #333;
  margin-bottom: 1em;
}

.con_company h2 .img {
  display: block;
}

@media only screen and (max-width: 480px) {
  .con_company h2 .img {
    display: inline;
    vertical-align: middle;
  }
}

.con_company h2 .jp {
  font-size: 247%;
  display: block;
  font-weight: normal;
}

@media only screen and (max-width: 480px) {
  .con_company h2 .jp {
    display: inline;
    font-size: 160%;
  }
}

.con_company .box_inner {
  overflow: hidden;
}

.con_company .box_inner ul li {
  width: 50%;
  float: left;
}

@media only screen and (max-width: 767px) {
  .con_company .box_inner ul li {
    width: 100%;
    margin-bottom: 3%;
  }

  .con_company .box_inner ul li .img {
    text-align: center;
  }

  .con_company .box_inner ul li .img img {
    width: 100%;
  }
}

.con_company .box_inner ul li a {
  display: inline-block;
  text-decoration: none;
}

.con_company .box_inner ul li a:hover .btn span .fa-angle-right {
  margin-left: .6em;
}

.con_company .box_inner ul li .box_inner {
  border: 3px solid #efefef;
  border-top: none;
  padding: 25px;
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .con_company .box_inner ul li .box_inner {
    padding: 3%;
  }
}

@media only screen and (max-width: 767px) {
  .con_company .box_inner ul li .box_inner {
    padding: 3%;
  }
}

.con_company .box_inner ul li h3 {
  margin-bottom: 1em;
}

.con_company .box_inner ul li h3 .jp {
  font-size: 154%;
  font-weight: bolder;
  margin-right: .5em;
}

@media only screen and (max-width: 1024px) {
  .con_company .box_inner ul li h3 .jp {
    font-size: 139%;
  }
}

.con_company .box_inner ul li h3 .en {
  font-family: "Conv_Muli-Light", Sans-Serif;
  font-weight: normal;
}

.con_company .box_inner ul li .btn {
  text-align: center;
  margin-top: 1em;
}

.con_company .box_inner ul li .btn span {
  border: 1px solid #1957a0;
  background: #1957a0;
  text-align: center;
  padding: .7em 1em;
  display: inline-block;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  text-decoration: none;
  color: #FFF;
  font-size: 108%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: .2em .3em;
  width: 160px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  .con_company .box_inner ul li .btn span {
    width: 100%;
  }
}

.con_company .box_inner ul li .btn span .fa-angle-right {
  margin-left: .3em;
  border: 1px solid #FFF;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
  line-height: 1;
  padding: 0 .3em;
  vertical-align: middle;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.con_company .box_inner ul li .btn span:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

.con_company .box_inner ul li .btn span:hover .fa-angle-right {
  margin-left: .6em;
}

@media only screen and (max-width: 767px) {
  .con_company .box_inner ul li .btn span {
    width: 100%;
  }
}

@media only screen and (min-width: 768px) {
  .con_company .box_inner ul li:nth-child(even) .box_inner {
    border-left: none;
  }
}

@media print {
  .con_company .box_inner ul li:nth-child(even) .box_inner {
    border-left: none;
  }
}

.ie8 .con_company .box_inner ul li:nth-child(even) .box_inner {
  border-left: none;
}


/* ===================================================================
CSS information
=================================================================== */

html {
  /* font-size: calc(100vw / 1440); */
}

@media screen and (min-width: 1440px) {
  /* html{ font-size: 6.25%;} */
}

#contents {

  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  color: #222;
}

.gothic {
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

#contents .con_title {
  margin: 0;
  background: url(../images/home2/bg_fv@2x.png) top center no-repeat;
  height: 652px;
}

#header {
  height: 101px;
}

#header .top_header,
#header .navigator {
  background: none;
  border: 0;
  color: #fff;
  font-weight: bold;
}

#header .top_header {
  position: absolute;
  top: 0;
  width: 100%;
  height: 32px;
}

#header .navigator {
  position: absolute;
  top: 32px;
}

#header .navigator:not(.active) .main_menu ul.view_pc-tab li a {
  color: #fff;
}

#header .navigator .main_menu ul.view_pc-tab li a:before {
  content: none;
}

.con_title .inner {
  max-width: 1100px;
  margin: 0px auto 0;
  /* background:#f00; */
  /* height: 100%; */
  position: relative;
  padding: 0 0px;
  color: #fff;
}

#header .navigator:not(.active) .logo a {
  background: url("../images/header/logo_white.svg") center center / 100% auto no-repeat;
  display: inline-block;
}

#header .navigator:not(.active) .logo a img {
  opacity: 0;
}

#header .navigator:not(.active) .main_menu ul.view_pc-tab li:last-of-type a {
  background: url("../images/header/search_white@2x.png") calc(1.5em + 10px) .5em / 16px 18px no-repeat;
  display: inline-block;
}

#header .navigator:not(.active) .main_menu ul.view_pc-tab li:last-of-type a img {
  opacity: 0;
}

#header .navigator:not(.active) .main_menu ul.view_pc-tab .mega_menu li:last-of-type a {
  background: none;
}

html.lower #contents .con_title {
  text-align: left;
}

html.lower #contents .con_title h2 {
  /* top: 87px; */
  /* left: 0; */
  transform: none;
  margin: 0 0 0;
  position: static;
  left: auto;
  top: auto;
}

html.lower #contents .con_title h2 .jp {
  font-size: 50px;
  font-weight: 600;
  text-align: left;
  letter-spacing: normal;
  line-height: 75px;

}

#contents .con_title h2 .jp .type-animate {
  white-space: nowrap;
  overflow: hidden;
  animation: animated-text 2s steps(30, end) 1s 1 normal both;
  display: block;
}

#contents .con_title h2 .jp .type-animate2 {
  animation: animated-text 2s steps(30, end) 3s 1 normal both;
}

#contents .con_title h2 .jp .type-animate3 {
  animation: animated-text 2s steps(30, end) 5s 1 normal both;
}

#contents .con_title h2 .jp .type-animate4 {
  animation: animated-text 2s steps(30, end) 7s 1 normal both;
}

/* text animation */

@keyframes animated-text {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

.txt_lead {
  text-align: left;
  line-height: 27px;
  font-size: 18px;
  margin: 20px 0 0;
}

.con_title .btn_area {
  line-height: 1.5;
  margin: 20px 0 0;
  display: flex;
  column-gap: 20px;
}

.con_title .btn {
  font-size: 16px;
  border-radius: 4px;
  padding: 16px 0;
  display: block;
  cursor: pointer;
  transition: all .3s;
  width: 255px;
  border: 1px solid #fff;
  text-decoration: none;
  text-align: center;
}

body a.light_blue_btn {
  color: #fff;
  background: #2E9DD6;
  border: 1px solid #fff;
}

body a.light_blue_btn:hover {
  color: #2E9DD6;
  background: #fff;

}

body a.dark_blue_btn {
  color: #fff;
  background: #003164;
  border: 1px solid #fff;
}

body a.dark_blue_btn:hover {
  color: #2476d8;
  background: #fff;
}

body a.trans_btn {
  color: #fff;
  background: transparent;
  border: 1px solid #fff;
}

body a.trans_btn:hover {
  color: #fff;
  background: #2476D8;

}

.con_title .master_logo_area {
  position: absolute;
  right: 20px;
  bottom: 0px;
}

.con_title .master_logo {
  display: block;
}

.con_title .master_logo:nth-of-type(1) {
  margin: 0 0 30px;
}





.con_client {
  position: relative;
  z-index: 2;
}



.company_slider {
  padding: 17px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
}

.bx-wrapper {
  box-shadow: none;
  box-sizing: border-box;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  border: none;
  background: none;
}

.con_client .bx-wrapper {
  overflow: hidden;
}

.bx_companies li {
  visibility: hidden;
}

.bx-viewport .bx_companies li {
  visibility: visible;
}

.bx-wrapper img {
  width: 180px;
}

.con_client .notes {
  text-align: right;
  margin: 10px auto;
  max-width: 1120px;
  padding-right: 20px;
}

.con_history {
  background: url(../images/home2/bg_history.svg) no-repeat center center /cover;
  color: #FFF;
  text-align: center;
  padding: 88px 20px 81px;
}

.con_history .con_main {
  max-width: 988px;
}


.integration {
  margin: 80px auto 87px;
}


.integration_before {
  width: 309px;
}

.integration_arrow {
  flex: 1 1 auto;
}

.integration_after {
  width: 276px;
}

.integration_mc {
  margin-bottom: 78px;
}

.history_desc {
  font-size: 18px;
  line-height: 2;
}

.con_comm {
  padding: 80px 20px;
  text-align: center;
}

.con_comm .con_main {
  max-width: 1008px;
}

/* .con_comm .con_h2 {
  color: #1957A0;
} */

.comm_knowledge_wrap {
  margin: 80px auto 0;
}

.comm_knowledge {
  width: 50%;
}

.comm_knowledge .comm_h3 {
  font-size: 28px;
  margin: 0 auto 29.5px;
}

.comm_img {
  margin: 0 auto 60px;
}

.comm_knowledge:nth-of-type(1) .comm_img {}

.comm_knowledge:nth-of-type(2) .comm_img {}

.comm_desc {
  font-size: 25px;
}

.platform_img {
  margin: 80px auto;
}

.platform_desc {
  font-size: 18px;
  max-width: 772px;
  margin: 0 auto;
  line-height: 2;
}

.con_product {
  padding: 80px 20px 110px;
}

.con_product .con_main {
  max-width: 1100px;
}

/* .con_product .con_h2 {
  text-align: center;
  color: #1957A0;
  font-weight: bold;
} */

.con_product .con_h2_notes {
  text-align: center;
  font-size: 18px;
  color: #AAAAAA;
}

.product_wrap {
  margin: 42px auto 0px;
}

.product_subbrand {
  border-radius: 10px;
  background: rgba(27, 29, 56, .063);
  width: 100%;
  padding: 60px 30px 80px;
}

.product_subbrand:nth-of-type(1) {
  margin: 0 20px 0 0;
}



.product_logo {
  text-align: center;
  margin: 0px 0 20px;
}

.product_desc {
  font-size: 18px;
  line-height: 2;
  font-weight: 600;
  margin: 0 auto 69px;
  min-height: 14em;
}



.subbrand_wrap .subbrand {
  min-height: 228px;
  margin: 0 0 60px 0;
  text-decoration: none;
  display: block;
}

.subbrand_wrap .subbrand:nth-of-type(1) {
  min-height: auto;
}

.subbrand:nth-last-of-type(1) {
  margin: 0;
}



.subbrand_img {
  width: 165px;
  max-width: 166px;
  height: 165px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, .086);
  flex: 1 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.subbrand_body {
  margin: 0 0 0 20px;
}

.subbrand_title {
  color: #1957A0;
  font-size: 21px;
  /* margin: 0 0 13px 0; */
  line-height: 1.2;
  min-height: 42px;
}



.subbrand_desc {
  margin: 10px 0 24px 0;
  font-size: 16px;
  line-height: 30px;
}

body .subbrand_btn {
  font-size: 16px;
  color: #1957A0;
  font-weight: 600;
  background: #FFF;
  border: 1px solid #1957A0;
  border-radius: 4px;
  padding: 7px 20px;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.mouse body .subbrand:hover .subbrand_btn {
  background: #1957A0;
  color: #FFF;
  text-decoration: none;
}

/* body a:link, body a:visited, body a:active */



.subbrand_servicedby {
  color: #1957A0;
  line-height: 1;
  display: block;
  font-size: 14px;
}



@media screen and (max-width: 767px) {
  :root {
    font-size: calc(100vw / 390);
  }

  #contents .con_title {
    background: url(../images/home2/bg_fv_sp.png) center center no-repeat;
    height: 750rem;
    background-size: cover;
    /* min-height: 700px; */
  }


  #header {
    height: 56px;
  }

  #header .navigator .logo {
    padding: 17px 0;
  }

  [id^='js-menu'] {
    width: 30px;
    height: 30px;
  }

  #header .box_lang {
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
  }

  #header .box_lang li a#js-search {
    background: #FFF;
    padding: 5px;
    margin-right: 10px;
  }

  #header .box_lang li a {
    padding: 4.5px 9px;
    font-size: 14px;
  }

  #header .navigator {
    top: 0;
    background: rgba(255, 255, 255, .30);
  }




  .master_logo_area {
    display: none;
  }

  #contents .con_title h2,
  #contents .con_title .catchcopy {
    margin: 40rem 0 0;
  }



  .txt_lead {
    margin: 16rem 0 0;
    font-size: 14rem;
    line-height: 2.4;
  }

  .con_title .btn_area {
    /* position: absolute; */
    /* left: 0px; */
    /* top: 385px; */
    line-height: 1.5;
    margin: 18rem 0 0;
  }

  .con_title .btn {
    margin: 0 auto 13px;
  }



  .con_history {
    padding: 56px 20px 62px;
    background: url(../images/home2/bg_history_sp.svg) no-repeat center center;
    background-size: cover;
  }

  /* .con_history .con_h2 {
    font-size: 32rem;
  } */

  .integration {
    margin: 40px auto 60px;
  }

  .integration * {
    max-width: 100%;
  }


  .integration_arrow {
    /* transform: rotate(90deg); */
    /* margin-right: -31px; */
    margin: 10px -20px 10px 0;
  }

  .integration_after {
    width: 309px;
  }


  .history_desc {
    font-size: 16px;
  }

  .con_comm {
    padding: 64px 20px;
  }

  /* .con_comm .con_h2 {
    font-size: 30rem;
  } */

  .comm_knowledge_wrap {
    margin: 40px auto 0;
  }

  .comm_knowledge {
    width: 100%;
  }

  .comm_knowledge:nth-of-type(1) {
    margin-bottom: 80px;
  }

  .comm_knowledge .comm_h3 {
    font-size: 24rem;
    margin: 0 auto 0;
  }

  .comm_img {
    margin: 0 auto;
  }

  .comm_desc {
    font-size: 16px;
  }

  .platform_img {
    margin: 50px auto;
  }

  .platform_desc {
    font-size: 16px;
  }

  .con_product {
    padding: 66px 20px 70px;
  }

  .con_product .con_h2 {
    font-size: 30rem;
  }

  .con_product .con_h2_notes {
    font-size: 16px;
  }



  .product_subbrand {
    padding: 40px 10px;
  }

  .product_subbrand:nth-of-type(1) {
    margin: 0 0 20px;
  }



  .product_logo {
    margin: 0 0 30px;
  }

  .product_desc {
    font-size: 16px;
    margin: 0 auto 46px;
  }



  .subbrand_wrap .subbrand {
    min-height: auto;
  }

  .subbrand {
    flex-direction: column;
    align-items: center;
  }

  .product_subbrand:nth-of-type(1) .subbrand {
    margin: 0 auto 60px;
  }

  .subbrand_img {
    margin: 0 auto 25rem;
  }

  .subbrand_body {
    margin: 0;
    text-align: center;
  }

  .subbrand_title {
    text-align: center;
  }

  .subbrand_desc {
    min-height: 0;
    text-align: left;
  }

  body a.subbrand_btn {
    margin: 0 auto;
    width: 160px;
    display: block;
    text-align: center;
  }


  .subbrand_servicedby {
    text-align: center;
    display: block;
  }

  #footer {
    font-size: 12px;
  }
}

@keyframes motion_01 {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes motion_01_01 {
  0% {
    opacity: 0;
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes motion_01_02 {
  0% {
    left: -100%;
  }

  60% {
    left: 0;
  }

  100% {
    left: 0;
  }
}

@keyframes motion_02_01 {
  0% {
    opacity: 0;
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes motion_02_02 {
  0% {
    opacity: 0;
    transform: translate(0, -10px);
    pointer-events: none;
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
    pointer-events: auto;
  }
}

@keyframes motion_02_03 {
  0% {
    opacity: 0;
    top: 8px;
  }

  5% {
    opacity: 1;
    top: 8px;
  }

  70% {
    opacity: 1;
    top: 32px;
  }

  80% {
    opacity: 0;
    top: 32px;
  }

  100% {
    opacity: 0;
    top: 32px;
  }
}

@keyframes header_menu {
  0% {
    opacity: 0;
    pointer-events: none;
  }

  100% {
    opacity: 1;
    pointer-events: auto;
  }
}

@keyframes header_menu2 {
  0% {
    opacity: 0;
    pointer-events: none;
    filter: blur(10px);
  }

  100% {
    opacity: 1;
    pointer-events: auto;
    filter: blur(0);
  }
}

#homepage #header {
  opacity: 1;
  position: relative;
  z-index: 2;
}


/*
ここから追加
*/
h4 {
  font-size: 18px;
}

html #products_ssp #contents .con_title {
  height: 580px;
  position: relative;
  margin-bottom: 0;
  background-image:
    url("../products/images/ssp/fv_pc.png"),
    radial-gradient(104.59% 301.36% at 0.71% 1.73%, #245881 0%, #18407F 32%, #0c1323 60%, #0c1323 100%);
  background-size: contain;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}



html #products_ssp #contents .con_title .inner {
  display: flex;
  column-gap: 7px;
  align-items: center;
  padding: 0 25px 18px 0;
  margin-top: 40px;
}



section.blue_back {
  background: linear-gradient(176.39deg, #005793 4.06%, #0F4086 46.85%, #001F5E 137.79%);
}

section.gray_back {
  background: radial-gradient(123.14% 134.36% at 19.48% 1.92%, #E4EBFF 0%, #93A1B8 100%);
}

section.dark_blue_back {
  background: linear-gradient(168.24deg, #005793 5.27%, #0F4086 34.21%, #001F5E 95.72%);
}

section.con_ssp {
  position: relative;
}

section.con_ssp {
  padding: 120px 0;
}

section.con_ssp.white_paper {
  padding: 60px 0;
}

section.con_ssp .con_main {
  margin: 0 auto;
  max-width: 1000px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

section.con_ssp .con_main.gap_wide {
  gap: 80px;
}

section.con_ssp .con_main.gap_small {
  gap: 24px;
}



/* H2系 */
section.con_ssp .con_main .con_header h2.con_h2 {
  font-weight: 600;
  font-size: 50px;
  line-height: 75px;
}

section.con_ssp .con_main .con_header h2.small {
  font-size: 38px;
}

section.con_ssp .con_main .con_header h2.con_h2 span.large {
  font-size: 60px;
  line-height: 72px;
}

section.con_ssp .con_main .con_header h2.con_h2 span.yellow {
  color: #ff0;
}

section.con_ssp .con_main .con_header h2.con_h2 span.sub {
  font-size: 20px;
  line-height: 24px;
}

section.con_ssp.gray_back .con_main .con_header h2.con_h2 {
  color: #002060;
}

section.con_ssp.blue_back .con_main .con_header h2.con_h2 {
  color: #fff;
}

section.con_ssp.blue_back .con_main .con_header h2.con_h2.con_h2--space {
  margin-top: 45px;
}

.con_h2desc {
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 28px;
  font-weight: 600;
  line-height: 42px;
}

.con_h2desc.rounded-bg {
  text-align: center;
  background-color: #002060;
  border-radius: 27.5px;
  padding: 6.5px 0;
}

section.con_ssp.gray_back .con_main .con_header .con_h2desc {
  color: #002060;
}

section.con_ssp.gray_back .con_main .con_header .con_h2desc.rounded-bg {
  color: #fff;
}

section.con_ssp.blue_back .con_main .con_header .con_h2desc {
  color: #fff;
}

.con_h2desc span.sub {
  font-size: 12px;
  line-height: 36px;
}

/*h2系ここまで*/


/*基本テキスト系*/
.info_text {
  font-size: 20px;
  font-weight: 600;
  line-height: 38px;
  max-width: 1000px;
}

.info_text--tight {
  letter-spacing: -0.01em;
}

section.gray_back .info_text {
  color: #002060;
}

section.blue_back .info_text {
  color: #fff;
}

section.dark_blue_back .info_text {
  color: #00ffff;
}

.con_header .info_text {
  margin-top: 30px;
}

/*introduction固有*/
.con_map {
  position: relative;
}

.map_label {
  position: absolute;
  left: 32px;
  top: -3px;
  background: #00FFFF;
  box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.3);
  border-radius: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 10px 40px;
}

.map_label p {
  color: #002060;
  font-size: 29px;
  line-height: 50px;
  text-align: center;
  font-weight: 600;
}

.map_label p span.large {
  font-size: 60px;
  line-height: 75px;
}

/*solution固有*/
.solution_area {
  width: 934px;
  display: flex;
  flex-direction: column;
  gap: 62px;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
  padding-left: 60px;
  position: relative;
}
@media only screen and (max-width: 1124px) {
  .solution_area {
    padding-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .solution_area {
    padding-left: 0px;
  }
}

.solution_area .solution_box {
  width: 800px;
  height: 200px;
  display: flex;
  z-index: 1;
  position: relative;
}

.solution_area .solution_box::before {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  background: radial-gradient(50% 50% at 50% 50%, #479EE3 23.56%, rgba(42, 87, 154, 0) 100%);
  left: -68px;
  top: -47px;
  z-index: -1;
}

.solution_area .solution_box .solution_icon_area {
  background: #002060;
  width: 200px;
  height: 200px;
  border-radius: 30px 0 0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.solution_area .solution_box:nth-child(2) .solution_icon_area {
  padding: 38px 37px;
}

.solution_area .solution_box:nth-child(3) .solution_icon_area {
  padding: 24px 29px;
}

.solution_area .solution_box:nth-child(4) .solution_icon_area {
  padding: 43px 13px 43px 28px;
}

.solution_area .solution_box:nth-child(5) .solution_icon_area {
  padding: 33px 26px;
}

.solution_area .solution_box:nth-child(6) .solution_icon_area {
  padding: 35px 48px;
}

.solution_area .solution_box .solution_text_area {
  background: #14589f;
  padding: 20px 0 0 25px;
  width: 600px;
  border-radius: 0 30px 30px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.solution_area .solution_box .solution_text_area h3 {
  font-size: 20px;
  font-weight: 600;
  line-height: 38px;
  color: #ff0;
}

.solution_area .solution_box .solution_text_area .solution_list {
  padding-left: 25px;
}

.solution_area .solution_box .solution_text_area .solution_list li {
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  color: #fff;
  list-style-type: none;
  text-indent: -1.5em;
}

.solution_area .solution_box .solution_text_area .solution_list li::before {
  content: "・";
  margin-right: 0.5em;
}

.solution_area .solution_line {
  position: absolute;
  background:
    linear-gradient(#fff, #fff) no-repeat center/2px 100%,
    #00FFFF;
  width: 8px;
  height: 80%;
  left: 198px;
  top: 150px;
}

/*strong_point 固有*/
.strong_point_area {
  display: flex;
  gap: 20px;
}

.strong_point_area .strong_point_box {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 235px;
  position: relative;
}

.strong_point_area .strong_point_box .strong_point_icon {
  width: 235px;
  height: 210px;
  background: #002060;
  border-radius: 30px 30px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.strong_point_area .strong_point_box:nth-child(1) .strong_point_icon {
  padding: 50px 51px;
  padding-right: 20px;
}

.strong_point_area .strong_point_box:nth-child(2) .strong_point_icon {
  padding: 40px 46px;
  padding-right: 42px;
  padding-top: 48px;
}

.strong_point_area .strong_point_box:nth-child(3) .strong_point_icon {
  padding: 40px 60px;
}

.strong_point_area .strong_point_box:nth-child(4) .strong_point_icon {
  padding: 32px 41px;
}

.strong_point_area .strong_point_box .strong_point_text {
  padding: 15px 17.5px 30px;
  background: #fff;
  flex-grow: 1;
  width: 235px;
  display: flex;
  gap: 10px;
  flex-direction: column;
  border-radius: 0 0 30px 30px;
}

.strong_point_area .strong_point_box:nth-child(4) .strong_point_text {
  padding: 15px 27.5px 17.5px 10px;
}

.strong_point_area .strong_point_box:nth-child(3) .strong_point_text {
  padding-left: 10px;
  padding-right: 10px;
}

.strong_point_area .strong_point_box .strong_point_text h3 {
  font-size: 20px;
  font-weight: 600;
  color: #002060;
}

.strong_point_area .strong_point_box:nth-child(4) .strong_point_text h3 {
  padding-left:10px;
}

.strong_point_area .strong_point_box .strong_point_text .strong_point_list {
  padding-left: 5px;
  /* background: rgba(164, 255, 235, 0.635); */
}

.strong_point_area .strong_point_box:nth-child(4) .strong_point_text .strong_point_list {
  padding-left: 7px;
  /* background: rgba(164, 255, 249, 0.635); */
}

.strong_point_area .strong_point_box:nth-child(3) .strong_point_text .strong_point_list {
  padding-left: 15px;
  padding-right: 15px;
}

.strong_point_area .strong_point_box .strong_point_text .strong_point_list li {
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
  text-indent: -1em;
  color: #002060;
}

.strong_point_area .strong_point_box .strong_point_text .strong_point_list li::before {
  content: "・";
}

.strong_point_area .strong_point_box:nth-child(4) .strong_point_text .strong_point_list li::before {
  content: "　";
}

.strong_point_area .strong_point_box .strong_point_text .strong_point_list li a {
  text-decoration: underline;
}

.strong_point_area .strong_point_box .arrow {
  content: "";
  position: absolute;
  width: 45px;
  height: 103px;
  background: #fff;
  bottom: -53px;
  left: 50%;
  transform: translateX(-50%);
}

.strong_point_area .strong_point_box .arrow::after {
  content: "";
  height: calc(90px / 2);
  width: 90px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  background: #fff;
  left: -22.5px;
  bottom: -30px;
}

.provider_area {
  margin-top: 30px;
}

.provider_area .provider_header {
  background: #002060;
  position: relative;
  padding: 10px 0;
  border-radius: 30px 30px 0 0;
}

.provider_area .provider_header h3 {
  color: #00FFFF;
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  line-height: 39px;
}

.provider_area .provider_header .provider_icon {
  position: absolute;
  right: 43px;
  top: -25px;
  width: 130px;
  height: 110px;
  z-index: 1;
}

.provider_area .provider_logo_container {
  overflow: hidden;
  position: relative;
  width: 100%;
  /* height: 370px; */
  /* height: 350px; */
  height: 280px;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 0 0 30px 30px;
}

.provider_area .provider_logo_container .left-cover,
.provider_area .provider_logo_container .right-cover {
  width: 100px;
  height: 100%;
  position: absolute;
}

.provider_area .provider_logo_container .left-cover {
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 100%);
  left: 0;
  z-index: 1;
}

.provider_area .provider_logo_container .right-cover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 70%, rgb(255, 255, 255) 100%);
  right: 0;
  z-index: 1;
}

.provider_area .provider_logo_container .scroll-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 80px 0;
  flex-shrink: 0;
}

.provider_area .provider_logo_container .scroll-infinity__list--left {
  animation: infinity-scroll-left 40s linear infinite;
  margin-left: 20px;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.provider_area .provider_logo_container .scroll-wrapper .scroll-row {
  display: flex;
  align-items: center;
  /* gap: 40px; */
  gap: 20px;
}

.provider_area .provider_logo_container .scroll-wrapper .scroll-row .logo {
  min-width: 200px;
  max-width: 300px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* padding: 10px; */
  padding: 0px;
}

.provider_area .provider_logo_container .scroll-wrapper .scroll-row .logo>img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}


/*app固有*/
.app_area {
  width: 800px;
  margin: 0 auto;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}

.app_area .app_box {
  width: 375px;
}

.app_area .app_box .app_image_area {
  height: 155px;
  width: 100%;
  background: #fff;
  border-radius: 30px 30px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.app_area .app_box:nth-child(1) .app_image_area {
  align-items: flex-end;
  padding: 0 42px;
}

.app_area .app_box:nth-child(2) .app_image_area {
  padding: 0 59px;
}

.app_area .app_box:nth-child(3) .app_image_area {
  padding: 0 30px;
}

.app_area .app_box:nth-child(4) .app_image_area {
  padding: 0 52px;
}


.app_area .app_box .app_text_area {
  height: 230px;
  width: 100%;
  background: #002060;
  border-radius: 0 0 30px 30px;
  padding: 20px 0 0 25px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.app_area .app_box .app_text_area h3 {
  font-size: 20px;
  font-weight: 600;
  color: #00FFFF;
}

.app_area .app_box .app_text_area .app_list {
  padding-left: 1em;
}

.app_area .app_box:nth-child(1) .app_text_area .app_list {
  padding-right: 13px;
}

.app_area .app_box:nth-child(2) .app_text_area .app_list {
  padding-right: 19px;
}

.app_area .app_box:nth-child(3) .app_text_area .app_list {
  padding-right: 21px;
}

.app_area .app_box .app_text_area .app_list li {
  /* font-size: 16px; */
  font-size: 15px;
  line-height: 30px;
  font-weight: 400;
  text-indent: -1em;
}

.app_area .app_box .app_text_area .app_list li::before {
  content: "・";
}

.sdk_area {
  display: flex;
  gap: 40px;
}

.sdk_area .sdk_box {
  flex: 1;
  height: 590px;
}

.sdk_area .sdk_box .sdk_image_area {
  height: 300px;
  width: 100%;
  background: #fff;
  border-radius: 30px 30px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sdk_area .sdk_box:nth-child(1) .sdk_image_area {
  padding: 0 45px;
}

.sdk_area .sdk_box:nth-child(2) .sdk_image_area {
  padding: 0 29px;
}

.sdk_area .sdk_box .sdk_text_area {
  height: 290px;
  width: 100%;
  background: #14589F;
  border-radius: 0 0 30px 30px;
  padding: 20px 25px 0 25px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #fff;
}

.sdk_area .sdk_box .sdk_text_area h3 {
  font-size: 20px;
  font-weight: 600;
  color: #00FFFF;
}

.sdk_area .sdk_box .sdk_text_area .sdk_label,
.sdk_area .sdk_box .sdk_text_area .sdk_description {
  font-size: 16px;
  line-height: 30px;
}
.sdk_area .sdk_box .sdk_text_area .sdk_label{
  padding-left: 10px;
}

/*flow 固有*/
.flow-area {
  display: flex;
  gap: 20px;
  position: relative;
  transform: translateX(-25px);
}
@media only screen and (max-width: 1124px) {
  .flow-area {
    display: flex;
    gap: 20px;
    position: relative;
    transform: translateX(0px);
  }
}

.flow-area .arrow {
  position: absolute;
  width: 765px;
  z-index: 0;
  top: 50%;
  transform: translateY(-75%);
  left: 70px;
}

.flow-area .flow_box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 249px;
  height: 354px;
  z-index: 1;
}

.flow-area .flow_box h3 {
  color: #002060;
  font-size: 25px;
  line-height: 39px;
  text-align: center;
}

.flow-area .flow_box .flow_icon {
  width: 249px;
  height: 235px;
  padding-top: 10px;
  padding-left: 30px;
}

.flow-area .flow_box .flow_text {
  padding: 0 24.5px;
  font-size: 16px;
  line-height: 30px;
  color: #002060;
}

/* whitepaper固有*/
.text_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.text_area .label {
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  line-height: 42px;
}


/* form_link */
.form_link {
  margin: 0 auto;
}

.form_btn {
  justify-content: center;
  width: 380px;
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
  border: 1px solid #fff;
}

.white_btn {
  background: #fff;
  color: #002060;
}

.white_btn svg {
  fill: #002060;
  transition: all .2s;
}

body a.white_btn:hover {
  background: #002060;
  color: #fff;
}

.white_btn:hover svg {
  fill: #fff;
}

.blue_btn {
  background: #2A579A;
  color: #fff;
}

.blue_btn svg {
  fill: #fff;
  transition: all .2s;
}

.light_blue_btn svg {
  fill: #fff;
}

.light_blue_btn:hover svg {
  fill: #2E9DD6;
}

body a.blue_btn:hover {
  background: #fff;
  color: #2A579A;
}

.blue_btn:hover svg {
  fill: #2A579A;
}

/*ここからSP*/
@media screen and (max-width: 767px) {

  /*mvエリア*/
  section.con_ssp .con_main {
    max-width: calc(340/375 * 100vw);
    gap: calc(50/375 * 100vw);
  }

  section.con_ssp .con_main .con_map,
  .solution_area,
  .app_area {
    width: calc(370/375 * 100vw);
    max-width: calc(370/375 * 100vw);
    margin-left: calc((340 - 370)/2/375 * 100vw);
  }

  section.con_ssp .con_main.gap_wide {
    gap: calc(50/375 * 100vw);
  }



  section.con_ssp .con_main.gap_small {
    gap: calc(50/375 * 100vw);
  }

  section.con_ssp {
    padding: calc(80/375 * 100vw) 0;
  }

  section.con_ssp.white_paper {
    padding: calc(60/375*100vw) 0;
  }

  html #products_ssp #contents .con_title {
    height: calc(790/375 * 100vw);
    position: relative;
    background-image:
      url("../products/images/ssp/fv_sp.png"),
      radial-gradient(circle at 4% 7.58%, #005793 0%, #0F4086 32%, #001F5E 100%);
    background-position:
    calc(30%) calc(-20/375 * 100vw),
    center;
    background-size: calc(115%);
  }

  html #products_ssp #contents .con_title .inner {
    display: flex;
    column-gap: 0;
    align-items: center;
    padding-left: calc(10/375 * 100vw);
    padding-right: calc(14/375 * 100vw);
    margin-top: calc(30/375 * 100vw);
  }

  html #products_ssp #contents .con_title .inner .con_title_left h2 .jp {
    font-size: calc(36/375 * 100vw);
    line-height: calc(50/375 * 100vw);
  }

  html #products_ssp #contents .con_title .inner .con_title_left .txt_lead {
    font-size: calc(20/375 * 100vw);
    line-height: calc(30/375 * 100vw);
  }

  html #products_ssp #contents .con_title .inner .btn_area {
    margin-top: calc(234/375 * 100vw);
    flex-direction: column;
    gap: calc(20/375 * 100vw);
    align-items: center;
  }

  .con_title .btn {
    font-size: calc((16 / 425) * 100vw);
    border-radius: calc((5 / 425) * 100vw);
    padding: 0;
    width: calc((255 / 425) * 100vw);
    border: calc(1/375 * 100vw) solid #fff;
    height: calc((50 / 425) * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: initial;
  }

  /* H2系 */
  section.con_ssp .con_main .con_header h2.con_h2 {
    font-weight: 700;
    font-size: calc(36/375 * 100vw);
    line-height: calc(50/375 * 100vw);
  }

  section.con_ssp .con_main .con_header.mt_wide {
    /* margin-top: calc(30/375*100vw); */
    margin-top: calc(-15/375*100vw);
  }

  section.con_ssp .con_main .con_header h2.small {
    font-size: 38px;
  }

  section.con_ssp .con_main .con_header h2.con_h2 span.large {
    font-size: 60px;
    line-height: 72px;
  }

  section.con_ssp .con_main .con_header h2.con_h2 span.sub {
    font-size: 20px;
    line-height: 24px;
  }

  .con_h2desc {
    margin-top: calc(50/375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(28 / 375 * 100vw);
  }

  .con_h2desc.rounded-bg {
    border-radius: calc(38 / 375 *100vw);
    padding: calc(10/375 * 100vw) 0;
  }

  .con_h2desc span.sub {
    font-size: 12px;
    line-height: 36px;
  }

  /*基本テキスト系*/
  .info_text {
    /* font-size: calc(15/375 *100vw); */
    font-size: calc(14.5/375 *100vw);
    line-height: 1.8em;
    max-width: calc(340 / 375 * 100vw);
  }

  .con_header .info_text {
    margin-top: calc(30/375*100vw);
  }

  /* form_link */
  .form_link {
    margin: 0 auto;
  }

  body a.form_btn {
    justify-content: center;
    width: calc(340 / 375 * 100vw);
    font-size: calc(20/375*100vw);
    line-height: calc(30/375*100vw);
    padding: calc(25 / 375 * 100vw) 0 !important;
    gap: calc(12/375 * 100vw) !important;
    border-radius: calc(5/375*100vw) !important;
  }


  /*introductionエリア*/
  .map_label {
    position: absolute;
    /* left: calc(5/375 * 100vw);
    top: calc(-10/375 *100vw); */
    left: calc(90/375 * 100vw);
    top: calc(-35/375 *100vw);
    box-shadow: calc(7/375 * 100vw) calc(7/375 * 100vw) calc(15/375 * 100vw) rgba(0, 0, 0, 0.3);
    border-radius: calc(18/375 * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: calc(10.5 / 375 * 100vw) calc(24.2 / 375 * 100vw);
  }

  .map_label p {
    font-size: calc((13.15 / 375) * 100vw);
    line-height: calc(16/375 * 100vw);
  }

  .map_label p span.large {
    font-size: calc(23.12 / 375 * 100vw);
    line-height: calc(28/375 * 100vw);
  }

  /*solutionエリア*/
  .solution_area {
    gap: calc(50/375 * 100vw);
  }

  .solution_area .solution_box {
    width: calc(300/375 * 100vw);
    height: calc(370/375*100vw);
    display: flex;
    flex-direction: column;
    z-index: 1;
    position: relative;
  }

  .solution_area .solution_box:nth-child(4) {
    height: calc(400/375*100vw);
  }

  .solution_area .solution_box::before {
    /* display: none; */
    content: "";
    position: absolute;
    width: calc(200/375*100vw);
    height: calc(200/375*100vw);
    background: radial-gradient(50% 50% at 50% 50%, #479EE3 23.56%, rgba(42, 87, 154, 0) 100%);
    left: calc(-70 / 375 *100vw);
    top: calc(-50 / 375 *100vw);
    z-index: -1;
  }

  .solution_area .solution_box .solution_icon_area {
    width: 100%;
    height: calc(170/375*100vw);
    border-radius: calc(30 / 375 * 100vw) calc(30 / 375 * 100vw) 0 0;
  }

  .solution_area .solution_box:nth-child(2) .solution_icon_area {
    padding: calc(23/375*100vw) calc(87/375*100vw);
  }

  .solution_area .solution_box:nth-child(3) .solution_icon_area {
    padding: calc(19/375*100vw) calc(88/375*100vw);
  }

  .solution_area .solution_box:nth-child(4) .solution_icon_area {
    padding: calc(28/375*100vw) calc(63/375*100vw) calc(28/375*100vw) calc(78/375*100vw);
  }

  .solution_area .solution_box:nth-child(5) .solution_icon_area {
    padding: calc(19/375*100vw) calc(76/375*100vw);
  }

  .solution_area .solution_box:nth-child(6) .solution_icon_area {
    padding: calc(20/375*100vw) calc(98/375*100vw);
  }

  .solution_area .solution_box .solution_text_area {
    padding: calc(10/375 * 100vw) 0 0 calc(20/375*100vw);
    width: 100%;
    height: calc(200/375*100vw);
    border-radius: 0 0 calc(30/375*100vw) calc(30/375*100vw);
    gap: calc(10/375*100vw);
  }

  .solution_area .solution_box:nth-child(4) .solution_text_area {
    height: calc(240/375*100vw);
  }

  .solution_area .solution_box .solution_text_area h3 {
    font-size: calc(20/375*100vw);
    line-height: calc(38/375*100vw);
  }

  .solution_area .solution_box:nth-child(3) .solution_text_area h3 {
    line-height: calc(30/375*100vw);
  }

  .solution_area .solution_box .solution_text_area .solution_list {
    padding: 0 calc(20 / 375 * 100vw);
  }

  .solution_area .solution_box .solution_text_area .solution_list li {
    /* font-size: calc(14/375*100vw); */
    font-size: calc(13.5/375*100vw);
    line-height: calc(25/375*100vw);
  }

  .solution_area .solution_line {
    width: calc(8/375*100vw);
    height: 80%;
    left: 50%;
    transform: translateX(-50%);
    top: calc(150/375*100vw);
  }

  /*strong_pointエリア*/
  .strong_point_area {
    gap: calc(50/375*100vw);
    flex-direction: column;
    align-items: center;
  }

  .strong_point_area .strong_point_box {
    width: calc(300 / 375 *100vw);
    align-items: center;
    justify-content: center;
  }

  .strong_point_area .strong_point_box .strong_point_icon {
    width: 100%;
    height: calc(210/375*100vw);
    border-radius: calc(30/375*100vw) calc(30/375*100vw) 0 0;
  }

  .strong_point_area .strong_point_box:nth-child(1) .strong_point_icon {
    padding: calc(42/375*100vw) calc(82/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(2) .strong_point_icon {
    padding: calc(40/375*100vw) calc(87/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_icon {
    padding: calc(44/375*100vw) calc(92/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(4) .strong_point_icon {
    padding: calc(32/375*100vw) calc(73/375*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text {
    padding: calc(10 / 375 *100vw) calc(20 / 375 * 100vw);
    background: #fff;
    width: 100%;
    min-height: calc(210/ 375 * 100vw);
    gap: calc(10 / 375 *100vw);
    border-radius: 0 0 calc(30/375*100vw) calc(30/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_text {
    padding: calc(10 / 375 *100vw) calc(20 / 375 * 100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text h3 {
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(38 / 375 * 100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text .strong_point_list {
    padding: 0 calc(0/375*100vw) 0 calc(14/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_text .strong_point_list {
    padding: 0 calc(0/375*100vw) 0 calc(14/375*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(4) .strong_point_text .strong_point_list {
    padding: 0 calc(0/375*100vw) 0 calc(8/375*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text .strong_point_list li {
    font-size: calc(14/375*100vw);
    line-height: calc(25/375*100vw);
  }


  .strong_point_area .strong_point_box .arrow {
    width: calc(60/375*100vw);
    height: calc(80/375*100vw);
    bottom: calc(-53/375*100vw);
  }

  .strong_point_area .strong_point_box .arrow::after {
    height: calc(45/375*100vw);
    width: calc(120 / 375 * 100vw);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    left: -50%;
    bottom: calc(-25/375*100vw);
  }

  .provider_area {
    margin-top: calc(40/375*100vw);
  }

  .provider_area .provider_header {
    padding: calc(10/375*100vw) 0;
    border-radius: calc(30/375*100vw) calc(30/375*100vw) 0 0;
  }

  .provider_area .provider_header h3 {
    font-size: calc(20/375*100vw);
    line-height: calc(28/375*100vw);
  }

  .provider_area .provider_logo_container {
    height: calc(230/375*100vw);
    border-radius: 0 0 calc(30/375*100vw) calc(30/375*100vw);
  }

  .provider_area .provider_logo_container .scroll-wrapper {
    gap: calc(20/375*100vw);
    padding: calc(40/375*100vw) 0;
  }

  .provider_area .provider_logo_container .scroll-infinity__list--left {
    animation: infinity-scroll-left 40s linear infinite;
  }

  @keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }

    to {
      transform: translateX(-100%);
    }
  }

  .provider_area .provider_logo_container .scroll-wrapper .scroll-row {
    /* gap: calc(30/375*100vw); */
    gap: calc(10/375*100vw);
  }

  .provider_area .provider_logo_container .scroll-wrapper .scroll-row .logo {
    min-width: calc(150/375*100vw);
    max-width: calc(250/375*100vw);
    height: calc(60/375*100vw);
    padding: calc(0/375*100vw);
  }

  /*Appエリア*/
  .app_area {
    gap: calc(50/375*100vw);
    align-items: center;
    justify-content: center;
  }

  .app_area .app_box {
    width: calc(355/375*100vw);

  }

  .app_area .app_box .app_image_area {
    height: calc(155/375*100vw);
    border-radius: calc(30/375*100vw) calc(30/375*100vw) 0 0;
  }

  .app_area .app_box:nth-child(1) .app_image_area {
    align-items: flex-end;
    padding: 0 calc(32/375*100vw);
  }

  .app_area .app_box:nth-child(2) .app_image_area {
    padding: 0 calc(49/375*100vw);
  }

  .app_area .app_box:nth-child(3) .app_image_area {
    padding: 0 calc(20/375*100vw);
  }

  .app_area .app_box:nth-child(4) .app_image_area {
    padding: 0 calc(42/375*100vw);
  }


  .app_area .app_box .app_text_area {
    height: calc(200/375*100vw);
    border-radius: 0 0 calc(30/375*100vw) calc(30/375*100vw);
    padding: calc(10/375*100vw) calc(20/375*100vw);
    gap: calc(10/375*100vw);
  }

  .app_area .app_box .app_text_area h3 {
    font-size: calc(20/375*100vw);
    line-height: calc(38/375*100vw);
  }

  .app_area .app_box .app_text_area .app_list {
    padding-left: calc(15/375*100vw);
  }

  .app_area .app_box:nth-child(1) .app_text_area .app_list,
  .app_area .app_box:nth-child(2) .app_text_area .app_list,
  .app_area .app_box:nth-child(3) .app_text_area .app_list {
    padding-right: 0;
  }

  .app_area .app_box .app_text_area .app_list li {
    font-size: calc(14/375*100vw);
    line-height: calc(25/375*100vw);
  }

  .sdk_area {
    flex-direction: column;
    gap: calc(50/375*100vw);
  }

  .sdk_area .sdk_box {
    height: calc(550/375*100vw);
  }

  .sdk_area .sdk_box .sdk_image_area {
    height: calc(300/375*100vw);
    border-radius: calc(30/375*100vw) calc(30/375*100vw) 0 0;
  }

  .sdk_area .sdk_box:nth-child(1) .sdk_image_area,
  .sdk_area .sdk_box:nth-child(2) .sdk_image_area {
    padding: 0 calc(7.5/375*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area {
    height: calc(250/375*100vw);
    border-radius: 0 0 calc(30/375*100vw) calc(30/375*100vw);
    padding: calc(10/375*100vw) calc(20/375*100vw) 0 calc(20/375*100vw);
    gap: calc(10/375*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area h3 {
    font-size: calc(20/375*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area .sdk_label {
    font-size: calc(18/375*100vw);
    line-height: calc(30/375*100vw);
    padding-left: calc(10/375*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area .sdk_description {
    font-size: calc(14/375*100vw);
    line-height: calc(25/375*100vw);
  }

  /*flowエリア*/
  .flow-area {
    gap: calc(20/375*100vw);
    flex-direction: column;
  }

  .flow-area .arrow {
    position: absolute;
    width: calc(450/375*100vw);
    height: auto;
    z-index: 0;
    top: calc(288/375*100vw);
    transform: rotate(90deg);
    left: calc(-159/375*100vw);
  }

  .flow-area .flow_box {
    display: grid;
    grid-template-columns: calc(160/375*100vw) 1fr;
    grid-template-rows: auto 1fr;
    align-items: start;
    width: 100%;
    height: calc(160/375*100vw);
    align-items: start;
    row-gap: calc(10/375*100vw);
  }

  .flow-area .flow_box h3 {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    margin-top: calc(14/375*100vw);
    align-self: start;
    padding: 0;
    text-align: unset;
    font-size: calc(25/375*100vw);
    line-height: calc(39/375*100vw);
  }

  .flow-area .flow_box:nth-child(5) h3 {
    grid-row: 1/3;
    margin-top: calc(50/375*100vw);
  }

  .flow-area .flow_box .flow_icon {
    grid-column: 1;
    grid-row: 1 / 3;
    width: calc(160/375*100vw);
    height: calc(160/375*100vw);
    align-self: flex-start;
    justify-self: start;
    padding: 0;
  }

  .flow-area .flow_box .flow_text {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    padding: 0;
    font-size: calc(14/375*100vw);
    line-height: calc(25/375*100vw);
  }

  /*whitepaperエリア*/
  .text_area {
    gap: calc(10/375*100vw);
  }

  .text_area .label {
    font-size: calc(24/375*100vw);
    font-weight: 700;
    line-height: calc(36/375*100vw);
  }

}

/*ここから中間*/
@media (max-width: 1439px) and (min-width: 768px) {
  html #products_ssp #contents .con_title {
    height: calc(580/1440*100vw);
  }

  html #products_ssp #contents .con_title .inner {
    column-gap: calc(7/1440*100vw);
    padding: 0 calc(25/1440*100vw) calc(18/1440*100vw) 0;
    margin-top: calc(40/1440*100vw);
  }

  html.lower #contents .con_title h2 .jp {
    font-size: calc(50/1440*100vw);
    line-height: calc(75/1440*100vw);
  }

  .txt_lead {
    line-height: calc(27/1440*100vw);
    font-size: calc(18/1440*100vw);
    margin: calc(20/1440*100vw) 0 0;
  }


  .con_title .btn_area {
    margin: calc(20/1440*100vw) 0 0;
    column-gap: calc(20/1440*100vw);
  }


  .con_title .btn {
    font-size: calc(16/1440*100vw);
    border-radius: calc(4/1440*100vw);
    padding: calc(16/1440*100vw) 0;
    width: calc(255/1440*100vw);
    border: calc(1/1440*100vw) solid #fff;
  }
}

@media (max-width: 1124px) and (min-width: 768px) {
  html #products_ssp #contents .con_title {
    height: calc(580/1000*100vw);
    background-size: cover;
    background-position: calc(-265/1000*100vw) 0;
  }

  html #products_ssp #contents .con_title .inner {
    column-gap: calc(7/1000*100vw);
    padding: 0 calc(25/1000*100vw) calc(18/1000*100vw) 0;
    margin-top: calc(40/1000*100vw);
  }

  html.lower #contents .con_title h2 .jp {
    font-size: calc(50/1000*100vw);
    line-height: calc(75/1000*100vw);
  }

  .txt_lead {
    line-height: calc(27/1000*100vw);
    font-size: calc(18/1000*100vw);
    margin: calc(20/1000*100vw) 0 0;
  }

  .con_title .btn_area {
    margin: calc(20/1000*100vw) 0 0;
    column-gap: calc(20/1000*100vw);
  }

  .con_title .btn {
    font-size: calc(16/1000*100vw);
    border-radius: calc(4/1000*100vw);
    padding: calc(16/1000*100vw) 0;
    width: calc(255/1000*100vw);
    border: calc(1/1000*100vw) solid #fff;
  }
  html #products_ssp #contents .con_title .inner {
    margin-top: 0;
  }

  .con_title_left {
    padding-left: calc(30/1000*100vw);
  }

  section.con_ssp {
    padding: calc(120/1000*100vw) 0;
  }

  section.con_ssp.white_paper {
    padding: calc(60/1000*100vw) 0;
  }

  section.con_ssp .con_main {
    max-width: calc(1000/1000*100vw);
    gap: calc(50/1000*100vw);
    margin:0 calc(30/1000*100vw);
  }

  section.con_ssp .con_main.gap_wide {
    gap: calc(80/1000*100vw);
  }

  section.con_ssp .con_main.gap_small {
    gap: calc(24/1000*100vw);
  }



  /* H2系 */
  section.con_ssp .con_main .con_header h2.con_h2 {
    font-size: calc(50/1000*100vw);
    line-height: calc(75/1000*100vw);
  }

  section.con_ssp .con_main .con_header h2.small {
    font-size: calc(38/1000*100vw);
  }

  section.con_ssp .con_main .con_header h2.con_h2 span.large {
    font-size: calc(60/1000*100vw);
    line-height: calc(72/1000*100vw);
  }

  section.con_ssp .con_main .con_header h2.con_h2 span.sub {
    font-size: calc(20/1000*100vw);
    line-height: calc(24/1000*100vw);
  }

  .con_h2desc {
    margin-top: calc(50/1000*100vw);
    font-size: calc(28/1000*100vw);
    line-height: calc(42/1000*100vw);
  }

  .con_h2desc.rounded-bg {
    border-radius: calc(27.5/1000*100vw);
    padding: calc(6.5/1000*100vw) 0;
  }

  .con_h2desc span.sub {
    font-size: calc(12/1000*100vw);
    line-height: calc(36/1000*100vw);
  }

  /*h2系ここまで*/


  /*基本テキスト系*/
  .info_text {
    font-size: calc(18/1000*100vw);
    line-height: calc(38/1000*100vw);
  }

  .con_header .info_text {
    margin-top: calc(30/1000*100vw);
  }

  /*introduction固有*/

  .map_label {

    left: calc(32/1000*100vw);
    top: calc(-3/1000*100vw);
    box-shadow: calc(7/1000*100vw) calc(7/1000*100vw) calc(15/1000*100vw) rgba(0, 0, 0, 0.3);
    border-radius: calc(40/1000*100vw);
    padding: calc(10/1000*100vw) calc(40/1000*100vw);
  }

  .map_label p {
    font-size: calc(29/1000*100vw);
    line-height: calc(50/1000*100vw);
  }

  .map_label p span.large {
    font-size: calc(60/1000*100vw);
    line-height: calc(75/1000*100vw);
  }

  /*solution固有*/
  .solution_area {
    width: calc(934/1000*100vw);
    gap: calc(62/1000*100vw);
    padding-top: 0;
  }

  .solution_area .solution_box {
    width: calc(800/1000*100vw);
    height: calc(200/1000*100vw);
  }

  .solution_area .solution_box::before {
    width: calc(200/1000*100vw);
    height: calc(200/1000*100vw);
    left: calc(-68/1000*100vw);
    top: calc(-42/1000*100vw);
  }

  .solution_area .solution_box .solution_icon_area {
    width: calc(200/1000*100vw);
    height: calc(200/1000*100vw);
    border-radius: calc(30/1000*100vw) 0 0 calc(30/1000*100vw);
  }

  .solution_area .solution_box:nth-child(2) .solution_icon_area {
    padding: calc(38/1000*100vw) calc(37/1000*100vw);
  }

  .solution_area .solution_box:nth-child(3) .solution_icon_area {
    padding: calc(24/1000*100vw) calc(29/1000*100vw);
  }

  .solution_area .solution_box:nth-child(4) .solution_icon_area {
    padding: calc(43/1000*100vw) calc(13/1000*100vw) calc(43/1000*100vw) calc(28/1000*100vw);
  }

  .solution_area .solution_box:nth-child(5) .solution_icon_area {
    padding: calc(33/1000*100vw) calc(26/1000*100vw);
  }

  .solution_area .solution_box:nth-child(6) .solution_icon_area {
    padding: calc(35/1000*100vw) calc(48/1000*100vw);
  }

  .solution_area .solution_box .solution_text_area {
    padding: calc(20/1000*100vw) 0 0 calc(25/1000*100vw);
    width: calc(600/1000*100vw);
    border-radius: 0 calc(30/1000*100vw) calc(30/1000*100vw) 0;
    gap: calc(10/1000*100vw);
  }

  .solution_area .solution_box .solution_text_area h3 {
    font-size: calc(20/1000*100vw);
    line-height: calc(38/1000*100vw);
  }

  .solution_area .solution_box .solution_text_area .solution_list {
    padding-left: calc(25/1000*100vw);
  }

  .solution_area .solution_box .solution_text_area .solution_list li {
    font-size: calc(18/1000*100vw);
    line-height: calc(30/1000*100vw);

  }

  .solution_area .solution_line {
    width: calc(8/1000*100vw);
    left: calc(170/1000*100vw);
    top: calc(150/1000*100vw);
  }

  /*strong_point 固有*/
  .strong_point_area {
    gap: calc(20/1000*100vw);
  }

  .strong_point_area .strong_point_box {
    width: calc(220/1000*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_icon {
    width: calc(220/1000*100vw);
    height: calc(210/1000*100vw);
    border-radius: calc(30/1000*100vw) calc(30/1000*100vw) 0 0;
  }

  .strong_point_area .strong_point_box:nth-child(1) .strong_point_icon {
    padding: calc(42/1000*100vw) calc(39/1000*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(2) .strong_point_icon {
    padding: calc(40/1000*100vw) calc(39/1000*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_icon {
    padding: calc(40/1000*100vw) calc(60/1000*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(4) .strong_point_icon {
    padding: calc(32/1000*100vw) calc(41/1000*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text {
    padding: calc(15/1000*100vw) calc(17.5/1000*100vw) 17.calc(17.5/1000*100vw);
    width: calc(220/1000*100vw);
    gap: calc(10/1000*100vw);
    border-radius: 0 0 calc(30/1000*100vw) calc(30/1000*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_text {
    padding-left: calc(10/1000*100vw);
    padding-right: calc(10/1000*100vw);
  }
  .strong_point_area .strong_point_box:nth-child(4) .strong_point_text {
    padding: 15px 17.5px 17.5px 10px;
  }

  .strong_point_area .strong_point_box .strong_point_text h3 {
    font-size: calc(18/1000*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text .strong_point_list {
    /* padding-left: calc(17.5/1000*100vw); */
    padding-left: calc(10.5/1000*100vw);
  }

  .strong_point_area .strong_point_box:nth-child(3) .strong_point_text .strong_point_list {
    padding-left: calc(14/1000*100vw);
    padding-right: calc(5/1000*100vw);
  }
  .strong_point_area .strong_point_box:nth-child(4) .strong_point_text .strong_point_list {
    /* padding-left: 7px; */
    padding-left: calc(7/1000*100vw);
    padding-right: calc(5/1000*100vw);
  }

  .strong_point_area .strong_point_box .strong_point_text .strong_point_list li {
    font-size: calc(14/1000*100vw);
    line-height: calc(24/1000*100vw);
  }


  .strong_point_area .strong_point_box .arrow {
    width: calc(45/1000*100vw);
    height: calc(103/1000*100vw);
    bottom: calc(-53/1000*100vw);
  }

  .strong_point_area .strong_point_box .arrow::after {
    height: calc(45/1000*100vw);
    width: calc(90/1000*100vw);
    left: calc(-22.5/1000*100vw);
    bottom: calc(-30/1000*100vw);
  }

  .provider_area {
    margin-top: calc(30/1000*100vw);
  }

  .provider_area .provider_header {
    padding: calc(10/1000*100vw) 0;
    border-radius: calc(30/1000*100vw) calc(30/1000*100vw) 0 0;
  }

  .provider_area .provider_header h3 {
    font-size: calc(25/1000*100vw);
    line-height: calc(39/1000*100vw);
  }

  .provider_area .provider_header .provider_icon {
    right: calc(35/1000*100vw);
    top: calc(-25/1000*100vw);
    width: calc(130/1000*100vw);
    height: calc(110/1000*100vw);
  }

  .provider_area .provider_logo_container {
    /* height: calc(370/1000*100vw); */
    height: calc(280/1000*100vw);
    border-radius: 0 0 calc(30/1000*100vw) calc(30/1000*100vw);
  }

  .provider_area .provider_logo_container .left-cover,
  .provider_area .provider_logo_container .right-cover {
    width: calc(100/1000*100vw);
  }


  .provider_area .provider_logo_container .scroll-wrapper {
    gap: calc(20/1000*100vw);
    padding: calc(80/1000*100vw) 0;
  }
  .provider_area .provider_logo_container .scroll-wrapper .scroll-row {
    /* gap: calc(40/1000*100vw); */
    gap: calc(10/1000*100vw);
  }

  .provider_area .provider_logo_container .scroll-wrapper .scroll-row .logo {
    min-width: calc(200/1000*100vw);
    max-width: calc(300/1000*100vw);
    /* height: calc(100/1000*100vw); */
    height: calc(60/1000*100vw);
    padding: calc(0/1000*100vw);
    /* background: #df0404; */
  }



  /*app固有*/
  .app_area {
    width: calc(800/1000*100vw);
    gap: calc(50/1000*100vw);
  }

  .app_area .app_box {
    width: calc(375/1000*100vw);
  }

  .app_area .app_box .app_image_area {
    height: calc(155/1000*100vw);
    border-radius: calc(30/1000*100vw) calc(30/1000*100vw) 0 0;
  }

  .app_area .app_box:nth-child(1) .app_image_area {
    align-items: flex-end;
    padding: 0 calc(42/1000*100vw);
  }

  .app_area .app_box:nth-child(2) .app_image_area {
    padding: 0 calc(59/1000*100vw);
  }

  .app_area .app_box:nth-child(3) .app_image_area {
    padding: 0 calc(30/1000*100vw);
  }

  .app_area .app_box:nth-child(4) .app_image_area {
    padding: 0 calc(52/1000*100vw);
  }


  .app_area .app_box .app_text_area {
    height: calc(230/1000*100vw);
    border-radius: 0 0 calc(30/1000*100vw) calc(30/1000*100vw);
    padding: calc(20/1000*100vw) 0 0 calc(25/1000*100vw);
    gap: calc(10/1000*100vw);
  }

  .app_area .app_box .app_text_area h3 {
    font-size: calc(20/1000*100vw);
  }
  .app_area .app_box:nth-child(1) .app_text_area .app_list {
    padding-right: calc(13/1000*100vw);
  }

  .app_area .app_box:nth-child(2) .app_text_area .app_list {
    padding-right: calc(19/1000*100vw);
  }

  .app_area .app_box:nth-child(3) .app_text_area .app_list {
    padding-right: calc(21/1000*100vw);
  }

  .app_area .app_box .app_text_area .app_list li {
    font-size: calc(16/1000*100vw);
    line-height: calc(30/1000*100vw);
  }
  .sdk_area {
    gap: calc(40/1000*100vw);
  }

  .sdk_area .sdk_box {
    height: calc(590/1000*100vw);
  }

  .sdk_area .sdk_box .sdk_image_area {
    height: calc(300/1000*100vw);
    border-radius: calc(30/1000*100vw) calc(30/1000*100vw) 0 0;
  }

  .sdk_area .sdk_box:nth-child(1) .sdk_image_area {
    padding: 0 calc(45/1000*100vw);
  }

  .sdk_area .sdk_box:nth-child(2) .sdk_image_area {
    padding: 0 calc(29/1000*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area {
    height: calc(290/1000*100vw);
    border-radius: 0 0 calc(30/1000*100vw) calc(30/1000*100vw);
    padding: calc(20/1000*100vw) calc(25/1000*100vw) 0 calc(25/1000*100vw);
    gap: calc(10/1000*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area h3 {
    font-size: calc(20/1000*100vw);
  }

  .sdk_area .sdk_box .sdk_text_area .sdk_label,
  .sdk_area .sdk_box .sdk_text_area .sdk_description {
    font-size: calc(16/1000*100vw);
    line-height: calc(30/1000*100vw);
  }

  /*flow 固有*/
  .flow-area {
    gap: calc(20/1000*100vw);
  }

  .flow-area .arrow {
    width: calc(680/1000*100vw);
    top: calc(160/1000*100vw);
    left: calc(70/1000*100vw);
  }

  .flow-area .flow_box {
    gap: calc(10/1000*100vw);
    width: calc(230/1000*100vw);
    height: auto;
  }

  .flow-area .flow_box h3 {
    font-size: calc(25/1000*100vw);
    line-height: calc(39/1000*100vw);
  }

  .flow-area .flow_box .flow_icon {
    width: calc(220/1000*100vw);
    height: auto;
    padding-top: calc(10/1000*100vw);
    padding-left: calc(30/1000*100vw);
  }

  .flow-area .flow_box .flow_text {
    padding: 0 calc(24.5/1000*100vw);
    /* font-size: calc(16/1000*100vw); */
    font-size: calc(14/1000*100vw);
    line-height: calc(30/1000*100vw);
  }

  /* whitepaper固有*/
  .text_area {
    gap: calc(10/1000*100vw);
  }

  .text_area .label {
    font-size: calc(28/1000*100vw);
    line-height: calc(42/1000*100vw);
  }


  /* form_link */

  .form_btn {
    justify-content: center;
    width: calc(380/1000*100vw);
    font-size: calc(20/1000*100vw);
    line-height: calc(30/1000*100vw);
  }
}




/*ここまで*/


@media screen and (max-width: 767px) {
  #homepage .con_title {
    height: 70vh;
    min-height: 500rem;
  }
}

#homepage .con_title .inner {
  width: 100%;
  height: 100vh;
  min-height: 650px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner {
    height: 70vh;
    min-height: 500rem;
  }
}

#homepage .con_title .inner .motion_01 {
  height: 100vh;
  min-height: 650px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  animation: motion_01 forwards 0.5s ease-out 3s;
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_01 {
    height: 70vh;
    min-height: 500rem;
  }
}

#homepage .con_title .inner .motion_01 h2 {
  margin: 0;
  padding: 0;
  font-size: 385%;
  font-weight: 700;
  position: relative;
  overflow: hidden;
  animation: motion_01_01 forwards 1.5s ease-out 0s;
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_01 h2 {
    font-size: 32rem;
  }
}

#homepage .con_title .inner .motion_01 h2:after {
  width: 100%;
  height: 2px;
  background: #fff;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 100%;
  animation: motion_01_02 forwards 0.5s ease-out 1.5s;
}

#homepage .con_title .inner .motion_02 {
  height: 100vh;
  min-height: 650px;
  padding-top: 130px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_02 {
    height: 70vh;
    min-height: 500rem;
    padding-top: calc(61.84 / 375 * 100vw);
  }
}

#homepage .con_title .inner .motion_02 h2 {
  margin: 0;
  padding: 0;
  font-size: 654%;
  font-weight: 700;
  line-height: 1.3em;
  text-align: center;
  opacity: 0;
  animation: motion_02_01 forwards 1.5s ease-out 5s;
}

#homepage .con_title .inner .motion_02 h2 {
  margin: 0;
  padding: 0;
  font-size: 654%;
  font-weight: 700;
  line-height: 1.3em;
  text-align: center;
  opacity: 0;
  animation: motion_02_01 forwards 1.5s ease-out 4s;
}

#homepage .con_title .inner .motion_02 h2 span {
  font-size: 58%;
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_02 h2 {
    font-size: 50rem;
  }

  #homepage .con_title .inner .motion_02 h2 span {
    font-size: 32rem;
  }
}

#homepage .con_title .inner .motion_02 .fv_links {
  margin-top: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translate(0, -10px);
  pointer-events: none;
  animation: motion_02_02 forwards 0.5s ease-out 5.5s;
}

@media all and (-ms-high-contrast:none) {

  *::-ms-backdrop,
  #homepage .con_title .inner .motion_02 .fv_links {
    pointer-events: auto;
  }
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_02 .fv_links {
    justify-content: space-around;
  }
}

#homepage .con_title .inner .motion_02 .fv_links a {
  margin: 0 25px;
  padding: 19px 31px;
  background: rgba(241, 241, 243, .9);
  border-radius: 6px;
  position: relative;
  display: block;
}

#homepage .con_title .inner .motion_02 .fv_links a:before {
  width: 100%;
  height: 100%;
  border: 0 solid rgba(0, 0, 0, 0);
  border-radius: 5px;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: all 0.2s ease-out 0s;
}

#homepage .con_title .inner .motion_02 .fv_links a:hover:before {
  border: 10px solid rgba(0, 0, 0, .2);
}

@media screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_02 .fv_links a {
    width: 45%;
    margin: 0;
    padding: 13rem 23rem;
  }
}

#homepage .con_title .inner .motion_02 .fv_scroll {
  margin-top: 48px;
  text-align: center;
  opacity: 0;
  transform: translate(0, -10px);
  animation: motion_02_02 forwards 0.5s ease-out 6s;
}

#homepage .con_title .inner .motion_02 .fv_scroll .mouse {
  width: 33px;
  height: 53px;
  margin: 0 auto 8px;
  background: #A8A8A8;
  border: 2px solid #fff;
  border-radius: 100px;
  position: relative;
}

#homepage .con_title .inner .motion_02 .fv_scroll .mouse:after {
  width: 10px;
  height: 10px;
  background: #19569F;
  border-radius: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translate(-50%, 0);
  animation: motion_02_03 forwards 2s ease-out 6s infinite;
}

#homepage .con_title .inner .motion_02 .fv_scroll .txt {
  font-size: 77%;
}

@media only screen and (max-width: 767px) {
  #homepage .con_title .inner .motion_02 .fv_scroll .txt {
    font-size: 10rem;
  }
}

#homepage .con_brandrename {
  padding: 60px 20px 77px 20px;
  background: url("../images/home2/bg_rename@2x.webp") center center / cover no-repeat;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename {
    padding: 33px 0 10px;
  }
}

#homepage .con_brandrename .con_main {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main {
    width: 95%;
  }
}

/* #homepage .con_brandrename .con_main .con_h2 {
  margin: 0 0 27px;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
} */

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main .con_h2 {
    margin: 0 0 16px;
    font-size: 30rem;
  }
}

#homepage .con_brandrename .con_main p {
  font-size: 18px;
  line-height: 1.66666em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main p {
    font-size: 16rem;
    line-height: 2.1875em;
    text-align: left;
  }
}

#homepage .con_brandrename .con_main .brandrename_img {
  display: flex;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main .brandrename_img {
    display: block;
    margin-top: 40px;
  }
}

#homepage .con_brandrename .con_main .brandrename_img picture {
  width: 100%;
  margin: 40px 0 0;
  display: block;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main .brandrename_img picture {
    margin: 0 0 73px;
  }
}

#homepage .con_brandrename .con_main .btn {
  margin-top: 1em;
}

#homepage .con_brandrename .con_main .btn a {
  color: #FFF;
  border: 1px solid #d6d6d6;
  background: #ffffff;
  text-align: center;
  padding: .7em 1em;
  display: inline-block;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  font-size: 108%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: .3em 1em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main .btn a {
    width: 100%;
  }
}

#homepage .con_brandrename .con_main .btn a .fa-angle-right {
  margin-left: .3em;
  border: 1px solid #333;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
  line-height: 1;
  padding: 0 .3em;
  vertical-align: middle;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

#homepage .con_brandrename .con_main .btn a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

#homepage .con_brandrename .con_main .btn a:hover .fa-angle-right {
  margin-left: .6em;
}

@media only screen and (max-width: 767px) {
  #homepage .con_brandrename .con_main .btn a {
    width: 100%;
  }
}

#homepage .con_platform {
  padding: 70px 20px;
}

@media only screen and (max-width: 767px) {
  #homepage .con_platform {
    padding: 60px 0;
  }
}

#homepage .con_platform .con_main {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #homepage .con_platform .con_main {
    width: 95%;
  }
}

/* #homepage .con_platform .con_main .con_h2 {
  margin-bottom: 68px;
  color: #1957A0;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
} */

@media only screen and (max-width: 767px) {
  #homepage .con_platform .con_main .con_h2 {
    margin: 0 0 16px;
    font-size: 30rem;
  }
}

#homepage .con_platform .con_main picture {
  width: 100%;
  margin: 0 0 56px;
  display: block;
  text-align: center;
}

@media only screen and (max-width: 1103px) {
  #homepage .con_platform .con_main picture img {
    width: auto;
    max-width: none;
  }
}

#homepage .con_platform .con_main p {
  font-size: 16px;
  line-height: 2.1875em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #homepage .con_platform .con_main p {
    font-size: 16rem;
    text-align: left;
  }
}

.js-scrollable {
  padding: 3px 0;
}

.scroll-hint-icon-wrap {
  z-index: 3;
}

#homepage .con_strong {
  padding: 70px 20px;
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong {
    padding: 60px 0;
    position: relative;
    overflow: hidden;
  }
}

#homepage .con_strong .con_main {
  width: 100%;
  max-width: 1252px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main {
    width: 95%;
  }
}

/* #homepage .con_strong .con_main .con_h2 {
  margin-bottom: 30px;
  color: #1957A0;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
} */

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main .con_h2 {
    margin: 0 0 16px;
    font-size: 30rem;
  }
}

#homepage .con_strong .con_main .strong_img {
  position: relative;
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main .strong_img {
    width: calc(663 / 390 * 100vw);
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

#homepage .con_strong .con_main .strong_img .btn {
  margin: 0;
  position: absolute;
  top: 66%;
  left: 50%;
  z-index: 3;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main .strong_img .btn {
    top: 63%;
  }
}

#homepage .con_strong .con_main .strong_img .btn a {
  padding: 9px 40px;
  background: #1957A0;
  border: 1px solid #1957A0;
  border-radius: 8px;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
}

@media only screen and (min-width: 768px) and (max-width: 1292px) {
  #homepage .con_strong .con_main .strong_img .btn a {
    padding: calc(9 / 1292 * 100vw) calc(40 / 1292 * 100vw);
    font-size: calc(18 / 1292 * 100vw);
  }
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main .strong_img .btn a {
    padding: 7rem 10rem 6rem;
    border-radius: 4rem;
    font-size: 14rem;
  }
}

#homepage .con_strong .con_main .strong_img .btn a .fa-angle-right {
  margin-left: .3em;
  border: 1px solid #fff;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
  line-height: 1;
  padding: 0 .3em;
  vertical-align: middle;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

#homepage .con_strong .con_main .strong_img .btn a:hover {
  background: #fff;
  color: #1957A0;
}

#homepage .con_strong .con_main .strong_img .btn a:hover .fa-angle-right {
  margin-left: .6em;
  border: 1px solid #1957A0;
}

#homepage .con_strong .con_main .strong_img .bg {
  position: relative;
  z-index: 1;
}

#homepage .con_strong .con_main picture {
  margin: 0;
  display: block;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main picture img {
    width: calc(663 / 390 * 100vw);
    max-width: none;
  }
}

#homepage .con_strong .con_main p {
  font-size: 16px;
  margin-bottom: 62px;
  line-height: 2.1875em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #homepage .con_strong .con_main p {
    font-size: 16rem;
    text-align: left;
  }
}

@media only screen and (max-width: 767px) {
  img[src*="svg"] {
    max-width: 100%;
    height: auto;
  }
}



.con_seminar {
  padding: 60px 20px 60px;
}

section.faq {
  padding: 60px 20px 60px;
}

/* h2.con_h2 {
  color: #1957A0;
  font-weight: bold;
  text-align: center;
  font-size: 36px;
  margin-bottom: 26px;
} */

.con_wrapper {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
}



.con_h2head {
  color: #1957A0;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 10px;
}

.con_h2explain {
  width: 99%;
  color: #313131;
  /* background-color: #003164; */
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 44px;
}

.rmp_point_wrap {
  max-width: 946px;
  margin: auto;
}

.rmp_point {
  display: flex;
  /* align-items: center; */
  gap: 0 20px;
  margin-bottom: 50px;
}

.rmp_point.point2 {
  flex-direction: row-reverse;
}

.rmp_point>* {
  flex-basis: 50%;
}

.rmp_point_img {
  margin: auto;
  text-align: center;
}

.rmp_point_img img {
  width: 80%;
}

.rmp_point_num {
  font-weight: bold;
  color: #1356A0;
  margin-bottom: 20px;
}

.rmp_point_num .num {
  font-size: 24px;
  margin-left: 10px;
}

.rmp_point_title {
  font-size: 22px;
  margin-bottom: 27px;
  line-height: 1.6;
}

.rmp_point_body {
  margin: 10px 0 20px;
  font-weight: normal;
}

.rmp_point_text {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
}



.product_needs {
  color: #004690;
  font-size: 26px;
  font-weight: bold;
}

body a.form_btn {
  border-radius: 5px;
  /* font-size: 16px; */
  font-weight: 600;
  display: flex;
  gap: 0 12px;
  align-items: center;
  padding: 20px 0;
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
}

/*
.blue_btn {
  background: #003164;
  color: #fff;
  border: 1px solid #003164;
}

.blue_btn svg {
  fill: #fff;
  transition: all .2s;
}

.blue_btn:hover {
  background: #fff;
  color: #003164;
}

.blue_btn:hover svg {
  fill: #003164;
}*/


/* seminar */
.con_seminar {
  padding: 40px 20px 80px;
}

.con_seminar .con_h2_notes {
  text-align: center;
  display: block;
  font-size: 18px;
  color: #AAAAAA;
  margin: 0 auto 27px;
}

/* .con_seminar .con_h2 {
  color: #1957A0;
  margin: 0 0 62px;
} */

.seminar_area {}

.seminar {
  /* margin: 0 10px; */
}

.seminar>* {
  width: 240px;
}

.seminar_img_wrap {
  height: 156px;
  overflow: hidden;
}

.seminar_img {
  position: relative;
}

.seminar_img img {}

.notend,
.end {
  position: absolute;
  right: 0;
  bottom: -10px;
  color: #fff;
  padding: 5px 5px;
  width: 100px;
  font-size: 10px;
  text-align: center;
}

.notend {
  background: #FF8A04;
}

.end {
  background: #999999;
}

.seminar_date {
  font-size: 11px;
}

.seminar_text {
  font-size: 18px;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  word-break: break-all;
  -webkit-line-clamp: 3;
  line-height: 1.5;
  max-height: 4.5em;
}

body .seminar_text a {
  text-decoration: none;
}

.con_seminar .seminar_btn {
  padding: 14px 10px;
  font-size: 16px;
  font-weight: bold;
  margin-top: 42px;
  border-radius: 5px;
  max-width: 290px;
  text-align: center;
  text-decoration: none;
  display: block;
  transition: .2s;
}

.bx-wrapper .bx-controls-direction a {
  width: 28px;
  height: 36px;
  margin-top: -18px;
}

.bx-wrapper .bx-next {
  right: -70px;
  background: url(../rmp/images/seminar_next.svg) 0 0px /cover no-repeat;
}

.bx-wrapper .bx-prev {
  left: -70px;
  background: url(../rmp/images/seminar_next.svg) 0 0px /cover no-repeat;
  transform: rotateZ(180deg);
}

.bx-wrapper .bx-next:focus,
.bx-wrapper .bx-next:hover {
  background-position: inherit;
}


/* faq */
.faq .con_h2_notes {
  text-align: center;
  color: #1356A0;
  display: block;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}

/* .faq h2.con_h2 {
  font-size: 28px;
  color: #222;
} */

.faq-wrap {
  text-align: left;
  margin: 40px auto 96px;
  max-width: 946px;
}

.faq-body {
  margin: 0 0 40px;
}



.q-num {
  color: #1356A0;
  margin-right: 1em;
}

.q-text {}

.q-icon {
  display: none;
}

/* .answer {
  font-size: 18px;
  line-height: 32px;
} */

.answer a:link,
.answer a:visited {
  text-decoration: underline;
}

.link-wrap {}

.link {
  margin: 0 30px 0 0;
  font-weight: bold;
}

.link a {
  color: #1356A0;
  align-items: center;
  display: flex;
}

.link img {
  margin-right: 7px;
}

/* contact */
#contact {
  background: rgba(204, 204, 204, 0.25);
  /* padding: 38px 0 40px; */
  padding: 38px 20px 40px;
  text-align: center;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

#contact .request-link,
.globalMenuSp .request-link {
  background: #196FCB;
  color: #fff;
  border: 1px solid #196FCB;
  border-radius: 4px;
  font-size: 20px;
  font-weight: bold;
  width: 383px;
  display: none !important;
}

#contact .request-link svg,
.globalMenuSp .request-link svg {
  width: 23px;
  fill: #fff;
  margin-right: 15px;
}

#contact .request-link:hover,
.globalMenuSp .request-link:hover {
  color: #196FCB;
  background: #fff;
}

#contact .request-link:hover svg,
.globalMenuSp .request-link:hover svg {
  fill: #196FCB;
}

#contact .inquiry-link,
.globalMenuSp .inquiry-link {
  background: #003164;
  color: #fff;
  border: 1px solid #003164;
  border-radius: 4px;
  font-size: 20px;
  font-weight: bold;
  width: 383px;
}

#contact .inquiry-link svg,
.globalMenuSp .inquiry-link svg {
  width: 28px;
  fill: #fff;
  margin-right: 15px;
}

#contact .inquiry-link:hover,
.globalMenuSp .inquiry-link:hover {
  color: #003164;
  background: #fff;
}

#contact .inquiry-link:hover svg,
.globalMenuSp .inquery-link:hover svg {
  fill: #003164;
}

#colophon {
  border: none;
  margin: 0;
  background: #222;
  color: #fff;
  padding: 60px 0 80px;
}

#contact .h2sub {
  font-size: 16px;
  color: #1356A0;
  font-weight: bold;
  margin-bottom: 8px;
  display: inline-block;
}

#contact h2 {
  font-size: 24px;
  margin-bottom: 25px;
  font-weight: bold;
}

@media screen and (max-width: 375px) {
  #contact h2 {
    font-size: 23px;
  }
}



.contact-btn-area {
  margin-bottom: 25px;
  gap: 0 20px;
}

.contact-btn-area>a {
  /* width: 48%; */
  text-align: center;
  /* padding: 19px 0px; */
  height: 70px;
}

body a:link,
body a:visited,
body a:active {
  text-decoration: none;
}

footer a:hover {
  color: #fff;
}

.tel-title {
  color: #000;
  font-size: 18px;
  font-weight: bold;
}

#contact .tel-area {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#contact .tel-area>div:nth-of-type(1) {
  width: 80%;
}

#contact .tel-area>a:nth-of-type(1) {
  width: 20%;
}

.tel-area .agency-link {
  font-weight: bold;
  /* padding-left: 22px; */
  color: #1356A0;
  display: inline-block;
  font-size: 16px;
}

#contact .tel-area .tel-wrap {
  border-right: 1px solid #CCCCCC;
  padding-right: 15px;
  line-height: 1;
}

.telnum {
  color: #000000;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.1;
  display: flex;
  align-items: center;
  letter-spacing: 2px;
}

.telnum:hover {
  color: #000000;
}

.telnum img {
  margin: 1px 7px 0 0;
  width: 16px;
}

.tel-area .biz-hours {
  font-size: 14px;
  margin: 3px 0px 0 5px;
  font-weight: bold;
}

html #products_ssp #contents .con_title_right img {
  width: 526.29px;
  height: 432.83px;
}



/*RMP新規追加*/

.rmp_dounyuu_wrap {
  width: 100%;
}

.rmp_dounyuu {
  display: flex;

}

.rmp_dounyuu_body {
  font-size: 16rem;
}

.rmp_dounyuu_img {
  margin-bottom: 20px;
  flex-basis: 40%;
  background-image: url(../rmp/images/dounyuu_rmp_img1.png);
  background-position: top right;
  background-size: auto 401px;
  background-repeat: no-repeat;
  width: 100%;
  height: 401px;
}

.rmp_dounyuu_text {
  flex-basis: 60%;
  margin-left: 70px;
}

.rmp_dounyuu_explain {
  display: flex;
  flex-wrap: wrap;
  width: 685px;
}

.rmp_dounyuu_explain_img {
  width: 150px;
  padding-bottom: 20px;
  margin-bottom: 10px;
}

.rmp_dounyuu_explain_text {
  width: 535px;
  padding-bottom: 20px;
  padding-left: 35px;
  margin-bottom: 10px;
}

.rmp_dounyuu_includetitle {
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 27px;
  line-height: 1.6;
}

.rmp_dounyuu_includetext {
  font-size: 18px;
  line-height: 1.8;
}

/* .blue_back .form_link {
  background: #FFF;
} */

@media screen and (max-width: 767px) {
  .rmp_dounyuu_wrap {
    width: 100%;
  }

  .rmp_dounyuu {
    display: block;

  }

  .rmp_dounyuu_body {
    font-size: 16rem;
  }

  .rmp_dounyuu_img {
    text-align: center;
    width: 80%;
    margin: 0 auto 40px;
    background-image: none;
    height: auto;
  }

  .rmp_dounyuu_text {
    width: 100%;
    padding: 0 10px;
    margin-left: 0;
  }

  .rmp_dounyuu_explain {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }

  .rmp_dounyuu_explain_img {
    width: 25%;
    padding-bottom: 20px;
    margin-bottom: 10px;
  }

  .rmp_dounyuu_explain_text {
    width: 75%;
    padding-bottom: 20px;
    padding-left: 10px;
    margin-bottom: 10px;
  }

  .rmp_dounyuu_includetitle {
    font-size: 16rem;
    font-weight: bold;
    margin-bottom: 27px;
  }

  .rmp_dounyuu_includetext {
    font-size: 14rem;
  }

}