@charset "utf-8";

section {
  margin-top: 76px;
}

br.hidden_desktop,
span.hidden_desktop {
  display: none;
}

@media screen and (max-width: 1024px) {

  br.hidden_desktop,
  span.hidden_desktop {
    display: inline;
  }
}

br.hidden_pc,
span.hidden_pc {
  display: none;
}

@media screen and (max-width: 720px) {

  br.hidden_pc,
  span.hidden_pc {
    display: inline;
  }
}

br.hidden_tab,
span.hidden_tab {
  display: none;
}

@media screen and (max-width: 480px) {

  br.hidden_tab,
  span.hidden_tab {
    display: inline;
  }
}

@media screen and (max-width: 720px) {

  br.hidden_mobile,
  span.hidden_mobile {
    display: none;
  }
}

@media screen and (max-width: 480px) {

  br.hidden_sp,
  span.hidden_sp {
    display: none;
  }
}

@media screen and (max-width: 720px) {
  .img_block {
    text-align: center !important;
    margin-top: 24px;
  }

  .img_block img {
    max-width: 100%;
  }

  .left_img {
    text-align: left !important;
  }

  .left_img img {
    max-width: 100%;
  }

  .right_img {
    text-align: right !important;
  }

  .right_img img {
    max-width: 100%;
  }

  .mobile_moveto_lower {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -o-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
}

.service_first {
  position: relative;
}

@media screen and (max-width: 720px) {
  .service_first {
    margin-top: 0;
  }
}

@media screen and (max-width: 480px) {
  .service_first {
    padding-top: 36px;
  }
}

.service_toiawase_first {
  position: relative;
  padding-top: 48px;
}

@media screen and (max-width: 720px) {
  .service_toiawase_first {
    margin-top: 0;
  }
}

@media screen and (max-width: 480px) {
  .service_toiawase_first {
    padding-top: 36px;
  }
}

.service_first_title {
  padding-top: 70px;
  margin-bottom: 56px;
  font-size: 40px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 720px) {
  .service_first_title {
    padding-top: 72px;
  }
}

@media screen and (max-width: 640px) {
  .service_first_title {
    font-size: calc(5vw + 8px);
  }
}

.service_recommend_list {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 87.5%;
  max-width: 796px;
  margin: auto;
  margin-top: 24px;
  margin-bottom: 48px;
}

.service_recommend_item {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  height: 136px;
  margin-bottom: 24px;
}

@media screen and (max-width: 720px) {
  .service_recommend_item {
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
  }
}

.service_recommend_left {
  width: 398px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #0050a0;
  position: relative;
}

.service_recommend_left:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  width: 0;
  height: 0;
  border-left: solid 68px #0050a0;
  border-top: solid 68px transparent;
  border-bottom: solid 68px transparent;
}

@media screen and (max-width: 720px) {
  .service_recommend_left {
    width: 100%;
    height: 136px;
  }

  .service_recommend_left:after {
    top: 100%;
    left: calc(50% - 24px);
    border-top: solid 24px #0050a0;
    border-left: solid 24px transparent;
    border-right: solid 24px transparent;
    border-bottom: none;
  }
}

.service_recommend_outline {
  color: #fff;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .service_recommend_outline {
    left: 16px;
    font-size: calc(1.5625vw + 16px);
  }
}

.service_recommend_border {
  width: 68px;
  background-color: #ebf0f5;
}

.service_recommend_right {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #ebf0f5;
  width: 330px;
}

@media screen and (max-width: 720px) {
  .service_recommend_right {
    width: 100%;
    height: 104px;
  }
}

@media screen and (max-width: 480px) {
  .service_recommend_right.mobile_high {
    height: 136px;
  }
}

.service_recommend_modify_brackets {
  text-indent: -0.5em;
}

.ads_stop {
  color: #ff3c19;
  text-align: center;
  margin-bottom: 15px;
}

.service_large_text {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.service_large_text.left_text {
  text-align: left;
}

.service_large_text.right_text {
  text-align: right;
}

@media screen and (max-width: 480px) {
  .service_large_text {
    font-size: calc(3.75vw + 6px);
    letter-spacing: calc(0.3125vw - 1.5px);
  }
}

.service_x_large_text {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .service_x_large_text {
    font-size: calc(5vw + 8px);
    letter-spacing: calc(0.3125vw - 1.5px);
  }
}

.service_content {
  margin-top: 40px;
}

.service_contact_message>* {
  width: 100%;
}

.service_contact_message.service_contact_flex_center {
  height: 178px;
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.service_description_block p:first-of-type {
  margin-top: 1em;
}

.service_description_block p:first-child {
  margin-top: -0.375em;
}

.service_description_block p:not(:first-of-type) {
  margin-top: 1.75em;
}

.service_action {
  text-align: center;
  position: relative;
  height: 48px;
  margin-bottom: 40px;
}

.service_action:before {
  content: "";
  display: block;
  border-top: solid 1px #96b4e1;
  height: 1px;
  position: absolute;
  top: 50%;
  left: calc(50% - 480px);
  right: calc(50% - 480px);
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .service_action:before {
    left: 6.25vw;
    right: 6.25vw;
  }
}

.service_action_number {
  display: inline-block;
  background-color: #fff;
  padding: 0 32px;
  position: relative;
  font-size: 64px;
  font-family: 'Montserrat', sans-serif;
  color: #96b4e1;
  line-height: 48px;
  z-index: 2;
}

.service_action_description {
  margin-top: 16px;
  margin-bottom: 64px;
}

.service_plan_price {
  background-color: #0050a0;
  color: #fff;
  padding-bottom: 40px;
}

.service_plan_catch {
  font-size: 48px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  padding-top: 36px;
}

@media screen and (max-width: 480px) {
  .service_plan_catch {
    font-size: 10vw;
  }
}

.price_description {
  text-align: center;
  padding-top: 36px;
}

.price_description span {
  display: inline-block;
}

.price_normal {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .price_normal {
    font-size: calc(3.75vw + 8px);
  }
}

.price_large {
  font-size: 48px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 4px;
}

@media screen and (max-width: 640px) {
  .price_large {
    font-size: 7.5vw;
  }
}

.price_digit {
  font-family: 'Montserrat', sans-serif;
  font-size: 88px;
  font-weight: 700;
  line-height: 0.8;
  margin: 24px 4px 20px 8px;
}

@media screen and (max-width: 640px) {
  .price_digit {
    font-size: 13.75vw;
    margin: calc(5vw - 8px) calc(1.875vw - 4px) calc(3.75vw - 4px) calc(6.25vw - 16px);
  }
}

.price_caption {
  margin-top: 18px;
}

@media screen and (max-width: 640px) {
  .price_caption {
    font-size: 12px;
  }

  .price_caption br {
    line-height: 1;
  }
}

.price_upper {
  position: relative;
  top: -8px;
}

@media screen and (max-width: 640px) {
  .price_upper {
    top: calc(4px - 1.875vw);
  }
}

.price_main {
  display: inline-block;
  margin-top: 16px;
}

.price_table {
  background-color: #fff;
  width: calc(100% - 40px);
  max-width: 960px;
  margin: 32px auto 40px;
}

@media screen and (max-width: 640px) {
  .price_table {
    margin: 24px auto;
  }
}

.price_table th,
.price_table td {
  border: solid 2px #0050a0;
  font-size: 24px;
  font-weight: bold;
  vertical-align: middle;
  line-height: 1.25;
}

@media screen and (max-width: 640px) {
  .price_table td {
    font-size: 20px;
  }
}

@media screen and (max-width: 374px) {
  .price_table td {
    font-size: 18px;
  }
}

.price_table th {
  text-align: center;
}

.price_table td {
  text-align: left;
  padding: 0 16px;
}

.price_table td.center {
  text-align: center;
}

.price_table td.price_cell {
  padding: 0 12px 0 24px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {

  .price_table td.price_cell,
  .price_table td.pricetable_mobile_oneprice {
    padding-left: calc(6.25vw - 40px);
    padding-right: calc(1.5625vw - 4px);
    white-space: nowrap;
  }
}

@media screen and (max-width: 720px) {
  .price_table td {
    padding: 0;
  }
}

.price_table td .pricetable_cell_detail {
  line-height: 1.25;
}

.price_table thead th {
  background-color: #ebf0f5;
  height: 56px;
}

.price_table tbody td {
  height: 160px;
}

.price_table tbody td.double_height {
  height: 320px;
}

.price_table tbody td.low_height {
  height: 96px;
}

.pricetable_large {
  font-size: 64px;
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  line-height: 1;
}

@media screen and (max-width: 720px) {
  .pricetable_large {
    font-size: 56px;
  }
}

.pricetable_upper {
  position: relative;
  top: -4px;
}

@media screen and (max-width: 640px) {
  .pricetable_upper {
    top: -0.625vw;
  }

  .mobile_no_upper {
    top: 2px;
  }
}

.pricetable_tax {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}

@media screen and (max-width: 720px) {
  .pricetable_mobile_tax {
    line-height: 1;
    position: relative;
    top: -8px;
  }

  .pricetable_tax {
    font-size: 13px;
  }
}

.pricetable_caption {
  font-size: 16px;
  font-weight: normal;
}

.pricetable_comment {
  font-weight: normal;
  position: relative;
  top: -24px;
}

@media screen and (max-width: 720px) {
  .pricetable_comment {
    top: -12px;
  }
}

.pricetable_planname {
  width: 154px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .pricetable_planname {
    width: 16%;
  }
}

.pricetable_plandetail {
  width: 370px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .pricetable_plandetail {
    width: 38.5%;
  }
}

.pricetable_introduction {
  width: 194px;
}

@media screen and (max-width: 720px) {
  .pricetable_introduction {
    width: 27.5%;
  }
}

.pricetable_price {
  width: 50%;
}

.service_plan_caption {
  font-size: 16px;
  margin-left: calc(50% - 480px);
}

@media screen and (max-width: 960px) {
  .service_plan_caption {
    margin-left: 6.25%;
    font-size: 14px;
  }
}

/*.pricetable_tw_caption {
  font-size: 16px;
  font-weight: normal;
  display: block;
  text-align: left;
}
@media screen and (max-width: 720px) {
  .pricetable_tw_caption {
    margin-left: 4%;
  }
}
@media screen and (max-width: 480px) {
  .pricetable_tw_caption {
    font-size: 12px;
    margin-left: 3%;
  }
}*/
.price_example {
  width: 87.5%;
  max-width: 960px;
  margin: auto;
  margin-bottom: 24px;
  overflow: hidden;
}

.price_example:first-of-type {
  margin-top: 40px;
}

.price_ex_box {
  zoom: 1;
  float: left;
  clear: none;
  text-align: inherit;
  width: 23.125%;
  margin-left: 0%;
  margin-right: 2.5%;
  color: #fff;
  border: solid 1px #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 128px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 24px;
  font-weight: bold;
  line-height: 30px;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: relative;
}

.price_ex_box:before,
.price_ex_box:after {
  content: "";
  display: table;
}

.price_ex_box:after {
  clear: both;
}

.price_ex_box:last-child {
  margin-right: 0%;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .price_ex_box {
    font-size: calc(1.5625vw + 8px);
  }
}

@media screen and (max-width: 720px) {
  .price_ex_box {
    width: 29%;
    margin-right: 4.2%;
    text-align: center;
    height: 160px;
  }
}

@media screen and (max-width: 640px) {
  .price_ex_box:not(.gray_box) {
    font-size: calc(3.125vw + 4px);
  }
}

.gray_box {
  border: solid 1px #ebf0f5;
  background-color: #ebf0f5;
}

.gray_box span {
  line-height: 1.5;
}

@media screen and (max-width: 720px) {
  .gray_box {
    width: 100%;
    height: 48px;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -o-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 8px;
  }
}

.price_ex_case {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
}

.price_ex_digit {
  font-size: 64px;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
  padding-right: 6px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .price_ex_digit {
    font-size: 6.25vw;
  }
}

@media screen and (max-width: 720px) {
  .price_ex_digit {
    padding-right: 0;
    position: relative;
    top: 4px;
  }
}

@media screen and (max-width: 640px) {
  .price_ex_digit {
    font-size: 10vw;
  }
}

.price_ex_plus:before {
  content: "＋";
  position: absolute;
  left: -25px;
  top: calc(50% - 0.5em);
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .price_ex_plus:before {
    left: calc(-1.953125vw - 5px);
    font-size: calc(1.5625vw + 8px);
  }
}

@media screen and (max-width: 720px) {
  .price_ex_plus {
    width: 33.5%;
  }
}

@media screen and (max-width: 640px) {
  .price_ex_plus:before {
    left: calc(-3.125vw - 4px);
    font-size: calc(3.125vw + 4px);
  }
}

.price_ex_equal:before {
  content: "＝";
  position: absolute;
  left: -25px;
  top: calc(50% - 0.5em);
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .price_ex_equal:before {
    left: calc(-1.953125vw - 5px);
    font-size: calc(1.5625vw + 8px);
  }
}

@media screen and (max-width: 640px) {
  .price_ex_equal:before {
    left: calc(-3.125vw - 4px);
    font-size: calc(3.125vw + 4px);
  }
}

@media screen and (max-width: 720px) {
  .mobile_block_table {
    background-color: #0050a0;
  }

  .mobile_block_table thead {
    display: none;
  }

  .mobile_block_table tbody tr {
    display: block;
    margin-bottom: 40px;
  }

  .mobile_block_table tbody tr.pricetable_mobile_rowspan,
  .mobile_block_table tbody tr:last-child {
    margin-bottom: 0;
  }

  .mobile_block_table tbody th,
  .mobile_block_table tbody td {
    display: block;
    width: 100%;
    height: auto;
    margin: auto;
    padding: 0;
    background-color: #fff;
    text-align: center;
  }

  .mobile_block_table tbody th:first-of-type {
    line-height: 1.75em;
    padding: calc(1em * 20 / 24) 0;
  }

  .mobile_block_table tbody td.double_height {
    height: auto;
  }

  .mobile_block_table tbody td.price_cell {
    padding: 0;
  }

  .mobile_block_table tbody td.price_cell .pricetable_cell_detail {
    width: 70%;
    white-space: nowrap;
  }

  .mobile_block_table tbody td.pricetable_mobile_oneprice {
    padding-bottom: 0.5em;
  }

  .mobile_block_table tbody td.pricetable_mobile_oneprice .price_main {
    margin-top: 1.25em;
  }

  .pricetable_cell_detail {
    display: inline-block;
    text-align: left;
    padding: calc(1em * 20 / 24) 0;
  }

  .pricetable_ask {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    height: 25vw;
    max-height: 160px;
  }
}

.pricetable_mobile_header {
  display: block;
  width: 100%;
  font-size: 24px;
  line-height: calc(1em * 56 / 24);
  border-bottom: solid 2px #0050a0;
  background-color: #ebf0f5;
}

@media screen and (min-width: 721px) {
  .pricetable_mobile_header {
    display: none;
  }
}

.liteplan_link_wrapper {
  text-align: center;
}

.liteplan_link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 498px;
  max-width: calc(100% - 40px);
  height: 64px;
  border-radius: 8px;
  background-color: #ff3c19;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.25;
  color: #ffffff;
  box-shadow: 0 3px 0 0 #d71400;
  transition: all .2s ease;
}

.liteplan_link:hover {
  color: #ffffff;
  background-color: #ff6441;
}

.liteplan_link:active {
  top: 3px;
  box-shadow: none;
}

.service_flow_list {
  width: 87.5%;
  max-width: 960px;
  margin: auto;
  margin-top: 12px;
}

.service_step_item {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  min-height: 167px;
  margin-bottom: 20px;
}

.service_step_item:not(:first-child) {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}

.service_step_item:not(:first-child).animated {
  opacity: 1;
  -ms-filter: none;
  filter: none;
}

.service_step_item:nth-child(2) {
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  -o-transition: opacity 0.3s linear;
  -ms-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}

.service_step_item:nth-child(3) {
  -webkit-transition: opacity 0.3s linear 0.3s;
  -moz-transition: opacity 0.3s linear 0.3s;
  -o-transition: opacity 0.3s linear 0.3s;
  -ms-transition: opacity 0.3s linear 0.3s;
  transition: opacity 0.3s linear 0.3s;
}

.service_step_item:nth-child(4) {
  -webkit-transition: opacity 0.3s linear 0.6s;
  -moz-transition: opacity 0.3s linear 0.6s;
  -o-transition: opacity 0.3s linear 0.6s;
  -ms-transition: opacity 0.3s linear 0.6s;
  transition: opacity 0.3s linear 0.6s;
}

.service_step_item:nth-child(5) {
  -webkit-transition: opacity 0.3s linear 0.9s;
  -moz-transition: opacity 0.3s linear 0.9s;
  -o-transition: opacity 0.3s linear 0.9s;
  -ms-transition: opacity 0.3s linear 0.9s;
  transition: opacity 0.3s linear 0.9s;
}

.service_step_item:nth-child(6) {
  -webkit-transition: opacity 0.3s linear 1.2s;
  -moz-transition: opacity 0.3s linear 1.2s;
  -o-transition: opacity 0.3s linear 1.2s;
  -ms-transition: opacity 0.3s linear 1.2s;
  transition: opacity 0.3s linear 1.2s;
}

.service_step_item:nth-child(7) {
  -webkit-transition: opacity 0.3s linear 1.5s;
  -moz-transition: opacity 0.3s linear 1.5s;
  -o-transition: opacity 0.3s linear 1.5s;
  -ms-transition: opacity 0.3s linear 1.5s;
  transition: opacity 0.3s linear 1.5s;
}

.service_step_item:nth-child(8) {
  -webkit-transition: opacity 0.3s linear 1.8s;
  -moz-transition: opacity 0.3s linear 1.8s;
  -o-transition: opacity 0.3s linear 1.8s;
  -ms-transition: opacity 0.3s linear 1.8s;
  transition: opacity 0.3s linear 1.8s;
}

.step_item_left {
  zoom: 1;
  float: left;
  clear: none;
  text-align: inherit;
  width: 48.75%;
  margin-left: 0%;
  margin-right: 0%;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #0050a0;
  position: relative;
  min-height: 167px;
}

.step_item_left:before,
.step_item_left:after {
  content: "";
  display: table;
}

.step_item_left:after {
  clear: both;
}

.step_item_left:last-child {
  margin-right: 0%;
}

.step_item_left * {
  color: #fff;
  position: relative;
  top: -4px;
}

.step_item_left:after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: calc(50% - 16px);
  width: 0;
  height: 0;
  border-top: solid 16px #0050a0;
  border-left: solid 16px transparent;
  border-right: solid 16px transparent;
}

.step_item_left.step_last:after {
  display: none;
}

.step_item_right {
  zoom: 1;
  float: left;
  clear: none;
  text-align: inherit;
  width: 51.24999999999999%;
  margin-left: 0%;
  margin-right: 0%;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  border: solid 1px #0050a0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 16px;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.step_item_right:before,
.step_item_right:after {
  content: "";
  display: table;
}

.step_item_right:after {
  clear: both;
}

.step_item_right:last-child {
  margin-right: 0%;
}

@media screen and (max-width: 480px) {
  .step_item_right {
    padding: 8px;
  }
}

.step_label,
.step_number {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
}

.step_number {
  font-size: 40px;
}

.step_title {
  font-size: 32px;
  font-weight: bold;
  padding-top: 8px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .step_title {
    font-size: calc(1.5625vw + 16px);
  }
}

@media screen and (max-width: 480px) {
  .step_title {
    font-size: calc(7.5vw - 4px);
  }
}

.step_option_hidden {
  display: none;
}

.step_option_label {
  padding-bottom: 20px;
}

@media screen and (max-width: 480px) {
  .step_option_label {
    font-size: calc(3.75vw + 16px);
  }
}

@media screen and (max-width: 480px) {
  .step_description {
    font-size: 14px;
  }
}

.service_faq_list {
  width: 87.5%;
  max-width: 960px;
  margin: auto;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 720px) {
  .service_faq_list {
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    -o-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.faq_question {
  width: 50%;
  background-color: #0050a0;
  color: #fff;
  margin-bottom: 24px;
  font-size: 24px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  z-index: 1;
  padding: 10px 0;
  min-height: 112px;
}

.faq_question:before {
  font-size: 112px;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  position: absolute;
  width: 90px;
  height: 1em;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "Q";
  color: rgba(0, 120, 200, 0.5);
  top: -12px;
}

@media screen and (min-width: 721px) and (max-width: 1024px) {
  .faq_question {
    font-size: calc(1.953125vw + 4px);
  }
}

@media screen and (max-width: 720px) {
  .faq_question {
    width: 100%;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 480px) {
  .faq_question {
    font-size: calc(3.75vw + 6px);
    letter-spacing: calc(0.3125vw - 1.5px);
  }
}

.faq_answer {
  width: 50%;
  background-color: #ebf0f5;
  margin-bottom: 24px;
  padding: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.faq_answer:before {
  content: "A";
  font-size: 112px;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  position: absolute;
  width: 90px;
  height: 1em;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
}

@media screen and (max-width: 720px) {
  .faq_answer {
    width: 100%;
    min-height: calc(5.25em + 32px);
  }
}

form textarea,
form input {
  padding-left: 8px;
  padding-right: 8px;
}

form input::placeholder {
  color: #c8cdd2;
}

form input[type=radio],
form input[type=checkbox] {
  width: 24px;
  height: 24px;
  margin: 1px 4px 0 0;
  vertical-align: bottom;
}

.service_contact_message {
  height: 208px;
  background-color: #0050a0;
  text-align: center;
}

.service_contact_message * {
  color: #fff;
}

@media screen and (max-width: 720px) {
  .service_contact_message {
    height: auto;
  }
}

.service_contact_message_main {
  line-height: 1;
  padding: 20px 0 5px 0;
}

@media screen and (max-width: 640px) {
  .service_contact_message_main {
    font-size: calc(3.75vw + 8px);
    padding-top: calc(3.75vw - 4px);
  }
}

.service_contact_message_main.not_ad {
  line-height: 1.5;
  padding: 20px 0 4px 0;
}

.service_contact_freedial {
  font-size: 72px;
  line-height: 1;
}

@media screen and (max-width: 640px) {
  .service_contact_freedial {
    font-size: 11.25vw;
  }
}

.service_contact_phonenumber {
  font-size: 72px;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

@media screen and (max-width: 640px) {
  .service_contact_phonenumber {
    font-size: 11.25vw;
  }
}

.service_contact_bizhour {
  line-height: 1;
  padding: 10px 0 11px 0;
  font-size: 24px;
  letter-spacing: 2.4px;
}

@media screen and (max-width: 640px) {
  .service_contact_bizhour {
    font-size: calc(2.5vw + 8px);
  }
}

.service_contact_bizhour.not_ad {
  padding: 0;
  line-height: 1.75;
}

.service_contact_caution {
  line-height: 1;
  padding-bottom: 20px;
  font-size: 14px;
}

.service_contact_caution br {
  line-height: 1;
}

.service_contact_caution br:first-of-type {
  display: none;
}

@media screen and (max-width: 420px) {
  .service_contact_caution br:first-of-type {
    display: inline;
  }
}

@media screen and (max-width: 480px) {
  .service_contact_caution {
    line-height: 1.5;
  }
}

.service_contact_description {
  width: 87.5%;
  max-width: 468px;
  margin: 16px auto 34px;
  text-align: center;
}

@media screen and (max-width: 720px) {
  .service_contact_description {
    text-align: left;
  }
}

.content .form-area.kairos_script {
  width: 87.5%;
  max-width: 632px;
  margin: 48px auto 24px;
}

.service_contact_form {
  width: 87.5%;
  max-width: 632px;
  margin: 0 auto 24px;
  background-color: #ebf0f5;
}

.service_contact_form dt,
.service_contact_form dd {
  padding-left: 32px;
  padding-right: 32px;
}

.oninput {
  line-height: 1;
}

.request_text {
  font-weight: normal;
  margin-bottom: 16px;
}

.request_text_small {
  display: block;
  margin: 8px 0;
  font-size: 12px;
  font-weight: normal;
  color: #969ba0;
}

.request_text_after {
  padding-left: 32px;
  line-height: 1;
  margin: 0 0 8px;
}

@media screen and (max-width: 720px) {
  .request_text_small {
    line-height: 1.25;
  }
}

@media screen and (max-width: 640px) {

  .service_contact_form dt,
  .service_contact_form dd,
  .request_text_after {
    padding-left: calc(100% * 32 / 560);
    padding-right: calc(100% * 32 / 560);
  }
}

.service_contact_form dt {
  padding-top: 16px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 8px;
}

.service_contact_form dt.need:after {
  content: "［必須］";
  color: #ff3c19;
}

.service_contact_form .radio-ttl {
  margin-bottom: 16px;
}

.service_contact_form .checkbox-ttl {
  margin-bottom: 16px;
}

@media screen and (max-width: 720px) {
  .service_contact_form .radio-ttl {
    margin-bottom: 24px;
  }

  .service_contact_form .checkbox-ttl {
    margin-bottom: 24px;
  }
}

.service_contact_form dd {
  padding-bottom: 16px;
  border-bottom: solid 1px #fff;
}

.service_contact_form dd.service_contact_privacy {
  padding: 16px 0;
}

/*** access.html */
.service_contact_form .access_radio label:nth-child(1) {
  margin-bottom: 24px;
}

/* access.html ***/
.service_contact_form dd.no_border {
  border-bottom: none;
}

/*** toiawase.html */
.form-navigation {
  margin-bottom: 30px;
  width: 87.5%;
  max-width: 632px;
  margin: 48px auto 24px;
  font-size: 16px;
}

.form-navigation a {
  color: #0050a0;
}

.service_contact_form .toiawase_kind_box {
  justify-content: flex-start;
}

.service_contact_form .toiawase_kind_box .toiawase_kind:nth-child(1) {
  margin-right: 85px;
}

.service_contact_form .toiawase_kind_box .toiawase_kind:nth-child(3) {
  margin-right: 66px;
}

.service_contact_form .toiawase_kind_box .toiawase_kind:nth-child(1),
.service_contact_form .toiawase_kind_box .toiawase_kind:nth-child(2) {
  margin-bottom: 24px;
}

.service_contact_form .budget_box .budget:nth-child(5) {
  margin-right: 117px;
}

/* toiawase.html ***/

/*** ご予算 */
.service_contact_form .budget_box {
  justify-content: flex-start;
}

.service_contact_form .budget_box .budget {
  margin-right: 24px;
}

.service_contact_form .budget_box .budget:first-child {
  margin-right: 139px;
}

.service_contact_form .budget_box .budget:not(:last-child) {
  margin-bottom: 24px;
}

/* ご予算 ***/
.service_contact_form .situation_box {
  justify-content: flex-start;
}

.service_contact_form .situation_box .situation {
  width: 228px;
}

.service_contact_form .situation_box .situation {
  width: 228px;
}

.service_contact_form .situation_box .situation:nth-child(1),
.service_contact_form .situation_box .situation:nth-child(2) {
  margin-bottom: 24px;
}

@media screen and (max-width: 720px) {

  .service_contact_form .situation_box .situation:nth-child(1),
  .service_contact_form .situation_box .situation:nth-child(2) {
    margin-bottom: 20px;
  }
}

.service_contact_form .preferred_box {
  justify-content: flex-start;
}

.service_contact_form .preferred_box .preferred {
  margin-right: 24px;
}

.service_contact_form .preferred_box .preferred:nth-child(1),
.service_contact_form .preferred_box .preferred:nth-child(2),
.service_contact_form .preferred_box .preferred:nth-child(3) {
  margin-bottom: 24px;
}

/*** /service/startup.html */
.service_contact_form .preferred_box.startup .preferred:nth-child(1),
.service_contact_form .preferred_box.startup .preferred:nth-child(2),
.service_contact_form .preferred_box.startup .preferred:nth-child(3) {
  margin-bottom: 0;
}

/* /service/startup.html ***/

/*** /service/website.html */
.service_contact_form .deadline_box {
  justify-content: flex-start;
}

.service_contact_form .deadline_box .deadline {
  margin-right: 24px;
}

/* /service/website.html ***/

/*** /service/startup/amazon.html */
.service_contact_form .sell_box {
  justify-content: flex-start;
}

.service_contact_form .sell_box .sell:nth-child(1),
.service_contact_form .sell_box .sell:nth-child(2),
.service_contact_form .sell_box .sell:nth-child(3) {
  margin-bottom: 24px;
}

.service_contact_form .situation_box_startup_amazon {
  justify-content: flex-start;
}

.service_contact_form .situation_box_startup_amazon .situation:nth-child(1),
.service_contact_form .situation_box_startup_amazon .situation:nth-child(2) {
  margin-bottom: 24px;
}

@media screen and (max-width: 720px) {

  .service_contact_form .sell_box .sell:not(:last-child),
  .service_contact_form .situation_box_startup_amazon .situation:not(:last-child) {
    margin-bottom: 20px;
  }
}

/* /service/startup/amazon.html ***/

/*** /service/startup/partners.html */
.service_contact_form .status_box .status:not(:last-child) {
  margin-bottom: 24px;
}

@media screen and (max-width: 720px) {
  .service_contact_form .status_box .status:not(:last-child) {
    margin-bottom: 20px;
  }
}

/* /service/startup/partners.html ***/

/*** /service/startup/video.html */
.service_contact_form .situation_box_startup_video {
  justify-content: flex-start;
}

.service_contact_form .situation_box_startup_video .situation:nth-child(1),
.service_contact_form .situation_box_startup_video .situation:nth-child(2) {
  margin-bottom: 24px;
}

@media screen and (max-width: 720px) {
  .service_contact_form .situation_box_startup_video .situation:not(:last-child) {
    margin-bottom: 20px;
  }
}

/* /service/startup/video.html ***/

@media screen and (max-width: 720px) {

  .service_contact_form .preferred_box .preferred:nth-child(1),
  .service_contact_form .preferred_box .preferred:nth-child(2),
  .service_contact_form .preferred_box .preferred:nth-child(3) {
    margin-bottom: 20px;
  }
}

.service_contact_form dd label.error {
  color: #ff3c19;
}

.service_contact_input {
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  border: solid 1px #c8cdd2;
}

textarea.service_contact_input {
  height: 112px;
}

.radius {
  border-radius: 4px;
}

.service_contact_radio {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.flex_wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.service_contact_radio span {
  vertical-align: -2px;
}

.service_contact_select {
  position: relative;
}

.service_contact_form .form_content {
  display: flex;
}

.service_contact_form .service_contact_name {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 720px) {
  .service_contact_form .service_contact_name {
    width: 100%;
  }

  .service_contact_form .service_contact_name:nth-child(1) {
    margin-right: 7px;
  }
}

.service_contact_form .service_contact_name .service_contact_first_name,
.service_contact_form .service_contact_name .service_contact_last_name {
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 4px;
}

.service_contact_form .service_contact_name input {
  width: 100%;
  max-width: 160px;
}

.service_contact_form .service_contact_name .f_item_name_last {
  margin-right: 8px;
}

@media screen and (min-width: 721px) {
  .service_contact_select {
    display: none;
  }
}

@media screen and (max-width: 720px) {
  .service_contact_radio {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .service_contact_radio label:not(:last-child) {
    margin-bottom: 20px;
  }

  /*** /service/startup.html */
  .service_contact_form .preferred_box.startup .preferred:nth-child(1),
  .service_contact_form .preferred_box.startup .preferred:nth-child(2) {
    margin-bottom: 20px;
  }

  .service_contact_form .preferred_box.startup .preferred:nth-child(3) {
    margin-bottom: 0;
  }

  /* /service/startup.html ***/
}

.service_contact_select select {
  width: calc(100% + 4px);
  background-color: #fff;
  border: none;
  -webkit-box-shadow: 0 2px 0 #c8cdd2;
  box-shadow: 0 2px 0 #c8cdd2;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  height: 40px;
  position: relative;
  text-indent: 12px;
  -webkit-appearance: none;
}

.service_contact_select:after {
  content: "\25bc";
  position: absolute;
  top: 9px;
  right: calc(5vw + 8px);
  pointer-events: none;
}

.js_select_close {
  display: none;
}

.js_select_open {
  display: inherit;
}

@media screen and (min-width: 721px) {
  .service_contact_select.genre_selectbox {
    display: block;
  }

  .service_contact_select.genre_selectbox .select_others {
    margin-top: 5px;
  }

  .service_contact_select:after {
    right: 36px;
  }
}

.service_contact_label_rightspace {
  margin-right: 28px;
}

.service_contact_privacy {
  text-align: center;
}

.service_contact_privacy_link {
  color: #0050a0;
}

.service_contact_privacy_link:hover {
  color: #0078c8;
}

.service_submit {
  padding: 0;
  border: none;
  -webkit-appearance: none;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  cursor: pointer;
}

.service_submit.disabled {
  background-color: #c8cdd2;
  -webkit-box-shadow: none;
  box-shadow: none;
  position: relative;
  top: 3px;
  cursor: default;
}

.norton {
  margin: 32px auto 0;
  padding-bottom: 88px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}

.norton br {
  line-height: 1;
}

.ssl {
  margin: 32px auto 0;
  padding-bottom: 15px;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}

.isms {
  margin: 32px auto 0;
  padding-bottom: 55px;
  text-align: center;
}

.isms_b {
  margin: 32px auto 0;
  padding-bottom: 100px;
  text-align: center;
}

.flex_ismsbox {
  margin-top: 15px;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex_ismsbox img {
  width: 150px;
}

.flex_ismsbox p {
  width: 440px;
  text-align: left;
  margin-left: 15px;
  line-height: 1.5;
}

.isim_small {
  font-size: 11px;
}

.pc_none {
  display: none;
}

@media screen and (max-width: 720px) {
  .service_submit {
    line-height: 1.25;
  }

  .ssl {
    margin: 32px 20px 0;
  }

  .ssl p {
    text-align: left;
  }

  .isms {
    margin: 32px 20px 0;
  }

  .isms_b {
    margin: 32px 20px 0;
  }

}

/*mail-magazine.html*/
#mail-magazine #scustname1-error,
#mail-magazine #scustname2-error,
#mail-magazine #scustname3-error,
#mail-magazine #scustname4-error {
  width: 172px;
  display: inline-block;
}

@media screen and (max-width: 720px) {

  #mail-magazine #scustname1-error,
  #mail-magazine #scustname2-error,
  #mail-magazine #scustname3-error,
  #mail-magazine #scustname4-error {
    width: 100%;
  }

  .flex_ismsbox p {
    width: 335px;
    text-align: left;
    margin: auto;
    font-size: 14px;
    line-height: 1.5;
  }

  .flex_ismsbox {
    display: block;
    margin: 10px auto 10px;

  }

  .pc_none {
    display: block;
  }

  /* ReCaptchaエラー表示 */
  .recaptchaError {
    display: none;
  }

  .errMsg {
    color: #ff3c19;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 75px;
  }

  .visible {
    display: block !important;
  }

}