@charset "UTF-8";
/* ----- 全体にかかるCSS ----- */
* {
  box-sizing: border-box; }

main {
  overflow-x: hidden; }

.uk-grid > * {
  padding: none; }

h1,
h2,
h3 {
  line-height: 1.5em;
  letter-spacing: .1em; }

li,
p {
  font-size: 14px;
  line-height: 1.8em;
  letter-spacing: .1em; }

section {
  padding: 80px 0; }

h2 {
  margin-bottom: 45px; }

h3 {
  margin-bottom: 30px; }

p {
  text-align: justify; }

a {
  text-decoration: none; }

a:hover {
  color: inherit;
  text-decoration: none; }

section h2 {
  font-size: 40px;
  font-weight: bold;
  text-align: center; }
  section h2 span {
    color: #1fbf48; }

section > div,
section > p,
#sec_idea .cont_strong {
  width: 90% !important;
  max-width: 1100px !important;
  margin: 0 auto; }

.br_sp {
  display: none !important; }

.flex_box {
  width: 100%;
  display: flex;
  justify-content: space-around; }

.card_wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto; }

.flex_box.card {
  align-items: center; }

.cont_wrap,
.img_wrap {
  width: 100%; }

/* font */
body {
  width: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  margin: 0 auto;
  color: #000; }

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
  font-family: "Segoe UI", Meiryo, sans-serif; }

.pc_blk {
  display: block; }

.sp_blk {
  display: none; }

/* 装飾 */
.h_Ldeco {
  font-size: 25px;
  font-weight: bold;
  display: flex;
  align-items: baseline; }

.h_Ldeco:before {
  content: "";
  width: 4px;
  height: 25px;
  display: inline-block;
  margin-right: .5em;
  background-color: #1fbf48;
  transform: translateY(0.15em); }

.cont_marker {
  line-height: 1.75em;
  padding-bottom: .25em;
  color: #1fbf48;
  border-bottom: 3px solid #fcee21; }

.bg_dot {
  margin: auto;
  background-color: #fff;
  background-image: radial-gradient(#a0e85c 10%, transparent 10%), radial-gradient(#a0e85c 10%, transparent 10%);
  background-position: 0 0, 7px 7px;
  background-size: 14px 14px; }

#sec_feature .card,
#sec_idea .reason .card,
#sec_service .card,
#sec_trouble .card,
#sec_idea .solution,
#sec_price .card {
  border-radius: 15px; }

.grad_box:nth-of-type(odd) {
  border-radius: 0px 15px 15px  0px; }

.grad_box:nth-of-type(even) {
  border-radius: 15px  0px  0px 15px; }

/* ボタン */
.btn {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  border-radius: 50px !important;
  color: #fff;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s; }
  .btn div {
    padding: 25px 45px;
    border-radius: 50px !important;
    background-color: #1fbf48; }
    .btn div i {
      padding-left: 1em; }

.btn:hover {
  color: #fff;
  text-decoration: none;
  transform: translate(3px, 3px); }

.btn.pc {
  display: inline-block; }

.btn.sp {
  display: none; }
  .btn.sp div {
    padding: 25px 35px; }

/* トップへ戻る */
#page_top {
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  position: fixed;
  right: 5%;
  bottom: 30px;
  z-index: 1000; }
  #page_top i {
    font-size: 50px;
    border-radius: 50px;
    color: #1fbf48; }

/* ----- basic ----- */
/* header */
/* SP */
header {
  h1-font-size: 20px;
  h1-lihe-height: 1.5em; }

header {
  z-index: 1000;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1); }

header input {
  display: none; }

header li {
  font-weight: bold; }

header .menu_content li {
  padding-right: 0; }

header .flex_box {
  max-width: 1290px;
  margin: 0 auto; }

.menu-btn {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  height: 50px;
  width: 50px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #1fbf48; }

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute; }

.menu-btn span:before {
  bottom: 8px; }

.menu-btn span:after {
  top: 8px; }

/* header_menu:active */
#menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/ }

#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg); }

#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg); }

/* header_menu:dropDown */
.menu-content {
  width: 100%;
  height: auto !important;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  background-color: #fff;
  padding-bottom: 25px; }

.menu-content ul {
  padding: 70px 10px 0; }

.menu-content ul li {
  font-size: 14px;
  text-align: center;
  list-style: none;
  padding-right: 0; }

.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 16px;
  box-sizing: border-box;
  color: #000;
  text-decoration: none;
  padding: 9px 15px 10px;
  position: relative; }

.menu-content ul li:last-of-type {
  margin-top: 20px; }

.menu-content ul li:last-of-type a {
  width: auto;
  display: inline-block;
  color: #fff;
  padding: 0; }

.menu_content .btn {
  padding: 20px; }

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  right: 11px;
  top: 16px; }

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 80;
  background-color: #fff;
  transition: all 0.3s;
  /*アニメーション設定*/ }

#menu-btn-check:checked ~ .menu-content {
  top: 0;
  /*メニューを画面内へ*/
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1); }

/* PC */
header {
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  transition: all 0.3s; }
  header .flex_box {
    width: 100%;
    height: 100%;
    align-items: center;
    padding: 0 20px;
    justify-content: space-around; }
  header .flex_box.pc_blk {
    display: flex; }
  header .flex_box.sp_blk {
    display: none; }
  header .logo_wrap {
    width: 100%;
    max-width: 220px;
    height: 40px; }
    header .logo_wrap img {
      height: 40px; }
  header ul {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    header ul li {
      padding-right: 30px; }
    header ul li:last-of-type {
      padding-right: 0; }
  header .pc_blk .btn div {
    padding: 10px 25px; }

header.smaller {
  height: 80px;
  transition: all 0.3s; }

/* main visual */
#mv {
  width: 90%;
  height: 100vh;
  max-width: 1090px;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0 auto;
  justify-content: center; }
  #mv .cont_wrap {
    width: 100%;
    max-width: 480px;
    margin-right: 30px; }
    #mv .cont_wrap img {
      width: 100%;
      max-width: 450px;
      padding-bottom: 30px; }
    #mv .cont_wrap h1 {
      font-size: 25px;
      font-weight: bold;
      text-align: left;
      color: #1fbf48;
      margin-bottom: 30px; }
    #mv .cont_wrap p {
      font-size: 14px;
      letter-spacing: .1em;
      margin-bottom: 45px; }
  #mv .img_wrap {
    max-width: 650px; }

/*　お困りではありませんか */
#sec_trouble .card_wrap {
  flex-wrap: nowrap;
  justify-contnet: space-between;
  margin-bottom: 60px; }
  #sec_trouble .card_wrap > div:nth-of-type(2) {
    margin: 0 45px; }
  #sec_trouble .card_wrap .card {
    width: 100%;
    max-width: 335px;
    text-align: center;
    padding: 30px;
    padding-top: 0;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
    background-color: #fff; }
    #sec_trouble .card_wrap .card img {
      width: 100%;
      height: 290px; }
    #sec_trouble .card_wrap .card p {
      font-size: 18px;
      font-weight: bold;
      letter-spacing: 0em;
      text-align: center;
      margin-bottom: 0; }
#sec_trouble > p {
  max-width: 1100px;
  font-size: 14px;
  line-height: 1.8em;
  letter-spacing: .25em;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 45px; }
#sec_trouble .cont_strong {
  font-size: 40px;
  font-weight: bold;
  color: #1fbf48;
  margin-bottom: 0;
  letter-spacing: 0.1em; }

/* BSPの特徴 */
#sec_feature {
  overflow-y: hidden;
  background-color: #fff; }
  #sec_feature .grad_wrap {
    width: 100% !important;
    height: 0;
    max-width: inherit !important;
    position: relative; }
  #sec_feature .grad_wrap div:first-of-type {
    top: 0;
    left: 0; }
  #sec_feature .grad_wrap div:nth-of-type(2) {
    top: 500px;
    right: 0; }
  #sec_feature .grad_wrap div:nth-of-type(3) {
    top: 1000px;
    left: 0; }
  #sec_feature .grad_box {
    width: 60% !important;
    height: 420px;
    display: block;
    position: absolute;
    background: linear-gradient(50deg, #75de84 0%, #b4fc79 100%);
    z-index: 0; }
  #sec_feature .card_wrap {
    width: 100%;
    max-width: 1100px;
    position: relative;
    margin-top: 125px; }
    #sec_feature .card_wrap .card {
      margin-bottom: 60px;
      padding: 45px;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
      background-color: #fff; }
      #sec_feature .card_wrap .card .img_wrap {
        width: 100%;
        max-width: 420px; }
      #sec_feature .card_wrap .card li,
      #sec_feature .card_wrap .card p {
        letter-spacing: .1em; }
      #sec_feature .card_wrap .card ul {
        margin-bottom: 30px; }
      #sec_feature .card_wrap .card li {
        text-indent: -1em;
        padding-left: 1em; }
      #sec_feature .card_wrap .card li:before {
        content: "・"; }
    #sec_feature .card_wrap > div:first-of-type p {
      margin-bottom: 30px; }
    #sec_feature .card_wrap > div:first-of-type p:last-of-type {
      margin-bottom: 0; }
    #sec_feature .card_wrap > div:nth-of-type(odd) .cont_wrap {
      padding-right: 0; }
    #sec_feature .card_wrap > div:nth-of-type(odd) .img_wrap {
      padding-right: 45px; }
    #sec_feature .card_wrap > div:nth-of-type(even) {
      flex-direction: row-reverse; }
      #sec_feature .card_wrap > div:nth-of-type(even) .cont_wrap {
        padding-right: 45px; }
    #sec_feature .card_wrap > div:last-of-type {
      margin-bottom: 45px; }
  #sec_feature > p {
    max-width: 1100px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
    position: relative; }
  #sec_feature .cont_strong {
    font-size: 25px;
    font-weight: bold;
    color: #1fbf48;
    margin-bottom: 30px; }
  #sec_feature .specially_cont {
    line-height: 2em; }

/* BSPの理念 */
#sec_idea {
  background-color: #eeffe7; }
  #sec_idea h2 + p {
    max-width: 1100px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 45px; }
    #sec_idea h2 + p .cont_marker {
      font-size: 25px; }
  #sec_idea .reason {
    max-width: 1100px;
    margin: 0 auto;
    margin-bottom: 30px; }
    #sec_idea .reason > div:first-of-type {
      margin-right: 45px; }
    #sec_idea .reason .card {
      width: 100%;
      font-weight: bold;
      padding: 30px;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
      background-color: #fff; }
      #sec_idea .reason .card img {
        margin-bottom: 30px; }
      #sec_idea .reason .card h3 {
        font-size: 25px;
        text-align: center;
        color: #1fbf48; }
      #sec_idea .reason .card h3 + p {
        text-align: center; }
  #sec_idea .reason + p {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 80px; }
    #sec_idea .reason + p .cont_marker {
      font-size: 25px; }
  #sec_idea .solution {
    width: 85%;
    max-width: 1100px !important;
    text-align: center;
    padding: 60px 0;
    background-color: #fff; }
    #sec_idea .solution h3 {
      text-align: left;
      letter-spacing: .15em; }
      #sec_idea .solution h3 span.green {
        color: #1fbf48;
        display: contents; }
    #sec_idea .solution h3.Ldeco2 {
      align-items: inherit; }
    #sec_idea .solution h3.Ldeco2:before {
      height: 2.5em;
      transform: translateY(0.2em); }
    #sec_idea .solution p {
      text-align: justify; }
    #sec_idea .solution .flex_box {
      position: relative;
      padding-top: 100px;
      margin-top: -100px; }
    #sec_idea .solution .flex_box.card {
      width: 105%;
      position: relative;
      justify-content: center;
      margin-bottom: 60px;
      z-index: 1; }
    #sec_idea .solution .cont_wrap {
      width: 50% !important;
      position: relative;
      left: calc(100% - 74.5%); }
    #sec_idea .solution .img_wrap {
      position: absolute;
      left: calc(50% - 50vw);
      width: 50vw; }
    #sec_idea .solution .img_wrap img {
      width: 100vw;
      position: absolute;
      object-fit: cover;
      margin: 0 calc(50% - 50vw);
      height: 460px;
      height: min(460px, 45vw); }
    #sec_idea .solution .sol01 {
      left: -5.5%; }
      #sec_idea .solution .sol01 .cont_wrap {
        padding: 0 45px; }
      #sec_idea .solution .sol01 .img_wrap {
        width: 100.3vw;
        height: 0;
        transform: translateY(-90px); }
      #sec_idea .solution .sol01 img {
        width: 50vw;
        left: calc(100% - 100vw);
        border-radius: 0 40px 40px 0; }
    #sec_idea .solution .sol02 {
      left: 0.5%; }
      #sec_idea .solution .sol02 .cont_wrap {
        left: -26%;
        padding: 45px 45px 0; }
      #sec_idea .solution .sol02 .img_wrap {
        width: 99vw;
        padding: 45px 0 0; }
      #sec_idea .solution .sol02 img {
        width: 50vw;
        border-radius: 40px 0 0 40px; }
    #sec_idea .solution > div {
      align-items: unset; }
    #sec_idea .solution > div:nth-of-type(even) {
      flex-direction: row-reverse; }
    #sec_idea .solution h3 ~ p {
      font-size: 14px; }
    #sec_idea .solution .cont_strong {
      font-size: 25px;
      font-weight: bold;
      letter-spacing: .01em;
      text-align: center;
      padding-top: 45px;
      margin-bottom: 60px;
      color: #1fbf48; }

/* BSPサービス内容 */
#sec_service {
  padding-bottom: 35px; }
  #sec_service .flex_box {
    width: 85% !important;
    max-width: 1100px;
    flex-wrap: wrap;
    justify-content: space-between; }
    #sec_service .flex_box .card {
      width: 100%;
      max-width: 336.6px;
      text-align: center;
      margin-bottom: 45px;
      padding: 30px 25px;
      background-color: #fff;
      box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15); }
      #sec_service .flex_box .card img {
        width: 100%;
        max-width: 177px;
        margin-bottom: 30px; }
      #sec_service .flex_box .card h3 {
        font-size: 18px;
        font-weight: bold; }
      #sec_service .flex_box .card p {
        font-size: 14px;
        letter-spacing: .1em; }

/* BSPの対象とする企業や個人 */
#sec_target {
  background-image: url("../img/target_bg.svg");
  background-color: #f2f2f2;
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: right bottom; }
  #sec_target h2 {
    font-size: 34px;
    margin-bottom: 30px; }
  #sec_target h2 + p {
    font-size: 14px;
    text-align: center;
    margin-bottom: 60px; }
  #sec_target .flex_box {
    flex-direction: row-reverse;
    align-items: center;
    margin-bottom: 45px; }
    #sec_target .flex_box ul {
      font-weight: bold; }
      #sec_target .flex_box ul li {
        font-size: 16px;
        margin-bottom: 25px;
        text-indent: -2em;
        padding-left: 2em; }
      #sec_target .flex_box ul li:last-of-type {
        margin-bottom: 0; }
      #sec_target .flex_box ul li:before {
        content: "";
        width: 1.5em;
        height: 1.5em;
        display: inline-block;
        margin-right: .5em;
        background-image: url("../img/check_box.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
        transform: translateY(4px); }
    #sec_target .flex_box .img_wrap {
      width: 100%;
      max-width: 400px;
      margin-right: 25px; }
      #sec_target .flex_box .img_wrap img {
        width: 100%; }
  #sec_target .flex_box + p {
    font-size: 40px;
    font-weight: bold;
    text-align: center; }
    #sec_target .flex_box + p span {
      color: #1fbf48; }
  #sec_target .anim {
    width: 35px;
    display: inline-block; }

/* BSPサービスへの想い */
#sec_feeling > div {
  width: 100%; }
#sec_feeling h2 {
  font-size: 34px;
  width: 90%;
  max-width: 1100px;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 15px;
  border-bottom: 1px solid #cecece; }
#sec_feeling h2:after {
  position: absolute;
  content: "";
  width: 5em;
  height: 1px;
  display: block;
  background-color: #1fbf48;
  transform: translateY(15px); }
#sec_feeling .flex_box {
  position: relative;
  align-items: flex-start;
  flex-direction: row-reverse; }
#sec_feeling .cont_wrap {
  min-height: 310px; }
#sec_feeling .img_wrap {
  height: auto; }
#sec_feeling h3 {
  font-size: 25px;
  font-weight: bold; }
#sec_feeling p {
  font-size: 14px;
  letter-spacing: .15em; }

/* サービスへの想い_もっと見るボタン */
.showmore_list {
  overflow-y: scroll; }

#sec_feeling .cont_wrap {
  position: relative;
  padding-right: 45px; }

.list_toggle {
  width: 100%;
  display: inline-block;
  position: absolute;
  bottom: 0;
  bottom: -60px;
  display: flex;
  align-items: flex-end;
  justify-content: left;
  justify-content: left;
  margin-top: 45px;
  background-color: #fff;
  background-color: transparent; }

.list_toggle.close_area {
  background: none;
  position: static; }

.list_toggle {
  font-size: 14px;
  font-weight: bold;
  display: inline;
  padding: 15px 30px;
  color: #1fbf48;
  border: 2px solid #1fbf48;
  background-color: #fff;
  left: 1px; }

.show_more:after,
.show_more.active:after {
  content: "";
  width: .75em;
  height: .75em;
  display: inline-block;
  border: 3px solid;
  margin-left: 1em; }

.show_more:after {
  border-color: transparent transparent #1fbf48 #1fbf48;
  transform: rotate(-45deg) translate(5px, 0px); }

.show_more.active:after {
  border-color: #1fbf48 #1fbf48 transparent transparent;
  transform: rotate(-45deg) translate(-5px, 0px); }

.list_toggle:hover {
  color: #fff;
  background-color: #1fbf48; }

.show_more:hover:after {
  border-color: transparent transparent #fff #fff; }

.show_more.active:hover:after {
  border-color: #fff #fff transparent transparent; }

.text_wrapper {
  position: relative; }

.text {
  height: 0;
  overflow: hidden; }

.show_more,
.show_more2 {
  position: absolute;
  width: 100%;
  max-width: 210px;
  height: 50px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s; }

/* サービスへの想い_スライダー */
/*スライダー001*/
.slider-001 {
  width: 100%;
  min-height: 330px;
  min-height: auto;
  position: relative;
  margin: 0 auto;
  overflow-x: hidden;
  display: flex; }

.slide-001 {
  width: 100%;
  flex-shrink: 0;
  position: relative;
  top: 0;
  left: 0;
  padding-right: 10%;
  transition: all 0.6s ease-in-out; }

.prev-001,
.next-001 {
  width: 50px;
  height: 50px;
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  cursor: pointer;
  margin-top: -28px;
  padding: 13px 0 0 18px;
  color: #1fbf48;
  border: 1px solid #1fbf48;
  background-color: #fff;
  transition: all 0.3s ease;
  user-select: none; }

.next-001 {
  right: 0; }

.prev-001:hover,
.next-001:hover {
  color: #fff;
  background-color: #1fbf48; }

.open + .btn, .open + .btn_close {
  width: 200px !important;
  text-align: center;
  font-size: 16px;
  font-weight: bold !important;
  margin-top: 20px;
  padding: 18px;
  color: #1fbf48;
  letter-spacing: .1em;
  box-shadow: none;
  border: 1px solid #1fbf48;
  background-color: #fff;
  border-radius: 0 !important; }

.open + .btn:hover {
  transform: translate(0px, 0px); }

.prev-001 {
  display: none; }

/* サービス費用 */
#sec_price {
  width: 100%;
  margin: 0;
  background: linear-gradient(50deg, #75de84 0%, #b4fc79 100%); }
  #sec_price .card {
    text-align: center;
    padding: 45px;
    background-color: #fff; }
  #sec_price .flex_box {
    justify-content: flex-start;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #cecece; }
  #sec_price h2 {
    font-size: 34px;
    margin-bottom: 30px; }
  #sec_price .h_Ldeco:before {
    transform: none; }
  #sec_price .price_wrap {
    min-width: 340px; }
    #sec_price .price_wrap .price {
      font-size: 50px;
      font-size: 40px;
      font-weight: bold;
      line-height: 1;
      letter-spacing: 0;
      color: #1fbf48; }
      #sec_price .price_wrap .price span {
        font-size: 40px;
        font-size: 25px; }
  #sec_price .price_wrap + p {
    width: 100%;
    font-size: 14px;
    text-align: justify;
    padding-left: 45px; }
  #sec_price .flex_box + p {
    font-size: 14px;
    text-align: center;
    letter-spacing: .1em;
    margin-bottom: 30px; }
    #sec_price .flex_box + p a {
      text-decoration: underline; }
    #sec_price .flex_box + p a:hover {
      color: #000; }

/* footer */
footer {
  text-align: center;
  padding: 60px 0;
  background-color: #00405a; }
  footer img {
    width: 100%;
    max-width: 195px;
    display: block;
    margin: 0 auto 30px; }
  footer a,
  footer p {
    color: #fff; }
  footer a {
    display: inline-block;
    margin-bottom: 30px; }
  footer a i {
    font-size: .85em;
    padding-left: .5em;
    transform: translateY(-0.1em); }
  footer a:hover {
    color: #fff;
    text-decoration: none; }
  footer p {
    font-size: 12px;
    text-align: center;
    letter-spacing: .1em; }

#modal-center .privocy {
  z-index: 9999; }
  #modal-center .privocy p {
    letter-spacing: 0; }
  #modal-center .privocy h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px; }
  #modal-center .privocy h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px; }
  #modal-center .privocy p {
    margin-bottom: 20px; }
  #modal-center .privocy ol {
    list-style-type: decimal;
    padding-left: 1.5rem;
    margin-bottom: 20px; }
    #modal-center .privocy ol li {
      margin-bottom: 10px; }
      #modal-center .privocy ol li ol {
        margin-top: 10px; }

/* ---------- responsive ---------- */
@media screen and (max-width: 1190px) {
  #mv h1 br.sp_blk {
    display: inherit; }
  #mv p.pc_blk br {
    display: none; }

  #sec_trouble h2 br.sp_blk {
    display: inherit; }
  #sec_trouble .card_wrap {
    flex-wrap: wrap; }
  #sec_trouble .card_wrap > div:nth-of-type(2) {
    margin: 0; }
  #sec_trouble .card_wrap > div:not(:last-of-type) {
    margin-bottom: 45px; }
  #sec_trouble .card_wrap .card {
    max-width: 370px; }
  #sec_trouble .flex_box + p brpc_blk {
    display: none; }

  #sec_idea h2 + p br.sp_blk {
    display: inherit; }
  #sec_idea .solution .cont_strong br.sp_blk {
    display: inherit; }

  #sec_service .flex_box .card {
    max-width: 48%; }

  #sec_feeling .slider01 {
    padding-bottom: 60px; } }
@media screen and (max-width: 920px) {
  header {
    height: 50px; }
    header .flex_box.pc_blk {
      display: none; }
    header .flex_box.sp_blk {
      display: flex;
      justify-content: flex-start; }
    header .sp_blk .logo_wrap {
      max-width: 250px;
      height: 30px;
      position: relative;
      z-index: 1000; }
      header .sp_blk .logo_wrap img {
        height: 30px; }
    header .sp_blk ul {
      display: inherit; }

  #mv {
    max-height: 800px; }
    #mv .cont_wrap {
      max-width: 100%; }

  #sec_trouble .card_wrap .card {
    max-width: 345px; }
  #sec_trouble .card br {
    display: none; }

  #sec_idea .solution .sol01 .img_wrap,
  #sec_idea .solution .sol02 .img_wrap {
    transform: translateY(0); }

  #sec_idea .solution {
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
    padding: 45px;
    padding-bottom: 45px; }
    #sec_idea .solution h3.h_Ldeco {
      align-items: baseline; }
    #sec_idea .solution h3.h_Ldeco:before {
      height: 25px;
      transform: translateY(0.15em); }
    #sec_idea .solution h3.h_Ldeco .br_tab {
      display: none; }
    #sec_idea .solution .pc_blk {
      display: none; }
    #sec_idea .solution .sp_blk {
      display: block; }
    #sec_idea .solution .cont_wrap {
      width: 100% !important; }
    #sec_idea .solution .flex_box {
      margin-top: 0; }
    #sec_idea .solution .flex_box.card {
      width: 100%;
      flex-wrap: wrap;
      margin-bottom: 45px;
      position: inherit;
      padding: 0; }
    #sec_idea .solution .card.sol01,
    #sec_idea .solution .card.sol02 {
      padding: 0; }
    #sec_idea .solution .sol01,
    #sec_idea .solution .sol02 {
      left: 0;
      right: 0; }
    #sec_idea .solution .sol01 .img_wrap {
      height: auto;
      transform: none; }
    #sec_idea .solution .sol01 .cont_wrap,
    #sec_idea .solution .sol02 .cont_wrap {
      padding: 0; }
      #sec_idea .solution .sol01 .cont_wrap img,
      #sec_idea .solution .sol02 .cont_wrap img {
        border-radius: 0; }
    #sec_idea .solution .card {
      width: 100%;
      position: inherit;
      margin-bottom: 0;
      padding: 20px; }
      #sec_idea .solution .card img {
        width: 100%; }
      #sec_idea .solution .card .cont_wrap,
      #sec_idea .solution .card .img_wrap,
      #sec_idea .solution .card .img_wrap > img {
        width: 100%;
        max-width: 100%;
        height: auto;
        left: 0;
        right: 0;
        position: inherit !important; }
      #sec_idea .solution .card .img_wrap + p {
        margin-top: 20px; }
    #sec_idea .solution .cont_strong {
      width: 85%;
      margin: 0 auto;
      margin-bottom: 45px; }

  #sec_target .flex_box + p br.sp_blk {
    display: inherit; }
  #sec_target li br {
    display: none !important; } }
@media screen and (max-width: 768px) {
  /* all */
  .pc_blk {
    display: none; }

  .sp_blk {
    display: block; }

  /* decoration */
  .btn.pc {
    display: none; }

  .btn.sp {
    display: inline-block; }

  section {
    padding-top: 40px;
    padding-bottom: 40px; }

  h2 {
    margin-bottom: 25px; }

  .flex_box {
    flex-wrap: wrap; }

  h3 {
    font-size: 22px; }

  /* basic */
  section > div,
  section > p {
    width: 85% !important;
    margin: 0 auto; }

  h3.Ldeco2 {
    align-items: inherit; }

  h3.Ldeco2:before {
    height: 2.5em;
    transform: translateY(0.2em); }

  .open + .btn, .open + .btn_close {
    width: 100% !important; }

  /* header */
  header {
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1); }

  /* main visual */
  #mv {
    height: 100%;
    max-height: 100%;
    flex-wrap: wrap;
    text-align: center;
    margin-top: 75px;
    margin-bottom: 40px;
    padding-bottom: 0; }
    #mv #lottie {
      width: 90%;
      max-width: 500px;
      margin: 0 auto;
      margin-bottom: 20px; }
    #mv .cont_wrap {
      margin-right: 0; }
    #mv .cont_wrap h1 {
      max-width: 90%;
      font-size: 22px !important;
      font-weight: bold;
      text-align: left;
      margin: 0 auto;
      margin-bottom: 20px;
      color: #1fbf48; }
    #mv .sp_blk {
      text-align: center; }
      #mv .sp_blk p {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 25px; }
      #mv .sp_blk img + p {
        text-align: justify;
        margin-bottom: 25px; }

  /* お困りではありませんか */
  #sec_trouble img {
    margin-bottom: 12.5px; }
  #sec_trouble h2 {
    font-size: 22px; }
  #sec_trouble .card_wrap {
    margin-bottom: 0; }
  #sec_trouble .card_wrap > div:nth-of-type(2) {
    margin-left: 0;
    margin-right: 0; }
  #sec_trouble .card_wrap > div:not(:last-of-type) {
    margin-bottom: 25px; }
  #sec_trouble .flex_box {
    flex-wrap: wrap; }
    #sec_trouble .flex_box .card {
      width: 100%;
      max-width: 100%;
      margin-bottom: 25px;
      padding: 25px; }
    #sec_trouble .flex_box > div:nth-of-type(2) .img_wrap {
      margin-bottom: 0; }
    #sec_trouble .flex_box > div:nth-of-type(2) p {
      transform: translateY(0); }
  #sec_trouble .card_wrap .card img {
    height: 220px; }
  #sec_trouble .card_wrap .card p {
    font-size: 16px;
    text-align: center; }
  #sec_trouble .card br {
    display: inherit; }
  #sec_trouble .card_wrap + p {
    letter-spacing: .2em;
    text-align: justify;
    margin-bottom: 25px; }
  #sec_trouble .cont_strong {
    font-size: 22px;
    line-height: 1.5em;
    text-align: center; }

  /* BSPの特徴 */
  #sec_feature .grad_wrap div:nth-of-type(2) {
    top: 870px;
    right: 0; }
  #sec_feature .grad_wrap div:nth-of-type(3) {
    top: 1800px;
    left: 0; }
  #sec_feature h2 {
    font-size: 26px;
    margin-bottom: 25px; }
  #sec_feature h3 {
    font-size: 22px;
    letter-spacing: .01em;
    margin-bottom: 20px; }
  #sec_feature .flex_box.card {
    margin-bottom: 25px;
    padding: 25px; }
    #sec_feature .flex_box.card img {
      margin-bottom: 20px; }
  #sec_feature li {
    letter-spacing: .15em; }
  #sec_feature .card_wrap {
    margin-top: 50px; }
  #sec_feature .card_wrap > div:nth-of-type(odd) .img_wrap,
  #sec_feature .card_wrap > div:nth-of-type(even) .cont_wrap {
    padding-right: 0; }
  #sec_feature .card_wrap > div:last-of-type {
    margin-bottom: 22px; }
  #sec_feature .cont_strong {
    font-size: 18px;
    letter-spacing: .15em; }
  #sec_feature .cont_strong.pc_blk {
    margin-bottom: 18px; }
  #sec_feature .cont_strong.sp_blk {
    margin-bottom: 0; }
  #sec_feature .cont_strong + p {
    font-size: 14px; }
  #sec_feature .specially_cont {
    text-align: left;
    margin-bottom: 20px; }

  /* BSPの理念 */
  #sec_idea h2 {
    font-size: 26px; }
  #sec_idea h2 + p {
    font-size: 14px;
    margin-bottom: 20px; }
    #sec_idea h2 + p span.cont_marker {
      font-size: 18px;
      margin-top: 10px;
      display: block;
      text-align: center; }
  #sec_idea .philosophy_cont {
    text-align: left;
    margin-bottom: 20px; }
  #sec_idea .flex_box .card {
    margin-bottom: 25px;
    padding: 25px; }
    #sec_idea .flex_box .card img {
      margin-bottom: 25px; }
    #sec_idea .flex_box .card h3 {
      font-size: 18px !important;
      margin-bottom: 10px; }
    #sec_idea .flex_box .card h3 + p {
      font-size: 16px;
      letter-spacing: .1em;
      text-align: justify; }
  #sec_idea .flex_box > div:first-of-type {
    margin-right: 0; }
  #sec_idea .reason > div:last-of-type {
    margin-bottom: 0 !important; }
  #sec_idea .reason + p {
    font-size: 16px;
    letter-spacing: .1em;
    margin-bottom: 40px; }
    #sec_idea .reason + p span.cont_marker {
      font-size: 18px;
      line-height: 2.2rem; }

  /* BSPの理念 */
  #sec_idea .solution {
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
    padding: 30px 25px;
    padding-bottom: 25px; }
    #sec_idea .solution .pc_blk {
      display: none; }
    #sec_idea .solution .sp_blk {
      display: block; }
    #sec_idea .solution h3.Ldeco2 {
      align-items: inherit; }
    #sec_idea .solution h3.Ldeco2:before {
      height: 2.5em;
      transform: translateY(0.2em); }
    #sec_idea .solution h3.Ldeco2 .br_tab {
      display: inherit; }
    #sec_idea .solution .flex_box.card {
      width: 100%;
      flex-wrap: wrap;
      margin-bottom: 25px;
      position: inherit;
      padding: 0; }
    #sec_idea .solution .card.sol01,
    #sec_idea .solution .card.sol02 {
      padding: 0; }
    #sec_idea .solution .sol01,
    #sec_idea .solution .sol02 {
      left: 0;
      right: 0; }
      #sec_idea .solution .sol01 .img_wrap,
      #sec_idea .solution .sol02 .img_wrap {
        padding: 0; }
    #sec_idea .solution .sol01 .img_wrap {
      height: auto;
      transform: none; }
    #sec_idea .solution .sol01 .cont_wrap,
    #sec_idea .solution .sol02 .cont_wrap {
      padding: 0; }
    #sec_idea .solution .card {
      width: 100%;
      position: inherit;
      margin-bottom: 0;
      padding: 20px; }
      #sec_idea .solution .card h3 {
        font-size: 22px;
        letter-spacing: .04em;
        margin-bottom: 20px; }
      #sec_idea .solution .card img {
        width: 100%; }
      #sec_idea .solution .card .img_wrap + p {
        letter-spacing: .1em;
        margin-top: 20px; }
    #sec_idea .solution .cont_strong {
      width: 100% !important;
      margin: 0 auto;
      font-size: 18px;
      letter-spacing: .025em;
      margin-bottom: 25px;
      padding: 0; }

  /* サービス内容 */
  #sec_service h2 {
    font-size: 26px;
    margin-bottom: 25px; }
  #sec_service .flex_box .card {
    width: 100% !important;
    max-width: 100%;
    margin-bottom: 25px;
    padding: 25px; }
    #sec_service .flex_box .card img {
      margin-bottom: 25px; }
    #sec_service .flex_box .card p {
      letter-spacing: .15em; }
  #sec_service .flex_box > div:last-of-type {
    margin-bottom: 0; }

  /* BSPの対象とする企業や個人 */
  #sec_target {
    background-image: none; }
    #sec_target h2 {
      font-size: 22px;
      letter-spacing: .1em;
      margin-bottom: 25px; }
    #sec_target h2 + p {
      text-align: justify;
      letter-spacing: .05em;
      margin-bottom: 25px; }
    #sec_target .flex_box {
      margin-bottom: 0; }
      #sec_target .flex_box ul {
        margin-bottom: 20px; }
        #sec_target .flex_box ul li {
          font-size: 16px;
          letter-spacing: .15em;
          margin-bottom: 10px; }
        #sec_target .flex_box ul li:before {
          margin-right: .5em; }
      #sec_target .flex_box .img_wrap {
        margin-right: 0; }
      #sec_target .flex_box img {
        margin-bottom: 25px; }
    #sec_target .flex_box + p {
      font-size: 26px;
      margin-bottom: 　0; }
    #sec_target p > img {
      width: 1em;
      height: 1em; }

  /* BSPサービスへの想い */
  #sec_feeling > div {
    width: 100% !important; }
  #sec_feeling h2 {
    width: 85%;
    font-size: 22px;
    max-width: 550px;
    padding-bottom: 10px; }
  #sec_feeling h2:after {
    transform: translateY(10px); }
  #sec_feeling .flex_box {
    display: block; }
  #sec_feeling .slider-001 {
    min-height: 740px;
    padding: 0; }
  #sec_feeling .slide-001 {
    width: 100%;
    padding: 0 60px; }
  #sec_feeling .cont_wrap {
    height: auto;
    min-height: inherit;
    padding-right: 0; }
  #sec_feeling .img_wrap {
    margin-bottom: 20px; }
  #sec_feeling .list_toggle {
    bottom: -70px; }
  #sec_feeling h3 {
    font-size: 18px;
    margin-bottom: 20px; }
  #sec_feeling p {
    font-size: 14px; }

  .cont_wrap {
    padding-right: 0; }

  .list_toggle {
    display: flex;
    justify-content: center;
    margin-top: 25px;
    left: calc(50% - 105px); }

  .prev-001 {
    display: block; }

  /* サービス費用 */
  #sec_price h2 {
    font-size: 22px;
    margin-bottom: 20px; }
  #sec_price .card {
    padding: 30px 25px; }
  #sec_price .flex_box {
    flex-wrap: wrap;
    margin-bottom: 20px;
    padding-bottom: 20px; }
  #sec_price p {
    letter-spacing: .1em; }
  #sec_price .price_wrap,
  #sec_price .price_wrap + p {
    width: 100%; }
  #sec_price .price_wrap {
    min-width: 100%; }
    #sec_price .price_wrap .price {
      font-size: 28px;
      letter-spacing: .05em;
      margin-bottom: 20px; }
      #sec_price .price_wrap .price span {
        font-size: 22px; }
  #sec_price .price_wrap + p {
    padding-left: 0; }
  #sec_price .flex_box + p {
    letter-spacing: .05em;
    letter-spacing: .05em;
    text-align: justify; }

  /* footer */
  footer img {
    margin-bottom: 25px; }
  footer img + a {
    margin-bottom: 20px; }

  /* page_top */
  #page_top {
    right: 8%; } }
@media screen and (max-width: 500px) {
  #mv h1 br.pc_blk {
    display: inherit !important; }

  .br_sp {
    display: contents !important; }

  .br_sp:after {
    content: "\A";
    white-space: pre; }

  #sec_idea h2 + p br:first-of-type {
    display: none; }

  #sec_idea .solution .cont_strong br.sp_blk {
    display: none; } }
/* ファーストビュー sp対応 */
@media screen and (max-width: 768px) and (min-height: 800px) {
  #mv {
    padding-top: 0px; } }
/* ファーストビュー PC対応 */
@media screen and (min-width: 769px) and (min-height: 500px) {
  #mv {
    padding-top: 130px; } }
@media screen and (min-width: 769px) and (min-height: 800px) {
  #mv {
    padding-top: 0px; } }
