@charset "utf-8";

.pc-view {
  display: block;
}

.sp-view {
  display: none;
}

/* CSS Document */
.mainvisual.max_width {
  margin-top: 0;
}

.mainvisual.max_width img {
  width: 100%;
}

.mainvisual.max_width .mainvisual_inner {
  position: relative;
  width: 980px;
}

.mainvisual.max_width .mainvisual_inner p {
  position: absolute;
  top: 21px;
  width: 135px;
}

.mainvisual.max_width .mainvisual_inner p img {
  width: 100%;
}

.mainvisual_img_01 {
  left: 0;
}

.mainvisual_img_02 {
  left: 160px;
}

.mainvisual_img_03 {
  right: 160px;
}

.mainvisual_img_04 {
  right: 0;
}

.section {
  width: 100%;
}

.section_inner {
  max-width: 970px;
  margin: 0 auto;
  padding: 30px 0 90px;
}

/* background-color */
.mainvisual.set1_bg {
  background-color: #0c66a0;
}

.section.set2_bg {
  background-color: #fff;
}

.section.set3_bg {
  background-color: #f1f1f1;
}

/* style */
.fw {
  font-weight: bold;
}

.m_h1 {
  color: #fff;
  text-align: center;
  font-size: 36px;
  padding-top: 25px;
  padding-bottom: 25px;
  line-height: 1.2;
  background-color: #0c66ac;
}

.model_title {
  font-size: 30px;
  padding: 5px 0 24px;
}

.introduce_text {
  text-align: center;
  font-size: 28px;
  line-height: 1.2;
}

.flex_item_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 0%;
  padding: 15px 25px 30px;
}

.flex_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex_left,
.flex_right {
  width: 465px;
  text-align: center;
}

.m_h2 {
  font-size: 46px;
  font-weight: bold;
  text-align: center;
  margin: 15px 0 30px;
}

.m_h3{
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;
}

.flex_column {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.flex_column .item {
  width: calc(50% - 20px);
  box-shadow: 0 2px 10px -2px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}

.flex_item_inner {
  background-color: #fff;

}

.flex_item_inner_under {
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  gap: 0 30px;
}
.flex_item_inner_under .inner_right span {
  text-align: center;
  margin-bottom: 0;
}
.flex_title {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #0c66ac;
  text-align: center;
  margin: 0;
  padding: 15px 10px 15px;
}

.inner_left {
  flex: 1;
}

.flex_list {
  list-style: disc;
  padding-left: 20px;
}

.flex_list li {
  font-size: 16px;
}

.flex_list li + li{
  margin-top: 5px;
}

.flex_bottom {
  margin: 20px 0 0;
}

.item h3 {
  line-height: 1.5;
}

.section {
  margin-bottom: 0;
}

#footer {
  margin-top: 0;
}

html[lang="ja"] .lp-buttonConversion:link,
html[lang="ja"] .lp-buttonConversion:visited {
  color: #fff;
}

.lp-buttonConversion {
  display: inline-block;
  max-width: 100%;
  background: #e60012;
  color: #fff;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.lp-buttonConversion-text {
  margin-right: 16px;
}


.lp-buttonConversion-body {
  display: flex;
  align-items: center;
  padding: 12px 8px 12px 24px;
  font-size: 18px;
}

.lp-buttonConversion {
  display: inline-block;
  max-width: 100%;
  background: #e60012;
  color: #fff;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}

.lp-buttonConversion-image {
  margin: -22px 0;
  border: 1px solid #ccc;
}


.lp-buttonConversion-body {
  position: relative;
  padding-left: 53px;
}

.lp-buttonConversion-body::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 24px;
  width: 19px;
  height: 18px;
  transform: translateY(-50%);
  content: "";
}

.lp-buttonConversion-body::before {
  background: url(/img/landing_page/common/icon_btn_dl.png) no-repeat center center;
  background-size: 22px auto;
}

#main p {
  margin-top: 0;
}

.flex_list .flex_item3_set {
  margin-bottom: 33px;
}

#LoginForm{
  display: none;
}

@media screen and (max-width:970px) {
  .flex_item_inner_under{
    flex-direction: column;
    gap: 10px 0;
  }

  .section_inner {
    width: 100%;
    padding: 15px 15px 56px;
  }
}

@media screen and (max-width:767px) {
  .pc-view {
    display: none;
  }

  .sp-view {
    display: block;
  }

  .m_h1 {
    font-size: 24px;
  }

  .m_h2 {
    font-size: 26px;
    margin: 5px 0 15px;
  }

  .m_h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .flex_column {
    flex-direction: column;
    gap: 20px 0;
  }

  .flex_list li {
    font-size: 16px;
  }

  .introduce_text {
    font-size: 18px;
    margin-bottom: 5px;
  }

  .flex_title {
    font-size: 18px;
  }

  .lp-buttonConversion-text {
    font-size: 18px;
  }

  .flex_column .item{
    width: 100%;
  }
}