@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap");
@media screen and (min-width:835px) {
  .mbpc-0 {
    margin-bottom: 0 !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-0 {
    margin-bottom: 0 !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-1 {
    margin-bottom: 1px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-1 {
    margin-bottom: 1px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-2 {
    margin-bottom: 2px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-2 {
    margin-bottom: 2px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-3 {
    margin-bottom: 3px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-3 {
    margin-bottom: 3px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-4 {
    margin-bottom: 4px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-4 {
    margin-bottom: 4px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-5 {
    margin-bottom: 5px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-5 {
    margin-bottom: 5px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-6 {
    margin-bottom: 6px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-6 {
    margin-bottom: 6px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-7 {
    margin-bottom: 7px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-7 {
    margin-bottom: 7px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-8 {
    margin-bottom: 8px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-8 {
    margin-bottom: 8px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-9 {
    margin-bottom: 9px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-9 {
    margin-bottom: 9px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-10 {
    margin-bottom: 10px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-10 {
    margin-bottom: 10px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-11 {
    margin-bottom: 11px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-11 {
    margin-bottom: 11px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-12 {
    margin-bottom: 12px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-12 {
    margin-bottom: 12px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-13 {
    margin-bottom: 13px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-13 {
    margin-bottom: 13px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-14 {
    margin-bottom: 14px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-14 {
    margin-bottom: 14px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-15 {
    margin-bottom: 15px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-15 {
    margin-bottom: 15px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-16 {
    margin-bottom: 16px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-16 {
    margin-bottom: 16px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-17 {
    margin-bottom: 17px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-17 {
    margin-bottom: 17px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-18 {
    margin-bottom: 18px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-18 {
    margin-bottom: 18px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-19 {
    margin-bottom: 19px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-19 {
    margin-bottom: 19px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-20 {
    margin-bottom: 20px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-20 {
    margin-bottom: 20px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-21 {
    margin-bottom: 21px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-21 {
    margin-bottom: 21px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-22 {
    margin-bottom: 22px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-22 {
    margin-bottom: 22px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-23 {
    margin-bottom: 23px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-23 {
    margin-bottom: 23px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-24 {
    margin-bottom: 24px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-24 {
    margin-bottom: 24px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-25 {
    margin-bottom: 25px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-25 {
    margin-bottom: 25px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-26 {
    margin-bottom: 26px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-26 {
    margin-bottom: 26px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-27 {
    margin-bottom: 27px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-27 {
    margin-bottom: 27px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-28 {
    margin-bottom: 28px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-28 {
    margin-bottom: 28px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-29 {
    margin-bottom: 29px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-29 {
    margin-bottom: 29px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-30 {
    margin-bottom: 30px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-30 {
    margin-bottom: 30px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-31 {
    margin-bottom: 31px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-31 {
    margin-bottom: 31px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-32 {
    margin-bottom: 32px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-32 {
    margin-bottom: 32px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-33 {
    margin-bottom: 33px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-33 {
    margin-bottom: 33px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-34 {
    margin-bottom: 34px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-34 {
    margin-bottom: 34px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-35 {
    margin-bottom: 35px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-35 {
    margin-bottom: 35px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-36 {
    margin-bottom: 36px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-36 {
    margin-bottom: 36px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-37 {
    margin-bottom: 37px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-37 {
    margin-bottom: 37px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-38 {
    margin-bottom: 38px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-38 {
    margin-bottom: 38px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-39 {
    margin-bottom: 39px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-39 {
    margin-bottom: 39px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-40 {
    margin-bottom: 40px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-40 {
    margin-bottom: 40px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-41 {
    margin-bottom: 41px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-41 {
    margin-bottom: 41px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-42 {
    margin-bottom: 42px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-42 {
    margin-bottom: 42px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-43 {
    margin-bottom: 43px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-43 {
    margin-bottom: 43px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-44 {
    margin-bottom: 44px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-44 {
    margin-bottom: 44px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-45 {
    margin-bottom: 45px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-45 {
    margin-bottom: 45px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-46 {
    margin-bottom: 46px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-46 {
    margin-bottom: 46px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-47 {
    margin-bottom: 47px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-47 {
    margin-bottom: 47px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-48 {
    margin-bottom: 48px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-48 {
    margin-bottom: 48px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-49 {
    margin-bottom: 49px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-49 {
    margin-bottom: 49px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-50 {
    margin-bottom: 50px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-50 {
    margin-bottom: 50px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-51 {
    margin-bottom: 51px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-51 {
    margin-bottom: 51px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-52 {
    margin-bottom: 52px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-52 {
    margin-bottom: 52px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-53 {
    margin-bottom: 53px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-53 {
    margin-bottom: 53px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-54 {
    margin-bottom: 54px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-54 {
    margin-bottom: 54px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-55 {
    margin-bottom: 55px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-55 {
    margin-bottom: 55px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-56 {
    margin-bottom: 56px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-56 {
    margin-bottom: 56px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-57 {
    margin-bottom: 57px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-57 {
    margin-bottom: 57px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-58 {
    margin-bottom: 58px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-58 {
    margin-bottom: 58px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-59 {
    margin-bottom: 59px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-59 {
    margin-bottom: 59px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-60 {
    margin-bottom: 60px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-60 {
    margin-bottom: 60px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-61 {
    margin-bottom: 61px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-61 {
    margin-bottom: 61px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-62 {
    margin-bottom: 62px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-62 {
    margin-bottom: 62px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-63 {
    margin-bottom: 63px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-63 {
    margin-bottom: 63px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-64 {
    margin-bottom: 64px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-64 {
    margin-bottom: 64px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-65 {
    margin-bottom: 65px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-65 {
    margin-bottom: 65px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-66 {
    margin-bottom: 66px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-66 {
    margin-bottom: 66px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-67 {
    margin-bottom: 67px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-67 {
    margin-bottom: 67px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-68 {
    margin-bottom: 68px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-68 {
    margin-bottom: 68px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-69 {
    margin-bottom: 69px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-69 {
    margin-bottom: 69px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-70 {
    margin-bottom: 70px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-70 {
    margin-bottom: 70px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-71 {
    margin-bottom: 71px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-71 {
    margin-bottom: 71px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-72 {
    margin-bottom: 72px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-72 {
    margin-bottom: 72px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-73 {
    margin-bottom: 73px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-73 {
    margin-bottom: 73px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-74 {
    margin-bottom: 74px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-74 {
    margin-bottom: 74px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-75 {
    margin-bottom: 75px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-75 {
    margin-bottom: 75px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-76 {
    margin-bottom: 76px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-76 {
    margin-bottom: 76px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-77 {
    margin-bottom: 77px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-77 {
    margin-bottom: 77px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-78 {
    margin-bottom: 78px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-78 {
    margin-bottom: 78px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-79 {
    margin-bottom: 79px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-79 {
    margin-bottom: 79px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-80 {
    margin-bottom: 80px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-80 {
    margin-bottom: 80px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-81 {
    margin-bottom: 81px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-81 {
    margin-bottom: 81px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-82 {
    margin-bottom: 82px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-82 {
    margin-bottom: 82px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-83 {
    margin-bottom: 83px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-83 {
    margin-bottom: 83px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-84 {
    margin-bottom: 84px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-84 {
    margin-bottom: 84px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-85 {
    margin-bottom: 85px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-85 {
    margin-bottom: 85px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-86 {
    margin-bottom: 86px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-86 {
    margin-bottom: 86px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-87 {
    margin-bottom: 87px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-87 {
    margin-bottom: 87px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-88 {
    margin-bottom: 88px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-88 {
    margin-bottom: 88px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-89 {
    margin-bottom: 89px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-89 {
    margin-bottom: 89px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-90 {
    margin-bottom: 90px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-90 {
    margin-bottom: 90px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-91 {
    margin-bottom: 91px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-91 {
    margin-bottom: 91px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-92 {
    margin-bottom: 92px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-92 {
    margin-bottom: 92px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-93 {
    margin-bottom: 93px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-93 {
    margin-bottom: 93px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-94 {
    margin-bottom: 94px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-94 {
    margin-bottom: 94px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-95 {
    margin-bottom: 95px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-95 {
    margin-bottom: 95px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-96 {
    margin-bottom: 96px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-96 {
    margin-bottom: 96px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-97 {
    margin-bottom: 97px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-97 {
    margin-bottom: 97px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-98 {
    margin-bottom: 98px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-98 {
    margin-bottom: 98px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-99 {
    margin-bottom: 99px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-99 {
    margin-bottom: 99px !important
  }
}

@media screen and (min-width:835px) {
  .mbpc-100 {
    margin-bottom: 100px !important
  }
}

@media screen and (max-width:834px) {
  .mbsp-100 {
    margin-bottom: 100px !important
  }
}

.mb0 {
  margin-bottom: 0 !important
}

html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 10px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0
}

* {
  box-sizing: border-box
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

fieldset,
img {
  border: 0
}

img {
  vertical-align: middle;
  max-width: 100%
}

address,
caption,
cite,
code,
dfn,
var {
  font-style: normal;
  font-weight: 400
}

li {
  list-style: none
}

caption,
th {
  text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400
}

q:after,
q:before {
  content: ""
}

abbr,
acronym {
  border: 0;
  font-variant: normal
}

sup {
  vertical-align: text-top
}

sub {
  vertical-align: text-bottom
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input,
select,
textarea {
  *font-size: 100%;
}

legend {
  color: #000
}

del,
ins {
  text-decoration: none
}

main {
  display: block
}

section {
  position: relative
}

body {
  color: #333;
  font-family: BIZ UDPGothic, sans-serif;
  /*font-size: 100%;*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.4
}

a {
  color: inherit;
  text-decoration: none;
  transition: all .3s ease
}

@media (any-hover:hover) {
  a:hover {
    opacity: .7
  }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
  a {
    display: inline-block
  }
}

@media screen and (min-width:835px) {
  a[href^=tel] {
    pointer-events: none
  }
}

@media screen and (max-width:834px) {
  a {
    -webkit-tap-highlight-color: transparent
  }
}

.clearfix {
  *zoom: 1
}

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

.clearfix:after {
  clear: both
}

.wrapper {
  padding-top: 119px
}

@media screen and (max-width:1024px) {
  .wrapper {
    padding-top: 60px
  }
}

.inner {
  display: block;
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto
}

@media screen and (min-width:835px) {
  .inner {
    max-width: calc(1200px + 8%);
    padding: 0 4%
  }
}

.breadcrumb {
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  font-size: 1.3rem;
  letter-spacing: .5px;
  font-weight: 500;
  padding: 5px 0
}

@media screen and (max-width:834px) {
  .breadcrumb {
    font-size: 1.1rem;
    padding: 6px 0;
    letter-spacing: 0
  }
}

.breadcrumb .inner {
  max-width: 1530px
}

.breadcrumb a {
  /* color: #c80000; */
  color: rgb(51, 51, 51);
  display: inline-block;
  position: relative;
  padding: 0 23px 0 0;
  margin: 0 11px 0 0
}

@media screen and (max-width:834px) {
  .breadcrumb a {
    padding: 0 10px 0 0;
    margin: 0 3px 0 0
  }
}

.breadcrumb a:after {
  content: ">";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 1rem;
  color: #333
}

.mv-page {
  padding: 50px 0;
  background: url(../img/solution/mv-bg.jpg) no-repeat;
  background-size: cover;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1.9473684211;
  letter-spacing: 2px;
  text-align: center;
  overflow: hidden
}

@media screen and (max-width:834px) {
  .mv-page {
    font-size: 1.4rem;
    line-height: 1.82;
    background: url(../img/solution/mv-bg-sp.jpg) no-repeat;
    background-size: cover;
    padding: 27px 0 72px;
    letter-spacing: 1.5px
  }
}

@media screen and (max-width:640px) {
  .mv-page {
    text-align: left
  }
}

.mv-page:after,
.mv-page:before {
  content: "";
  position: absolute
}

.mv-page:before {
  width: 26.5%;
  height: 426px;
  background: url(../img/solution/mv-bf.png) no-repeat;
  background-size: 100%;
  top: 0;
  left: 0
}

#page-reason .mv-page:before {
  background: url(../img/reason/mv-bf.png) no-repeat;
  background-size: 100%;
}

@media screen and (max-width:834px) {
  .mv-page:before {
    width: 105px;
    background: url(../img/solution/mv-bf-sp.png) no-repeat;
    background-size: 100%
  }

  #page-reason .mv-page:before {
    background: url(../img/reason/mv-bf-sp.png) no-repeat;
    background-size: 100%;
  }
}

.mv-page:after {
  width: 24%;
  height: 552px;
  background: url(../img/solution/mv-af.png) no-repeat;
  background-size: 100%;
  top: 73px;
  right: 0
}

#page-reason .mv-page:after {
  background: url(../img/reason/mv-af.png) no-repeat;
  background-size: 100%;
}

@media screen and (max-width:834px) {
  .mv-page:after {
    width: 220px;
    background: url(../img/solution/mv-af-sp.png) no-repeat;
    background-size: 100%;
    background-position: 100% 100%;
    top: auto;
    bottom: -26px
  }

  #page-reason .mv-page:after {
    background: url(../img/reason/mv-af-sp.png) no-repeat;
    background-size: 100%;
    background-position: 100% 100%;
  }
}

.mv-page .inner {
  position: relative;
  z-index: 2
}

.mv-page .c-ttl__01 {
  line-height: 1.4;
  margin-bottom: 23px
}

@media screen and (max-width:834px) {
  .mv-page .c-ttl__01 {
    text-align: center;
    margin-bottom: 16px
  }
}

.mv-page .c-ttl__01 .c-ft--en {
  margin: 0 0 17px;
  padding: 0
}

@media screen and (max-width:834px) {
  .mv-page .c-ttl__01 .c-ft--en {
    font-size: 1.2rem;
    margin-bottom: 4px
  }
}

.mv-page .c-ttl__01 .c-ft--en:after {
  display: none
}

@media screen and (max-width:834px) {
  .mv-page .c-ttl__01 .c-ft--jp {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5
  }
}

.c-fc--white {
  color: #fff !important
}

.c-ft--jp {
  font-family: BIZ UDPGothic, sans-serif
}

.c-ft--en {
  font-family: Helvetica, sans-serif
}

.c-fw--lt {
  font-weight: 300 !important
}

.c-fw--rg {
  font-weight: 400 !important
}

.c-fw--md {
  font-weight: 500 !important
}

.c-fw--sbd {
  font-weight: 600 !important
}

.c-fw--bd {
  font-weight: 700 !important
}

.c-fw--bk {
  font-weight: 900 !important
}

.c-tx--v {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

@media screen and (min-width:835px) {
  .c-tx--v-pc {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
}

.c-al--c {
  text-align: center !important
}

.c-al--r {
  text-align: right !important
}

.c-al--l {
  text-align: left !important
}

.c-val--md {
  vertical-align: middle
}

.c-val--top {
  vertical-align: top
}

.c-txt__basic {
  font-size: 1.6rem;
  line-height: 2.1;
  letter-spacing: 1.5px
}

@media screen and (max-width:834px) {
  .c-txt__basic {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6428571429
  }

  .c-txt__basic .txt--other {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5
  }
}

.c-ttl__01 {
  position: relative;
  margin-bottom: 31px;
  z-index: 2
}

@media screen and (max-width:834px) {
  .c-ttl__01 {
    margin-bottom: 14px
  }
}

.c-ttl__01 .c-ft--en {
  position: relative;
  display: inline-block;
  color: #c80000;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .08em;
  margin: 0 120px 10px 0
}

@media screen and (max-width:834px) {
  .c-ttl__01 .c-ft--en {
    font-size: 1.7rem;
    margin: 0 85px 3px 0
  }
}

.c-ttl__01 .c-ft--en:after {
  content: "";
  position: absolute;
  width: 100px;
  height: 1px;
  background: #c80000;
  right: -117px;
  top: 50%;
  transform: translateY(-50%)
}

@media screen and (max-width:834px) {
  .c-ttl__01 .c-ft--en:after {
    width: 75px;
    right: -83px;
    top: 45%
  }
}

.c-ttl__01 .c-ft--jp {
  display: block;
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: .08em
}

@media screen and (max-width:834px) {
  .c-ttl__01 .c-ft--jp {
    font-size: 2.3rem
  }
}

.c-ttl__01 .smaller {
  display: block;
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: .08em;
  margin: 11px 0 7px
}

@media screen and (max-width:834px) {
  .c-ttl__01 .smaller {
    font-size: 1.8rem;
    letter-spacing: .06em;
    margin: 4px 0 5px
  }
}

.c-ttl__02 {
  position: relative;
  border-bottom: 2px solid #e6e1d7;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.6;
  letter-spacing: .056em;
  padding-bottom: 10px;
  margin-bottom: 22px
}

@media screen and (max-width:834px) {
  .c-ttl__02 {
    font-size: 1.8rem;
    line-height: 1.5;
    padding-bottom: 7px;
    margin-bottom: 16px
  }
}

.c-ttl__02:before {
  content: "";
  position: absolute;
  width: 100px;
  height: 2px;
  background: #c80000;
  bottom: -2px;
  left: 0
}

@media screen and (max-width:834px) {
  .c-ttl__02:before {
    width: 75px
  }
}

.c-ttl__03 {
  display: block;
  text-align: center;
  background: #c80000;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 3px;
  margin-bottom: 18px
}

@media screen and (max-width:834px) {
  .c-ttl__03 {
    margin-bottom: 10px
  }

  .c-ttl__03--other {
    padding: 11px 4px
  }
}

.c-ttl__03--orange {
  background: #f80;
  margin-bottom: 22px
}

@media screen and (max-width:834px) {
  .c-ttl__03--orange {
    margin-bottom: 16px
  }
}

.c-ttl__04 {
  display: block;
  font-weight: 700;
  position: relative;
  margin-bottom: 29px
}

@media screen and (max-width:834px) {
  .c-ttl__04 {
    padding: 0 0 0 51px;
    margin-bottom: 14px
  }
}

.c-ttl__04 span {
  display: block
}

.c-ttl__04 .c-ft--en {
  font-size: 7rem;
  color: #c80000;
  line-height: 1;
  margin-bottom: 20px
}

@media screen and (max-width:834px) {
  .c-ttl__04 .c-ft--en {
    font-size: 3.5rem;
    position: absolute;
    top: 0;
    left: 0
  }
}

.c-ttl__04 .c-ft--jp {
  font-size: 3.5rem;
  letter-spacing: 4px;
  line-height: 1.55
}

@media screen and (max-width:834px) {
  .c-ttl__04 .c-ft--jp {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5555555556;
    letter-spacing: 1.5px
  }
}

.c-btn__01 {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 500px;
  height: 72px;
  background: linear-gradient(45deg, #d00 1%, #dd3c00);
  color: #fff;
  border: 2px solid #d00;
  border-radius: 40px;
  box-shadow: inset 1px 0 #fff, inset 0 1px #fff, inset -1px 0 #fff, inset 0 -1px #fff, inset 5px 0 10px hsla(0, 0%, 100%, .2), inset 0 5px 10px hsla(0, 0%, 100%, .2), inset -5px 0 10px hsla(0, 0%, 100%, .2), inset 0 -5px 10px hsla(0, 0%, 100%, .2);
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0em;
  padding: 15px 50px;
  margin: 0 auto;
  z-index: 2
}

@media screen and (max-width:834px) {
  .c-btn__01 {
    max-width: 350px;
    height: 45px;
    border-width: 1px;
    box-shadow: inset 1px 0 #fff, inset 0 1px #fff, inset -1px 0 #fff, inset 0 -1px #fff, inset 2px 0 5px hsla(0, 0%, 100%, .2), inset 0 2px 5px hsla(0, 0%, 100%, .2), inset -2px 0 5px hsla(0, 0%, 100%, .2), inset 0 -2px 5px hsla(0, 0%, 100%, .2);
    font-size: 1.4rem;
    letter-spacing: .06em;
    padding: 10px 15px
  }
}

.c-btn__01:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 41px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .c-btn__01:after {
    border-width: 1px 1px 0 0;
    right: auto;
    left: calc(50% + 135px);
    transform: translate(-50%, -50%) rotate(45deg)
  }
}

.c-btn__01--white {
  font-family: Noto Sans JP, sans-serif;
  background: #fff;
  font-weight: 500;
  color: #c80000;
  border: 1px solid #b6191e;
  text-align: center;
  line-height: 1.2
}

.c-btn__01--white:after {
  border: solid #c80000;
  border-width: 2px 2px 0 0
}

@media screen and (max-width:834px) {
  .c-btn__01--white:after {
    border-width: 1px 1px 0 0
  }
}

.c-btn__01--dowload:after {
  content: "";
  width: 18px;
  height: 18px;
  background: url(../img/reason/icon-dowload.svg) no-repeat;
  background-size: 100%;
  transform: translateY(-50%);
  right: 34px;
  border: none
}

@media screen and (max-width:834px) {
  .c-btn__01--dowload:after {
    width: 14px;
    height: 14px;
    right: 12px;
    left: auto
  }
}

.c-btn__02 {
  width: 100%;
  max-width: 514px;
  height: 50px;
  border-radius: 50px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1.2;
  font-size: 1.6rem;
  letter-spacing: 1px;
  font-weight: 700;
  color: #fff;
  background: #b6191e;
  position: relative;
  padding: 0 40px
}

@media screen and (max-width:834px) {
  .c-btn__02 {
    max-width: 320px;
    margin: 0 auto;
    height: 42px;
    font-size: 1.2rem;
    letter-spacing: .5px;
    padding: 0 20px
  }
}

.c-btn__02:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 9%;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .c-btn__02:after {
    border-width: 1px 1px 0 0;
    right: 10px
  }
}

.c-btn__02 img {
  width: 26px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 30px
}

@media screen and (max-width:834px) {
  .c-btn__02 img {
    width: 13px;
    left: 9px
  }
}

.c-btn__02--icon:after {
  display: none
}

.js-scrollin {
  opacity: 0;
  transform: translateY(70px)
}

.js-scrollin.active {
  opacity: 1;
  transform: translate(0);
  transition: .7s cubic-bezier(.25, .46, .45, .94)
}

@media screen and (max-width:834px) {
  .pc {
    display: none !important
  }
}

@media screen and (max-width:1024px) {
  .pc-tb {
    display: none !important
  }
}

@media screen and (max-width:990px) {
  .pc-lg {
    display: none !important
  }
}

@media screen and (max-width:640px) {
  .pc-sm {
    display: none !important
  }
}

@media screen and (max-width:359px) {
  .pc-xs {
    display: none !important
  }
}

@media screen and (min-width:835px) {
  .sp {
    display: none !important
  }
}

@media screen and (min-width:1025px) {
  .sp-tb {
    display: none !important
  }
}

@media screen and (min-width:991px) {
  .sp-lg {
    display: none !important
  }
}

@media screen and (min-width:641px) {
  .sp-sm {
    display: none !important
  }
}

.u-pull--left {
  margin-left: calc((100vw - 100%) / 2 * -1)
}

.u-pull--right {
  margin-right: calc((100vw - 100%) / 2 * -1)
}

.u-img-of {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: "object-fit: cover; object-position: center", sans-serif
}

.c-scroll-box {
  padding-bottom: 20px;
  overflow-x: scroll;
  overflow-y: hidden
}

.c-scroll-box-y {
  padding-bottom: 20px;
  overflow-x: hidden;
  overflow-y: scroll
}

@media screen and (max-width:834px) {
  .c-scroll-box-sp {
    padding-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden
  }
}

#header {
  position: fixed;
  width: 100%;
  background: #fff;
  font-family: Noto Sans JP, sans-serif;
  top: 0;
  left: 0;
  z-index: 99999
}

@media screen and (max-width:1024px) {
  #header {
    padding: 6px 15px 5px
  }
}

#header .header-logo {
  display: block;
  width: 100%;
  max-width: 122px;
  position: relative;
  z-index: 10
}

@media screen and (min-width:1025px) {
  #header .header-logo {
    position: absolute;
    max-width: 123px;
    top: 5px;
    left: 50px
  }
}

@media screen and (min-width:1025px) and (max-width:1250px) {
  #header .header-logo {
    left: 15px
  }
}

@media screen and (min-width:1025px) {
  #header .header-nav {
    display: block !important
  }
}

@media screen and (max-width:1024px) {
  #header .header-nav {
    display: none;
    position: absolute;
    width: 100%;
    height: 100vh;
    padding: 60px 0;
    top: 0;
    left: 0;
    overflow-y: auto;
    background: #fff
  }
}

#header .header-nav__info {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  box-shadow: 0 0 10px 0 rgba(51, 51, 51, .1);
  padding: 8px 50px 10px
}

@media screen and (max-width:1250px) {
  #header .header-nav__info {
    padding: 8px 15px 10px
  }
}

@media screen and (max-width:1024px) {
  #header .header-nav__info {
    display: block;
    padding: 18px 15px 10px
  }
}

#header .header-nav__info-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 34px
}

#header .header-nav__info-link_sp {
  display: none
}

@media screen and (max-width:1024px) {
  #header .header-nav__info-link {
    display: none
  }

  #header .header-nav__info-link_sp {
    display: flex;
    justify-content: space-around;
    margin: 2em auto 2rem;
  }

  #header .header-nav__info-linkItem>a {
    font-size: 1.4rem;
  }
}

#header .header-nav__info-linkItem {
  position: relative
}

#header .header-nav__info-linkItem:not(:last-child):after {
  content: "";
  position: absolute;
  width: 1px;
  height: 16px;
  background: #999;
  top: 2px;
  right: -18px
}

@media screen and (max-width:1250px) {
  #header .header-nav__info-linkItem:not(:last-child):after {
    top: 1px
  }
}

#header .header-nav__info-linkItem>a {
  display: inline-block;
  color: #999;
  font-size: 1.4rem
}

@media screen and (max-width:1250px) {
  #header .header-nav__info-linkItem>a {
    font-size: 1.4rem
  }

  #header .header-nav__info-linkItem:not(:last-child):after {
    display: none;
  }
}

#header .header-nav__info-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 20px
}

@media screen and (max-width:1250px) {
  #header .header-nav__info-btn {
    gap: 10px
  }
}

@media screen and (max-width:834px) {
  #header .header-nav__info-btn {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 15px;
    -ms-flex-pack: center;
    justify-content: center
  }
}

#header .header-nav__info-btn>a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 200px;
  height: 38px;
  background: #de0000;
  color: #fff;
  border-radius: 20px;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 10px 20px
}

@media screen and (max-width:1250px) {
  #header .header-nav__info-btn>a {
    width: 160px;
    font-size: 1.2rem
  }
}

@media screen and (max-width:1024px) {
  #header .header-nav__info-btn>a {
    font-size: 1.6rem;
    width: 100%;
    max-width: 345px;
    height: 40px
  }
}

#header .header-nav__info-btn>a:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 17px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:1250px) {
  #header .header-nav__info-btn>a:after {
    right: 12px
  }
}

@media screen and (min-width:1025px) {
  #header .header-nav__menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: 1px solid #d00;
    border-bottom: 5px solid #d00;
    padding: 5px 0
  }
}

#header .header-nav__menu-item {
  position: relative
}

@media screen and (min-width:1025px) {
  #header .header-nav__menu-item {
    position: relative;
    width: 16.6666666667%;
    max-width: 195px
  }
}

@media screen and (min-width:1025px) and (any-hover:hover) {

  #header .header-nav__menu-item:hover>a,
  #header .header-nav__menu-item:hover>span {
    background: #d90203;
    color: #fff
  }

  #header .header-nav__menu-item:hover>a:after,
  #header .header-nav__menu-item:hover>span:after {
    border-color: #fff
  }

  #header .header-nav__menu-item:hover .header-nav__sub {
    opacity: 1;
    pointer-events: auto;
    z-index: 1
  }
}

@media screen and (min-width:1025px) {

  #header .header-nav__menu-item:first-child>a,
  #header .header-nav__menu-item:first-child>span {
    border-left: 1px solid #d90203
  }
}

#header .header-nav__menu-item>a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 10px 30px;
  border-right: 1px solid #d90203
}

@media screen and (max-width:1024px) {
  #header .header-nav__menu-item>a {
    display: block;
    padding: 15px 14px;
    font-size: 1.5rem;
    border-bottom: 1px solid #e5e5e5
  }
}

#header .header-nav__menu-item>a:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border: solid #d90203;
  border-width: 0 2px 2px 0;
  top: 48%;
  right: 21px;
  transform: translateY(-50%) rotate(45deg);
  transition: .3s ease
}

@media screen and (max-width:1024px) {
  #header .header-nav__menu-item>a:after {
    width: 5px;
    height: 5px;
    transform: translateY(-50%) rotate(-45deg)
  }
}

@media screen and (min-width:1025px) {
  #header .header-nav__menu-item>a:hover {
    opacity: 1;
    background: #d90203;
    color: #fff
  }

  #header .header-nav__menu-item>a:hover:after {
    border-color: #fff
  }
}

#header .header-nav__menu-item.active>a {
  background: #d90203;
  color: #fff
}

#header .header-nav__menu-item.active>a:after {
  border-color: #fff
}

#header .header-nav__menu-acc {
  cursor: pointer;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  font-weight: 500;
  font-size: 1.4rem;
  padding: 10px 30px;
  border-right: 1px solid #d90203
}

@media screen and (max-width:1024px) {
  #header .header-nav__menu-acc {
    display: block;
    padding: 15px 14px;
    font-size: 1.5rem;
    border-bottom: 1px solid #e5e5e5
  }
}

#header .header-nav__menu-acc:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border: solid #d90203;
  border-width: 0 2px 2px 0;
  top: 48%;
  right: 21px;
  transform: translateY(-50%) rotate(45deg);
  transition: .3s ease
}

@media screen and (max-width:1024px) {
  #header .header-nav__menu-acc:after {
    width: 5px;
    height: 5px;
    transform: translateY(-50%) rotate(45deg)
  }
}

@media screen and (min-width:1025px) {
  #header .header-nav__menu-acc:hover {
    opacity: 1;
    background: #d90203;
    color: #fff
  }

  #header .header-nav__menu-acc:hover:after {
    border-color: #fff
  }
}

#header .header-nav__menu-acc.is-show {
  background: #a81c23;
  color: #fff
}

#header .header-nav__menu-acc.is-show:after {
  transform: translateY(-50%) rotate(-135deg);
  border: solid #fff;
  border-width: 0 2px 2px 0
}

@media screen and (min-width:1025px) {
  #header .header-nav__sub {
    position: absolute;
    width: -moz-max-content;
    width: max-content;
    top: 100%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    transition: .3s ease
  }
}

@media screen and (max-width:1024px) {
  #header .header-nav__sub {
    display: none;
    border-bottom: 1px solid #e5e5e5
  }
}

#header .header-nav__sub-item:not(:last-child) {
  margin-bottom: 1px
}

#header .header-nav__sub-item>a {
  position: relative;
  display: block;
  background: hsla(0, 0%, 100%, .95);
  font-weight: 500;
  font-size: 1.2rem;
  padding: 13px 40px 11px 20px
}

@media screen and (max-width:1024px) {
  #header .header-nav__sub-item>a {
    padding: 15px 15px 15px 44px
  }
}

#header .header-nav__sub-item>a:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border: solid #d90203;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  transition: .3s ease
}

@media screen and (max-width:834px) {
  #header .header-nav__sub-item>a:after {
    right: auto;
    left: 30px
  }
}

@media screen and (max-width:1024px) {
  #header .header-nav__wp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    border-top: 1px solid #e5e5e5
  }
}

#header .js-mobile {
  position: absolute;
  width: 58px;
  height: 58px;
  background: linear-gradient(-90deg, #dc0000, #a81c23);
  color: #fff;
  top: 1px;
  right: 1px;
  cursor: pointer;
  z-index: 12;
  display: none
}

@media screen and (max-width:1024px) {
  #header .js-mobile {
    display: block
  }
}

#header .js-mobile:after {
  content: "MENU";
  font-family: Helvetica, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: .14em;
  bottom: 8px;
  transition: .3s ease
}

#header .js-mobile:after,
#header .js-mobile span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}

#header .js-mobile span {
  width: 25px;
  height: 1px;
  background: #fff;
  top: 20px
}

#header .js-mobile span:after,
#header .js-mobile span:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #fff;
  left: 0;
  transition: .3s ease
}

#header .js-mobile span:before {
  top: -9px
}

#header .js-mobile span:after {
  bottom: -9px
}

#header .js-mobile--close:after {
  content: "CLOSE"
}

#header .js-mobile--close span {
  background-color: transparent
}

#header .js-mobile--close span:before {
  transform: rotate(45deg);
  top: 0
}

#header .js-mobile--close span:after {
  transform: rotate(-45deg);
  bottom: 0
}

@media screen and (max-width:1024px) {
  .js-locked {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none
  }

  .js-locked body {
    -webkit-overflow-scrolling: auto
  }
}

.footer-btn {
  position: fixed;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 303px;
  height: 80px;
  background: linear-gradient(0deg, #f05a00, #ff8700);
  color: #fff;
  border: 3px solid #fff;
  border-right: none;
  border-radius: 40px 0 0 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, .16);
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .1em;
  padding-top: 2px;
  right: 0;
  bottom: 30px;
  z-index: 9999
}

@media screen and (max-width:1250px) {
  .footer-btn {
    gap: 10px;
    max-width: 203px;
    height: 50px;
    border-width: 2px 0 2px 2px;
    border-radius: 40px 0 0 40px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .16);
    font-size: 1.7rem
  }
}

.footer-btn:before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 28px;
  background: url(../img/index/icon-file-white.png) 50% no-repeat;
  background-size: contain
}

@media screen and (max-width:1250px) {
  .footer-btn:before {
    width: 20px;
    height: 21px;
    margin: 0 0 1px 1px
  }
}

.footer-btn .shape {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 270px;
  height: 43px;
  background: #fff;
  color: #f80;
  border-radius: 30px 0 0 30px;
  border: solid #fff;
  border-width: 2px 0 2px 2px;
  box-shadow: inset 3px 0 #f80, inset 0 3px #f80, inset 0 -3px #f80;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: .03em;
  top: -32px;
  right: 0
}

@media screen and (max-width:1250px) {
  .footer-btn .shape {
    max-width: 186px;
    height: 31px;
    font-size: 1.3rem;
    top: -23px
  }
}

.footer-btn .shape span {
  font-size: 2rem;
  margin-bottom: 2px
}

@media screen and (max-width:1250px) {
  .footer-btn .shape span {
    font-size: 1.5rem
  }
}

.footer-btn .shape strong {
  font-weight: 700;
  font-size: 2.4rem;
  margin: 0 2px 3px 4px
}

@media screen and (max-width:1250px) {
  .footer-btn .shape strong {
    font-size: 1.5rem
  }
}

.footer-btn.active {
  position: absolute;
  top: -230px;
  bottom: auto;
  opacity: 0
}

@media screen and (max-width:1250px) {
  .footer-btn.active {
    top: -160px
  }
}

.footer-brand {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 217px;
  top: -105px;
  right: 50px;
  z-index: 9999
}

@media screen and (max-width:1250px) {
  .footer-brand {
    width: 149px;
    right: 15px;
    top: -86px
  }
}

.footer-brand a,
.footer-brand span {
  display: block;
  width: 41%
}

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

  .footer-brand a,
  .footer-brand span {
    width: 46.3%
  }
}

#footer {
  margin-top: 13.5rem;
  position: relative
}

@media screen and (min-width:1025px) {
  #footer {
    background: #f5f5f5
  }
}

#page-scene .sec-cta,#page-solution .sec-cta {
  margin-bottom: 125px;
}

@media screen and (max-width:834px) {
  #page-scene .sec-cta,#page-solution .sec-cta {
    margin-bottom: 105px;
  }
}

@media screen and (max-width: 768px) {
    .l-wrapper #footer {
        margin-left: -1.5em;
        margin-right: -1.5rem;
        margin-top: 12rem
}
  }

@media screen and (min-width:1025px) {
  #footer .footer-menu {
    padding: 50px 0 52px
  }
}

@media screen and (max-width:1024px) {
  #footer .footer-menu {
    margin: 0 -15px
  }
}

@media screen and (min-width:1025px) {
  #footer .footer-menu__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  #footer .footer-menu__list-item {
    width: 14.6%
  }
}

#footer .footer-menu__list-ttl {
  font-weight: 700;
  font-size: 1.5rem
}

@media screen and (min-width:1025px) {
  #footer .footer-menu__list-ttl {
    font-size: 1.6rem;
    pointer-events: none
  }

  #footer .footer-menu__list-ttl:not(:last-child) {
    margin-bottom: 21px
  }
}

@media screen and (max-width:1024px) {
  #footer .footer-menu__list-ttl {
    display: block;
    background: #f5f5f5;
    border-top: 1px solid #e5e5e5;
    padding: 18px 30px 17px 15px;
    margin-top: initial;
  }

  #footer .footer-menu__list-ttl.js-accor {
    position: relative
  }

  #footer .footer-menu__list-ttl.js-accor:after,
  #footer .footer-menu__list-ttl.js-accor:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    border: 0;
    background: #d00;
    top: 51%;
    left: auto;
    right: 14px;
    transform: translateY(-50%);
    transition: .3s ease;
    z-index: 1
  }

  #footer .footer-menu__list-ttl.js-accor:after {
    transform: translateY(-50%) rotate(90deg)
  }

  #footer .footer-menu__list-ttl.js-accor.on:after {
    transform: translateY(-50%)
  }

  #footer .footer-menu__list-ttl.js-accor>a:after {
    display: none
  }
}

#footer .footer-menu__list-ttl a {
  position: relative;
  display: inline-block;
  padding-left: 18px
}

@media screen and (min-width:1025px) {
  #footer .footer-menu__list-ttl a {
    pointer-events: auto
  }
}

@media screen and (max-width:1024px) {
  .sp-click {
    pointer-events: initial !important;
  }
}

@media screen and (max-width:1024px) {
  #footer .footer-menu__list-ttl a {
    display: block;
    margin: -18px -30px -17px -15px;
    padding: 18px 30px 17px 15px;
    pointer-events: none
  }
}

#footer .footer-menu__list-ttl a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: solid #d00;
  border-width: 2px 2px 0 0;
  top: 7px;
  left: -1px;
  transform: rotate(45deg)
}

@media screen and (max-width:1024px) {
  #footer .footer-menu__list-ttl a:after {
    top: 50%;
    left: auto;
    right: 20px;
    transform: translateY(-50%) rotate(45deg)
  }
}

@media (any-hover:hover) {
  #footer .footer-menu__list-ttl a:hover {
    opacity: 1;
    text-decoration: underline
  }
}

@media screen and (min-width:1025px) {
  #footer .footer-menu__sub:not(:last-child) {
    margin-bottom: 21px
  }
}

@media screen and (max-width:1024px) {
  #footer .footer-menu__sub {
    display: none
  }
}

@media screen and (min-width:1025px) {
  #footer .footer-menu__sub-item:not(:last-child) {
    margin-bottom: 20px
  }
}

#footer .footer-menu__sub-item a {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.5
}

@media screen and (max-width:1024px) {
  #footer .footer-menu__sub-item a {
    position: relative;
    display: block;
    border-top: 1px solid #e5e5e5;
    font-size: 1.5rem;
    padding: 18px 30px 17px 15px
  }

  #footer .footer-menu__sub-item a:after {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border: solid #d00;
    border-width: 2px 2px 0 0;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg)
  }
}

@media (any-hover:hover) {
  #footer .footer-menu__sub-item a:hover {
    opacity: 1;
    text-decoration: underline
  }
}

#footer .footer-info {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 12px 41px;
  color: #fff;
  padding: 27px 0 25px;
  z-index: 1
}

@media screen and (min-width:835px) {
  #footer .footer-info {
    margin: 0 -15px
  }
}

@media screen and (max-width:834px) {
  #footer .footer-info {
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 15px 0;
    padding: 26px 0 24px
  }
}

#footer .footer-info:before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  background: #595959;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1
}

@media screen and (max-width:834px) {
  #footer .footer-info__item {
    width: 47%
  }
}

@media screen and (min-width:835px) {
  #footer .footer-info__item {
    position: relative
  }

  #footer .footer-info__item:not(:last-child):after {
    content: "";
    position: absolute;
    width: 1px;
    height: 14px;
    background: #fff;
    top: 2px;
    right: -21px;
    pointer-events: none
  }
}

#footer .footer-info__item a {
  display: inline-block;
  font-size: 1.4rem
}

@media screen and (max-width:834px) {
  #footer .footer-info__item a {
    position: relative;
    display: block;
    line-height: 1.5;
    padding-left: 15px
  }

  #footer .footer-info__item a:after {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    border: solid #fff;
    border-width: 2px 2px 0 0;
    top: 7px;
    left: -2px;
    transform: rotate(45deg)
  }
}

@media screen and (max-width:359px) {
  #footer .footer-info__item a {
    font-size: 1.3rem
  }

  #footer .footer-info__item a:after {
    top: 6px
  }
}

#footer .footer-copy {
  text-align: center;
  position: relative;
  color: #fff;
  font-size: 1.2rem;
  padding: 20px 0 16px;
  z-index: 1
}

@media screen and (min-width:835px) {
  #footer .footer-copy {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
    font-size: 1.4rem;
    padding: 21px 0 19px
  }
}

@media screen and (max-width:359px) {
  #footer .footer-copy {
    font-size: 1rem
  }
}

#footer .footer-copy:before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  background: #212121;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1
}

#footer .footer-copy a,
#footer .footer-copy span {
  display: block;
  width: 100%;
  max-width: 140px
}

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

  #footer .footer-copy a,
  #footer .footer-copy span {
    margin: 0 auto 12px
  }
}

#footer .footer-copy a img,
#footer .footer-copy span img {
  width: 100%
}

.sec-mv {
  background: url(../img/index/mv-bg-pc.jpg) 50% no-repeat;
  background-size: cover;
  padding: 45px 20px 132px
}

@media screen and (max-width:834px) {
  .sec-mv {
    background: url(../img/index/mv-bg-sp.jpg) 50% no-repeat;
    background-size: cover;
    border-top-width: 4px;
    padding: 20px 0 25px
  }
}

.sec-mv .inner {
  position: relative;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-mv .inner {
    max-width: 480px
  }
}

.sec-mv__ttl {
  font-weight: 700;
  font-size: 7rem;
  letter-spacing: .1em;
  margin-bottom: 34px
}

@media screen and (max-width:834px) {
  .sec-mv__ttl {
    font-size: 3.5rem;
    letter-spacing: .12em;
    margin-bottom: 10px;
    line-height: 1.2;
  }
}

.sec-mv__ttl .line {
  display: block;
  font-size: 4rem;
  letter-spacing: .1em;
  margin-bottom: 6px
}

@media screen and (max-width:834px) {
  .sec-mv__ttl .line {
    font-size: 2.5rem;
    letter-spacing: .12em;
    margin-bottom: 1px
  }
}

.sec-mv__ttl .smaller {
  font-size: 3rem
}

@media screen and (max-width:834px) {
  .sec-mv__ttl .smaller {
    font-size: 2rem
  }
}

.sec-mv__btn {
  max-width: 584px
}

@media screen and (max-width:640px) {
  .sec-mv__btn {
    max-width: 187px
  }
}

.sec-mv__btn a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 84px;
  background: linear-gradient(45deg, #f80 1%, #ffa033);
  color: #fff;
  border: 2px solid #ff8801;
  border-radius: 50px;
  box-shadow: inset 2px 0 #fff, inset 0 2px #fff, inset -2px 0 #fff, inset 0 -2px #fff, inset 0 0 10px hsla(0, 54%, 84%, .4);
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: .1em;
  padding-top: 2px
}

@media screen and (max-width:834px) {
  .sec-mv__btn a {
    max-width: 300px;
    height: 54px;
    border-width: 1px;
    box-shadow: inset 1px 0 #fff, inset 0 1px #fff, inset -1px 0 #fff, inset 0 -1px #fff, inset 0 0 5px hsla(0, 54%, 84%, .4);
    font-family: Noto Sans JP, sans-serif;
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: .08em
  }
}

@media screen and (max-width:640px) {
  .sec-mv__btn a {
    display: block;
    letter-spacing: -.09em;
    padding: 8px 15px 0 49px
  }
}

.sec-mv__btn a:not(:last-child) {
  margin-bottom: 6px
}

@media screen and (max-width:834px) {
  .sec-mv__btn a:not(:last-child) {
    margin-bottom: 7px
  }
}

.sec-mv__btn a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 53px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .sec-mv__btn a:after {
    width: 4px;
    height: 4px;
    border-width: 1px 1px 0 0;
    right: 28px
  }
}

@media screen and (max-width:640px) {
  .sec-mv__btn a:after {
    right: 10px
  }
}

.sec-mv__btn a span {
  font-size: 1.8rem;
  letter-spacing: .1em;
  margin: 3px 8px 0 2px
}

@media screen and (max-width:834px) {
  .sec-mv__btn a span {
    font-size: 1.2rem;
    margin: 0 0 -2px
  }
}

@media screen and (max-width:640px) {
  .sec-mv__btn a span {
    display: block
  }
}

.sec-mv__btn a .circle {
  text-align: center;
  position: absolute;
  width: 104px;
  height: 104px;
  background: #fff;
  color: #f80;
  border-radius: 50%;
  border: 2px solid #f80;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  padding-top: 34px;
  top: -40px;
  left: -32px
}

@media screen and (max-width:834px) {
  .sec-mv__btn a .circle {
    width: 53px;
    height: 53px;
    border-width: 1px;
    font-size: 1rem;
    letter-spacing: 0;
    padding-top: 13px;
    top: -11px;
    left: -8px
  }
}

.sec-mv__btn a .circle:before {
  content: "";
  position: absolute;
  width: 31px;
  height: 33px;
  background: url(../img/index/icon-file.png) 50% no-repeat;
  background-size: contain;
  top: 12px;
  left: 50%;
  transform: translateX(-50%)
}

@media screen and (max-width:834px) {
  .sec-mv__btn a .circle:before {
    width: 16px;
    height: 22px;
    top: 0
  }
}

.sec-mv__btn a .circle:after {
  content: "";
  position: absolute;
  width: 26px;
  height: 23px;
  background: #fff;
  clip-path: polygon(46% 0, 0 50%, 100% 100%);
  bottom: 1px;
  right: -4px
}

@media screen and (max-width:834px) {
  .sec-mv__btn a .circle:after {
    width: 13px;
    height: 12px;
    right: -2px
  }
}

.sec-mv__btn a .circle strong {
  font-weight: 500;
  font-size: 3.6rem
}

@media screen and (max-width:834px) {
  .sec-mv__btn a .circle strong {
    font-size: 2rem
  }
}

.sec-mv__btn a:nth-child(2n) {
  background: #fff;
  color: #f80;
  border-color: #fff;
  box-shadow: inset 2px 0 #f80, inset 0 2px #f80, inset -2px 0 #f80, inset 0 -2px #f80
}

@media screen and (max-width:834px) {
  .sec-mv__btn a:nth-child(2n) {
    box-shadow: inset 1px 0 #f80, inset 0 1px #f80, inset -1px 0 #f80, inset 0 -1px #f80;
    letter-spacing: .02em
  }
}

.sec-mv__btn a:nth-child(2n):after {
  border-color: #f80
}

.sec-mv__btn a:nth-child(2n):before {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  background: #f80 url(../img/index/icon-file-white.png) 50% no-repeat;
  background-size: 37px 39px;
  border-radius: 50%;
  left: 4px;
  top: 50%;
  transform: translateY(-50%)
}

@media screen and (max-width:834px) {
  .sec-mv__btn a:nth-child(2n):before {
    width: 40px;
    height: 40px;
    background-size: 22px 24px;
    left: 5px
  }
}

.sec-mv__txt {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: .06em;
  margin-bottom: 25px
}

@media screen and (min-width:835px) {
  .sec-mv__txt {
    position: absolute;
    width: 100%;
    font-size: 2.4rem;
    letter-spacing: .07em;
    /* left: 14px; */
    bottom: -107px;
    line-height: 1.4;
  }
}

.sec-mv__txt .smaller {
  font-size: 1.8rem
}

@media screen and (max-width:834px) {
  .sec-mv__txt .smaller {
    font-size: 1.6rem
  }
}

.sec-mv__txt .smaller:nth-of-type(3) {
  margin-right: 8px
}

.sec-mv__txt .bigger {
  position: relative;
  display: inline-block;
  font-size: 3.6rem;
  letter-spacing: .08em
}

@media screen and (max-width:834px) {
  .sec-mv__txt .bigger {
    font-size: 2.75rem;
    letter-spacing: .056em
  }
}

.sec-mv__txt .bigger:before {
  content: "";
  position: absolute;
  background: #ffa033;
  width: calc(100% + 69px);
  height: 10px;
  right: 0px;
  bottom: 7px;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-mv__txt .bigger:before {
    width: calc(100% - 3px);
    height: 7px;
    right: 0
  }
}

.sec-mv__img {
  position: absolute;
  width: calc(100% - 555px);
  max-width: 511px;
  bottom: -132px;
  right: 14px;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-mv__img {
    width: 174px;
    bottom: -25px;
    right: 0
  }
}

.sec-intro {
  padding-top: 60px;
  overflow: hidden
}

@media screen and (max-width:834px) {
  .sec-intro {
    padding-top: 31px
  }
}

.intro-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 43px
}

@media screen and (max-width:1024px) {
  .intro-list {
    gap: 8px;
    margin: 0 -1px 13px
  }
}

.intro-list__item {
  text-align: center;
  width: 269px;
  height: 131px;
  background: url(../img/index/intro-shape-pc.png) 50% no-repeat;
  background-size: 100% 100%;
  color: #96781e;
  font-size: 1.6rem;
  letter-spacing: .1em;
  padding-top: 13px
}

@media screen and (max-width:834px) {
  .intro-list__item {
    width: 111px;
    height: 70px;
    font-size: 1rem;
    padding-top: 11px
  }
}

.intro-list__item p {
  font-weight: 700;
  font-size: 2rem;
  margin-bottom: -7px
}

@media screen and (max-width:834px) {
  .intro-list__item p {
    font-size: 1rem;
    margin-bottom: -2px
  }
}

.intro-list__item span {
  font-family: Helvetica, sans-serif;
  color: #c80000;
  font-size: 4.2rem;
  letter-spacing: .01em;
  margin-left: -3px;
  font-weight: 600;
}

@media screen and (max-width:834px) {
  .intro-list__item span {
    font-size: 1.7rem
  }
}

.intro-list__item small {
  color: #999;
  font-size: 1rem;
  margin-right: -20px
}

@media screen and (max-width:834px) {
  .intro-list__item small {
    text-align: right;
    display: block;
    padding-right: 26px;
    margin: 0
  }
}

.intro-txt {
  color: #999;
  font-size: 1rem;
  letter-spacing: .06em;
  line-height: 1.2;
  margin-bottom: 17px
}

@media screen and (min-width:991px) {
  .intro-txt {
    text-align: right;
    margin-bottom: 5px
  }
}

.intro-brand {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  width: -moz-max-content;
  width: max-content;
  overflow: hidden;
  white-space: nowrap;
  animation: a 60s linear infinite;
  border: solid #c80000;
  border-width: 1px 0;
  margin: 0 min(-15px, (100% - 100vw)/2)
}

@media screen and (min-width:835px) {
  .intro-brand {
    /* padding-bottom: 10px */
  }
}

.intro-brand__item {
  height: 70px
}

/* ↓↓↓↓ 2025.1001追記 */
.intro-brand__item img {
  width: auto;
  height: 100%;
}

@media screen and (max-width:834px) {
  .intro-brand__item {
    height: 54px
  }


  .intro-brand__item img {
    width: 1329px;
    height: 54px
  }

}

/* ↑↑↑↑ 2025.1001追記 */

@keyframes a {
  0% {
    transform: translate(0)
  }

  to {
    transform: translate(-50%)
  }
}

.sec-about {
  position: relative;
  background: #f6f5f2;
  padding: 92px 0 88px
}

@media screen and (max-width:834px) {
  .sec-about {
    padding: 15px 0 28px
  }
}

.sec-about:before {
  content: "";
  position: absolute;
  width: 272px;
  height: 309px;
  background: url(../img/index/about-shape1-pc.png) 50% no-repeat;
  background-size: contain;
  top: 264px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-about:before {
    width: 127px;
    height: 266px;
    background: url(../img/index/about-shape1-sp.png) 50% no-repeat;
    background-size: contain;
    top: 56px
  }
}

.sec-about:after {
  content: "";
  position: absolute;
  width: 362px;
  height: 373px;
  background: url(../img/index/about-shape2-pc.png) 50% no-repeat;
  background-size: contain;
  bottom: -231px;
  right: 0;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-about:after {
    width: 110px;
    height: 182px;
    background: url(../img/index/about-shape2-sp.png) 50% no-repeat;
    background-size: contain;
    bottom: -74px
  }
}

.about-wrap {
  position: relative;
  margin-bottom: 56px;
  z-index: 1
}

@media screen and (max-width:834px) {
  .about-wrap {
    padding: 27px 15px 0;
    margin: 0 -15px 22px;
    overflow: hidden
  }
}

.about-wrap__txt {
  max-width: 595px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0em
}

@media screen and (max-width:834px) {
  .about-wrap__txt {
    font-size: 1.6rem
  }
}

.about-wrap__img {
  position: absolute;
  width: calc(100% - 640px);
  max-width: 369px;
  top: -32px;
  right: 49px
}

@media screen and (max-width:834px) {
  .about-wrap__img {
    width: 128px;
    top: 0;
    right: -26px
  }
}

.about-list {
  position: relative
}

@media screen and (min-width:641px) {
  .about-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
  }
}

.about-list__item {
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .08);
  font-size: 1.6rem;
  line-height: 2.1;
  letter-spacing: .1em;
  padding: 43px 40px 50px
}

@media screen and (max-width:834px) {
  .about-list__item {
    font-size: 1.4rem;
    line-height: 1.63;
    padding: 21px 20px 25px
  }
}

@media screen and (max-width:640px) {
  .about-list__item:not(:last-child) {
    margin-bottom: 24px
  }
}

@media screen and (min-width:641px) {
  .about-list__item--main {
    grid-column: span 2
  }
}

@media screen and (max-width:640px) {
  .about-list__item--main:not(:last-child) {
    margin-bottom: 17px
  }
}

@media screen and (min-width:641px) {
  .about-list__wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -3px
  }
}

@media screen and (max-width:640px) {
  .about-list__wrap {
    position: relative;
    padding-bottom: 52px
  }

  .about-list__wrap .c-btn__01 {
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%)
  }
}

@media screen and (min-width:641px) {
  .about-list__wrap-ct {
    width: 49%;
    max-width: 495px;
    line-height: 1.5
  }

  .about-list__wrap-ct .c-ttl__02 {
    margin-bottom: 28px
  }
}

@media screen and (min-width:641px) {
  .about-list__wrap-img {
    width: 49%;
    max-width: 495px;
    margin-top: 5px
  }
}

.about-list__note {
  margin: 21px 0 27px
}

@media screen and (max-width:834px) {
  .about-list__note {
    margin: 10px 0 19px
  }
}

.about-list__note-item {
  position: relative;
  /* letter-spacing: .09em; */
  padding-left: 17px
}

@media screen and (max-width:834px) {
  .about-list__note-item {
    line-height: 1.65;
    padding-left: 15px
  }
}

.about-list__note-item:not(:last-child) {
  margin-bottom: 8px
}

@media screen and (max-width:834px) {
  .about-list__note-item:not(:last-child) {
    margin-bottom: 5px
  }
}

.about-list__note-item:before {
  content: "・";
  position: absolute;
  color: #c80000;
  top: 0;
  left: 0
}

.about-list__img {
  position: relative;
  margin: 31px 0
}

@media screen and (max-width:834px) {
  .about-list__img {
    margin: 14px 0 20px
  }
}

.about-list__img:before {
  content: "";
  display: block;
  padding-bottom: 65.0505050505%
}

@media screen and (max-width:640px) {
  .about-list__img:before {
    padding-bottom: 58.6885245902%
  }
}

.about-list__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.sec-tvcm {
  position: relative;
  padding: 92px 0 100px
}

@media screen and (max-width:834px) {
  .sec-tvcm {
    padding: 42px 0 31px
  }
}

.sec-tvcm:after,
.sec-tvcm:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  left: 0
}

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

  .sec-tvcm:after,
  .sec-tvcm:before {
    height: 25px
  }
}

.sec-tvcm:before {
  background: #f6f5f2;
  top: 0
}

.sec-tvcm:after {
  background: #fff;
  bottom: -100px;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-tvcm:after {
    bottom: -25px
  }
}

.tvcm-list {
  position: relative;
  margin-top: 24px;
  z-index: 2
}

@media screen and (min-width:641px) {
  .tvcm-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 51px
  }
}

.tvcm-list__item {
  background: #edebe6;
  border: 1px solid #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .08);
  padding: 41px 39px 47px
}

@media screen and (max-width:834px) {
  .tvcm-list__item {
    padding: 20px 19px 24px
  }
}

@media screen and (max-width:640px) {
  .tvcm-list__item:not(:last-child) {
    margin-bottom: 20px
  }
}

.tvcm-list__img {
  position: relative;
  margin: 31px 0 40px
}

@media screen and (max-width:834px) {
  .tvcm-list__img {
    margin: 21px 0 20px
  }
}

.tvcm-list__img:before {
  content: "";
  display: block;
  padding-bottom: 56.3636363636%
}

.tvcm-list__img iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.sec-solution {
  position: relative;
  background: #f6f5f2;
  padding: 69px 0 52px
}

@media screen and (min-width:835px) {
  .sec-solution {
    padding: 193px 0 120px
  }

  .sec-solution:after {
    content: "";
    position: absolute;
    width: 415px;
    height: 570px;
    background: url(../img/index/solution-shape2-pc.png) 50% no-repeat;
    background-size: contain;
    top: 490px;
    right: 0
  }
}

.sec-solution:before {
  content: "";
  position: absolute;
  width: 349px;
  height: 524px;
  background: url(../img/index/solution-shape1-pc.png) 50% no-repeat;
  background-size: contain;
  top: -404px;
  left: 0;
  z-index: 1
}

#page-scene .sec-solution:before {
  display: none;
}

@media screen and (max-width:834px) {
  .sec-solution:before {
    width: 75px;
    height: 59px;
    background: url(../img/index/solution-shape1-sp.png) 50% no-repeat;
    background-size: contain;
    top: -8px
  }
}

.solution-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 18px;
  counter-reset: a;
  margin: 51px 0 30px;
  z-index: 1
}

@media screen and (max-width:1250px) {
  .solution-list {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media screen and (max-width:834px) {
  .solution-list {
    margin: 24px 0 22px;
    gap: 16px 15px
  }
}

.solution-list__item {
  position: relative;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .08);
  padding: 31px 30px 39px
}

@media screen and (max-width:834px) {
  .solution-list__item {
    padding: 19px 10px 15px
  }
}

.solution-list__item:before {
  counter-increment: a;
  content: counter(a, decimal-leading-zero);
  position: absolute;
  color: #c80000;
  font-family: Helvetica, sans-serif;
  font-weight: 700;
  font-size: 4rem;
  top: -23px;
  left: 18px
}

@media screen and (max-width:834px) {
  .solution-list__item:before {
    font-size: 2.3rem;
    top: -16px;
    left: 9px
  }
}

.solution-list__ttl {
  text-align: center;
  border-bottom: 1px solid #c80000;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: .06em;
  padding-bottom: 12px;
  margin-bottom: 50px
}

@media screen and (max-width:834px) {
  .solution-list__ttl {
    font-size: 1.4rem;
    line-height: 1.15;
    padding-bottom: 8px;
    margin-bottom: 9px
  }
}

.solution-list__img {
  position: relative
}

.solution-list__img:before {
  content: "";
  display: block;
  padding-bottom: 62.893081761%
}

@media screen and (max-width:834px) {
  .solution-list__img:before {
    padding-bottom: 55.1724137931%
  }
}

.solution-list__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.solution-list__btn {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 71px;
  color: #c80000;
  border: 1px solid #b6191e;
  border-radius: 35px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  margin-top: 50px
}

.solution-list__btn:hover {
  color: #fff;
  background-color: #c80000;
}

@media screen and (max-width:834px) {
  .solution-list__btn {
    height: 31px;
    font-size: 1.2rem;
    margin-top: 12px
  }
}

.solution-list__btn:after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border: solid #c80000;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 53px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .solution-list__btn:after {
    width: 4px;
    height: 4px;
    border-width: 1px 1px 0 0;
    right: 20px
  }
}

.solution-btn {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 343px;
  height: 45px;
  color: #b6191e;
  border: 1px solid #b6191e;
  border-radius: 35px;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  margin: 20px auto 0
}

.solution-btn:after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border: solid #b6191e;
  border-width: 0 1px 1px 0;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg)
}

/* ↓↓↓ 1001追加 */

.solution-btn.open::after {
  transform: translateY(-50%) rotate(-135deg);
  /* ▲ */
}

@media screen and (min-width:835px) {
  .solution-btn {
    display: none
  }

  #extra-cards {
    display: block !important;
  }

  #see-more {
    display: none;
  }
}

@media screen and (max-width:834px) {
  #extra-cards {
    display: none;
    width: 100%;
    transition: all 0.3s ease;
  }

  #extra-cards .solution-list {
    margin: 0px 0 22px;
    counter-reset: item 6;
    /* ← 6にすることで最初が07になる */
  }

}

/* ↑↑↑1001追加 */



.sec-cta {
  position: relative;
  background: radial-gradient(50% 50%, #d00 0, #c30e12 49%, #a81c23 100%);
  padding: 54px 30px 52px;
  z-index: 2
}

@media screen and (max-width:1500px) {
  .sec-cta {
    overflow: hidden
  }
}

@media screen and (max-width:990px) {
  .sec-cta {
    padding: 37px 0 41px
  }
}

.sec-cta:before {
  content: "";
  position: absolute;
  width: 174px;
  height: 413px;
  background: url(../img/index/cta-sub1.png) top no-repeat;
  background-size: cover;
  bottom: 0;
  left: calc(50% - 563px);
  transform: translateX(-50%);
  z-index: 1
}

@media screen and (max-width:1250px) {
  .sec-cta:before {
    left: calc(50% - 460px)
  }
}

@media screen and (max-width:990px) {
  .sec-cta:before {
    width: 86px;
    height: 217px;
    bottom: 118px;
    left: calc(50% - 172px)
  }
}

.sec-cta:after {
  content: "";
  position: absolute;
  width: 180px;
  height: 383px;
  background: url(../img/index/cta-sub2.png) top no-repeat;
  background-size: cover;
  bottom: 0;
  left: calc(50% + 560px);
  transform: translateX(-50%);
  z-index: 1
}

@media screen and (max-width:1250px) {
  .sec-cta:after {
    left: calc(50% + 430px)
  }
}

@media screen and (max-width:990px) {
  .sec-cta:after {
    width: 88px;
    height: 202px;
    bottom: 120px;
    left: calc(50% + 157px)
  }
}

.sec-cta .inner {
  max-width: 1534px
}

.cta-ttl {
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.3;
  letter-spacing: .09em;
  margin-bottom: 43px
}

@media screen and (max-width:1500px) {
  .cta-ttl {
    margin-bottom: 85px
  }
}

@media screen and (max-width:990px) {
  .cta-ttl {
    font-size: 2.1rem
  }
}

.cta-ttl small {
  font-size: 3rem
}

@media screen and (max-width:990px) {
  .cta-ttl small {
    font-size: 1.8rem
  }

  .cta-ttl small.smaller {
    font-size: 2.3rem
  }
}

.cta-ttl strong {
  font-weight: 700;
  font-size: 4.8rem;
  letter-spacing: .1em
}

@media screen and (max-width:990px) {
  .cta-ttl strong {
    font-size: 2.8rem
  }
}

.cta-ttl>span {
  position: relative;
  display: inline-block;
  padding: 0 51px
}

@media screen and (max-width:990px) {
  .cta-ttl>span {
    padding: 0 20px
  }
}

.cta-ttl>span:after,
.cta-ttl>span:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 100px;
  background: hsla(0, 0%, 100%, .5);
  border-radius: 3px;
  bottom: -7px
}

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

  .cta-ttl>span:after,
  .cta-ttl>span:before {
    width: 4px;
    height: 90px;
    bottom: 34px
  }
}

.cta-ttl>span:before {
  left: 0;
  transform: rotate(-30deg)
}

.cta-ttl>span:after {
  right: 0;
  transform: rotate(30deg)
}

@media screen and (min-width:1501px) {
  .cta-btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

.cta-btn a {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 49.5%;
  height: 105px;
  background: linear-gradient(45deg, #f80 1%, #ffa033);
  color: #fff;
  box-shadow: inset 2px 0 #fff, inset 0 2px #fff, inset -2px 0 #fff, inset 0 -2px #fff, inset 0 0 10px hsla(0, 54%, 84%, .4);
  border: 2px solid #ff8801;
  border-radius: 60px;
  font-weight: 700;
  font-size: 3.4rem;
  letter-spacing: .1em;
  z-index: 2
}

@media screen and (max-width:1500px) {
  .cta-btn a {
    width: 100%;
    max-width: 660px;
    margin: 0 auto
  }

  .cta-btn a:not(:last-child) {
    margin-bottom: 15px
  }
}

@media screen and (max-width:990px) {
  .cta-btn a {
    max-width: 400px;
    height: 49px;
    border-width: 1px;
    box-shadow: inset 1px 0 #fff, inset 0 1px #fff, inset -1px 0 #fff, inset 0 -1px #fff, inset 0 0 10px hsla(0, 54%, 84%, .4);
    font-family: Noto Sans JP, sans-serif;
    font-weight: 500;
    font-size: 1.8rem;
    letter-spacing: .03em
  }
}

.cta-btn a:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: solid #fff;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 70px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .cta-btn a:after {
    width: 4px;
    height: 4px;
    border-width: 1px 1px 0 0;
    right: 16px
  }
}

.cta-btn a span {
  font-size: 2.4rem;
  letter-spacing: .1em;
  margin: 7px 10px 0 0
}

@media screen and (max-width:990px) {
  .cta-btn a span {
    font-size: 1.5rem;
    letter-spacing: 0;
    margin: 2px 4px 0
  }
}

.cta-btn a .circle {
  text-align: center;
  position: absolute;
  width: 132px;
  height: 132px;
  background: #fff;
  color: #f80;
  border-radius: 50%;
  border: 2px solid #f80;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  padding-top: 48px;
  top: -72px;
  left: -41px
}

@media screen and (max-width:990px) {
  .cta-btn a .circle {
    width: 59px;
    height: 59px;
    border-width: 1px;
    font-size: 1rem;
    letter-spacing: 0;
    padding-top: 18px;
    top: -32px;
    left: -10px
  }
}

.cta-btn a .circle:before {
  content: "";
  position: absolute;
  width: 40px;
  height: 42px;
  background: url(../img/index/icon-file.png) 50% no-repeat;
  background-size: contain;
  top: 16px;
  left: 50%;
  transform: translateX(-50%)
}

@media screen and (max-width:990px) {
  .cta-btn a .circle:before {
    width: 18px;
    height: 18px;
    top: 5px
  }
}

.cta-btn a .circle:after {
  content: "";
  position: absolute;
  width: 36px;
  height: 27px;
  background: #fff;
  clip-path: polygon(50% 0, 0 42%, 100% 100%);
  bottom: 3px;
  right: -5px
}

@media screen and (max-width:990px) {
  .cta-btn a .circle:after {
    width: 16px;
    height: 14px;
    bottom: 0;
    right: -3px
  }
}

.cta-btn a .circle strong {
  font-weight: 500;
  font-size: 4rem
}

@media screen and (max-width:990px) {
  .cta-btn a .circle strong {
    font-size: 2rem
  }
}

.cta-btn a:nth-child(2n) {
  background: #fff;
  color: #f80;
  border-color: #fff;
  box-shadow: inset 2px 0 #f80, inset 0 2px #f80, inset -2px 0 #f80, inset 0 -2px #f80
}

@media screen and (max-width:990px) {
  .cta-btn a:nth-child(2n) {
    box-shadow: inset 1px 0 #f80, inset 0 1px #f80, inset -1px 0 #f80, inset 0 -1px #f80;
    letter-spacing: .08em
  }

  .cta-btn a:nth-child(2n) span {
    letter-spacing: .07em;
    margin: 3px 4px 0 5px
  }
}

.cta-btn a:nth-child(2n):after {
  border-color: #f80
}

.cta-btn a:nth-child(2n):before {
  content: "";
  position: absolute;
  width: 92px;
  height: 92px;
  background: #f80 url(../img/index/icon-file-white.png) 50% no-repeat;
  background-size: 48px 50px;
  border-radius: 50%;
  left: 4px;
  top: 50%;
  transform: translateY(-50%)
}

@media screen and (max-width:990px) {
  .cta-btn a:nth-child(2n):before {
    width: 40px;
    height: 40px;
    background-size: 23px 23px;
    left: 4px
  }
}

.sec-customer {
  position: relative;
  padding: 92px 0 100px;
  z-index: 1;
}

.sec-customer .c-txt__basic {
  font-size: 1.9rem;
}

@media screen and (max-width:834px) {
  .sec-customer {
    padding: 45px 0 50px;
  }

  .sec-customer .c-txt__basic {
    font-size: 1.4rem;
  }
}

.sec-customer:before {
  content: "";
  position: absolute;
  width: 320px;
  height: 575px;
  background: url(../img/index/customer-shape1-pc.png) 50% no-repeat;
  background-size: contain;
  top: 1px;
  right: 0;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-customer:before {
    width: 142px;
    height: 287px;
    background: url(../img/index/customer-shape1-sp.png) 50% no-repeat;
    background-size: contain;
    top: -155px
  }
}

.sec-customer:after {
  content: "";
  position: absolute;
  width: 296px;
  height: 461px;
  background: url(../img/index/customer-shape2-pc.png) 50% no-repeat;
  background-size: contain;
  bottom: -127px;
  left: 0;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-customer:after {
    width: 85px;
    height: 179px;
    background: url(../img/index/customer-shape2-sp.png) 50% no-repeat;
    background-size: contain;
    bottom: -54px
  }
}

.customer-list {
  margin: 24px 0 20px
}

@media screen and (min-width:641px) {
  .customer-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 52px 0 60px
  }
}

@media screen and (min-width:641px) and (max-width:1024px) {
  .customer-list {
    grid-template-columns: repeat(2, 1fr)
  }
}

.customer-list__item {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .08)
}

@media screen and (max-width:640px) {
  .customer-list__item:not(:last-child) {
    margin-bottom: 20px
  }
}

.customer-list__item a {
  position: relative;
  display: block
}

.customer-list__item a:before {
  content: "";
  position: absolute;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 2px solid #d00;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 1;
  transition: .3s ease;
  pointer-events: none
}

@media (any-hover:hover) {
  .customer-list__item a:hover {
    opacity: 1;
    box-shadow: .6rem .6rem 1.2rem rgba(0, 0, 0, .12)
  }

  .customer-list__item a:hover:before {
    opacity: 1
  }

  .customer-list__item a:hover .customer-list__ct-ttl {
    color: #d00;
    text-decoration: underline
  }
}

.customer-list__img {
  position: relative
}

.customer-list__img:before {
  content: "";
  display: block;
  padding-bottom: 56.2162162162%
}

.customer-list__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover
}

.customer-list__ct {
  font-size: 1.4rem;
  line-height: 1.8;
  padding: 25px
}

@media screen and (max-width:834px) {
  .customer-list__ct {
    padding: 20px 15px
  }
}

.customer-list__ct-ttl {
  position: relative;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  padding-left: 16px;
  margin-bottom: 10px;
  transition: .3s ease
}

.customer-list__ct-ttl:before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: solid #d00;
  border-width: 2px 2px 0 0;
  top: 8px;
  left: 0;
  transform: rotate(45deg)
}

.customer-list__ct-tag {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px
}

@media screen and (max-width:834px) {
  .customer-list__ct-tag {
    margin-top: 20px
  }
}

.customer-list__ct-tag span {
  color: #d00;
  border: 1px solid #d00;
  border-radius: 30px;
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 2px 12px
}

.sec-seminar {
  position: relative;
  background: #f6f5f2;
  padding: 192px 0 101px
}

@media screen and (max-width:834px) {
  .sec-seminar {
    padding: 67px 0 31px
  }
}

.sec-seminar:after,
.sec-seminar:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  left: 0
}

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

  .sec-seminar:after,
  .sec-seminar:before {
    height: 25px
  }
}

.sec-seminar:before {
  background: #fff;
  top: 0
}

.sec-seminar:after {
  background: #f6f5f2;
  bottom: -100px
}

@media screen and (max-width:834px) {
  .sec-seminar:after {
    bottom: -25px
  }
}

.seminar-list {
  margin: 25px 0 31px
}

@media screen and (min-width:641px) {
  .seminar-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 52px 0 60px
  }
}

@media screen and (min-width:641px) and (max-width:1024px) {
  .seminar-list {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media screen and (max-width:640px) {
  .seminar-list__item:not(:last-child) {
    margin-bottom: 21px
  }
}

.seminar-list__item a {
  display: block;
  height: 100%;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .08)
}

@media (any-hover:hover) {
  .seminar-list__item a:hover {
    opacity: 1
  }

  .seminar-list__item a:hover .seminar-list__img img {
    transform: scale(1.1);
    opacity: .8
  }

  .seminar-list__item a:hover .seminar-list__ct-ttl {
    color: #980000
  }
}

.seminar-list__img {
  position: relative;
  background: #000;
  overflow: hidden
}

.seminar-list__img:before {
  content: "";
  display: block;
  padding-bottom: 56.25%
}

.seminar-list__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  transition: .3s ease
}

.seminar-list__ct {
  font-weight: 700;
  padding: 30px 30px 36px
}

@media screen and (max-width:834px) {
  .seminar-list__ct {
    padding: 10px 12px 20px
  }
}

.seminar-list__ct-cat {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px
}

.seminar-list__ct-cat span {
  background: #980000;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.5;
  padding: 0 6px
}

@media screen and (max-width:834px) {
  .seminar-list__ct-cat span {
    padding: 2px 9px
  }
}

.seminar-list__ct-cat span.orange {
  background: #eeb203
}

.seminar-list__ct-cat span.blue {
  background: #5768d1
}

.seminar-list__ct-cat span.end {
  background: #aaa
}

.seminar-list__ct-day {
  font-size: 1.8rem;
  line-height: 1.8
}

@media screen and (max-width:834px) {
  .seminar-list__ct-day {
    font-size: 1.6rem
  }
}

.seminar-list__ct-day span {
  font-size: 1.3rem
}

.seminar-list__ct-time {
  font-size: 1.4rem
}

.seminar-list__ct-tag {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin: 7px 0 11px
}

@media screen and (max-width:834px) {
  .seminar-list__ct-tag {
    gap: 6px;
    margin: 5px 0 12px
  }
}

.seminar-list__ct-tag span {
  display: inline-block;
  color: #980000;
  border-radius: 30px;
  border: 1px solid #980000;
  font-size: 1.2rem;
  padding: 1px 15px 2px
}

@media screen and (max-width:834px) {
  .seminar-list__ct-tag span {
    font-size: 1rem;
    padding: 0 13px 2px
  }
}

.seminar-list__ct-ttl {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.3;
  transition: .3s ease
}

@media screen and (max-width:834px) {
  .seminar-list__ct-ttl {
    line-height: 1.43
  }
}

.seminar-news {
  margin: 30px 0
}

@media screen and (min-width:641px) {
  .seminar-news {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 83px 0 57px
  }
}

@media screen and (min-width:641px) and (max-width:1024px) {
  .seminar-news {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media screen and (max-width:640px) {
  .seminar-news__item:not(:last-child) {
    margin-bottom: 22px
  }
}

.seminar-news__item a {
  display: block;
  height: 100%;
  background: #fff
}

@media screen and (min-width:835px) {
  .seminar-news__item a {
    box-shadow: 0 0 10px rgba(0, 0, 0, .08)
  }
}

@media screen and (max-width:834px) {
  .seminar-news__item a {
    border: 1px solid #d6d6d6
  }
}

.seminar-news__img {
  position: relative;
  background: #000;
  overflow: hidden
}

.seminar-news__img:before {
  content: "";
  display: block;
  padding-bottom: 53.056768559%
}

@media screen and (max-width:834px) {
  .seminar-news__img:before {
    padding-bottom: 54.8034934498%
  }
}

.seminar-news__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  transition: .3s ease
}

.seminar-news__ct {
  color: #748084;
  font-size: 1.4rem;
  padding: 28px 25px 18px
}

@media screen and (max-width:834px) {
  .seminar-news__ct {
    font-size: 1.2rem;
    padding: 24px 16px 20px
  }

  .seminar-news__ct p {
    line-height: 1.7
  }
}

.seminar-news__ct-info {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px
}

@media screen and (max-width:834px) {
  .seminar-news__ct-info {
    gap: 14px
  }
}

.seminar-news__ct-info span {
  display: inline-block;
  color: #980000;
  border: 1px solid #980000;
  border-radius: 30px;
  font-weight: 700;
  font-size: 1.2rem;
  padding: 0 10px
}

@media screen and (max-width:834px) {
  .seminar-news__ct-info span {
    font-size: 1rem;
    padding: 1px 11px 0
  }
}

.seminar-news__ct-info time {
  color: #9c9c9c;
  font-size: 1.2rem
}

.seminar-news__ct-ttl {
  color: #222;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 6px 0
}

@media screen and (max-width:834px) {
  .seminar-news__ct-ttl {
    font-size: 1.6rem;
    margin-top: 8px
  }
}

.sec-info {
  padding: 193px 0 109px;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-info {
    padding: 43px 0 234px
  }
}

.sec-info:before {
  content: "";
  position: absolute;
  width: 300px;
  height: 461px;
  background: url(../img/index/info-shape1-pc.png) 50% no-repeat;
  background-size: contain;
  top: -229px;
  right: 0;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-info:before {
    width: 116px;
    height: 198px;
    background: url(../img/index/info-shape1-sp.png) 50% no-repeat;
    background-size: contain;
    top: -49px
  }
}

.sec-info:after {
  content: "";
  position: absolute;
  width: 338px;
  height: 517px;
  background: url(../img/index/info-shape2-pc.png) 50% no-repeat;
  background-size: contain;
  bottom: 20px;
  left: 0;
  z-index: -1
}

@media screen and (max-width:834px) {
  .sec-info:after {
    width: 145px;
    height: 200px;
    background: url(../img/index/info-shape2-sp.png) 50% no-repeat;
    background-size: contain;
    bottom: 13px
  }
}

.info-list {
  margin: 23px 0 30px
}

@media screen and (min-width:1025px) {
  .info-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    box-shadow: 0 0 10px rgba(0, 0, 0, .08);
    margin: 51px 0 60px;
    padding: 46px 60px 50px
  }
}

.info-list__item {
  position: relative
}

@media screen and (min-width:1025px) {
  .info-list__item {
    width: 48%
  }
}

@media screen and (max-width:1024px) {
  .info-list__item {
    box-shadow: 0 0 10px rgba(0, 0, 0, .08);
    padding: 28px 20px 30px
  }

  .info-list__item:not(:last-child) {
    margin-bottom: 20px
  }
}

@media screen and (min-width:1025px) {
  .info-list__item .c-btn__01 {
    position: absolute;
    max-width: 250px;
    height: 60px;
    padding: 10px;
    top: 0;
    right: 0
  }

  .info-list__item .c-btn__01:after {
    right: 19px
  }
}

.info-list__ttl {
  color: #bd0000;
  border-bottom: 2px solid #bd0000;
  font-weight: 700;
  font-size: 2.2rem;
  padding: 15px 255px 27px 19px
}

@media screen and (max-width:1024px) {
  .info-list__ttl {
    padding: 0 0 26px 10px;
    margin-bottom: 20px
  }
}

.info-list__sub-item a {
  position: relative;
  display: block;
  border-bottom: 1px dashed #595959;
  font-size: 1.6rem;
  line-height: 1.8;
  padding: 20px 25px 20px 20px;
  z-index: 1
}

@media screen and (max-width:834px) {
  .info-list__sub-item a {
    line-height: 1.74;
    padding: 21px 20px 20px 10px
  }
}

.info-list__sub-item a:before {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  background: #fdf5f0;
  top: 0;
  left: 0;
  transition: .3s ease;
  z-index: -1
}

.info-list__sub-item a:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border: solid #d00;
  border-width: 2px 2px 0 0;
  top: 50%;
  right: 12px;
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (max-width:834px) {
  .info-list__sub-item a:after {
    right: 2px
  }
}

.info-list__sub-item a time {
  display: block;
  font-size: 1.4rem
}

@media (any-hover:hover) {
  .info-list__sub-item a:hover {
    opacity: 1
  }

  .info-list__sub-item a:hover:before {
    width: 100%
  }
}

#page-bs {
  overflow-x: hidden
}

.mv-bs {
  position: relative;
  background: #fbf9f0;
  z-index: 1
}

.mv-bs .inner {
  position: relative;
  padding: 53px 15px 48px;
  max-width: 1255px
}

@media screen and (max-width:834px) {
  .mv-bs .inner {
    padding: 17px 15px 0 0
  }
}

.mv-bs:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 234px;
  height: 426px;
  background: url(../img/service/bs/mv-bf.png) no-repeat;
  background-size: 100%
}

@media screen and (max-width:834px) {
  .mv-bs:before {
    display: none
  }
}

.mv-bs:after {
  content: "";
  width: 257px;
  height: 528px;
  background: url(../img/service/bs/mv-af.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -217px;
  right: 0
}

@media screen and (max-width:834px) {
  .mv-bs:after {
    width: 96px;
    height: 171px;
    background: url(../img/service/bs/mv-af-sp.png) no-repeat;
    background-size: 100%;
    bottom: auto;
    top: 94px
  }
}

.mv-bs__block {
  font-size: 1.8rem
}

@media screen and (max-width:834px) {
  .mv-bs__block {
    font-size: 1.2rem
  }
}

.mv-bs__block-ct {
  width: 100%;
  max-width: 847px;
  padding: 34px 26px 12px;
  background: hsla(0, 0%, 100%, .85)
}

@media screen and (max-width:834px) {
  .mv-bs__block-ct {
    padding: 19px 0 36px 18px
  }
}

.mv-bs__block-ct>p {
  font-weight: 700;
  letter-spacing: 1.5px;
  line-height: 1.83;
  margin-bottom: 10px
}

@media screen and (max-width:834px) {
  .mv-bs__block-ct>p {
    padding: 0 0 0 11px;
    letter-spacing: 1px;
    margin-bottom: 15px;
    max-width: 340px
  }
}

.mv-bs__block-ct .intro-list {
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: 18px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:834px) {
  .mv-bs__block-ct .intro-list {
    margin: 0 0 11px
  }
}

.mv-bs__block-ttl {
  display: block;
  font-weight: 700;
  font-size: 4.0rem;
  line-height: 1.2;
  margin-bottom: 16px
}

@media screen and (max-width:834px) {
  .mv-bs__block-ttl {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 7px;
    max-width: 340px
  }
}

.mv-bs__block-ttl span {
  font-size: 4.0rem;
  color: #d90203;
  background-image: linear-gradient(90deg, #fc3 50%, transparent 0);
  background-size: 200% 22px;
  background-repeat: no-repeat;
  background-position: 0 54px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 12px 4px
}

@media screen and (max-width:834px) {
  .mv-bs__block-ttl span {
    font-size: 2.7rem;
    letter-spacing: 0;
    margin: 0 0 0 -6px
  }
}

.mv-bs__block-ttl small {
  display: inline-block;
  font-size: 3.6rem
}

@media screen and (max-width:834px) {
  .mv-bs__block-ttl small {
    font-size: 2rem;
    display: block;
    text-align: right;
    padding: 9px 0 0
  }
}

.mv-bs__block-note {
  font-size: 1rem;
  color: #999;
  padding: 0 0 0 6px;
  letter-spacing: .5px;
  position: relative;
  z-index: 1
}

.mv-bs__block-img {
  width: 33.5%;
  position: absolute;
  bottom: 0;
  right: 53px;
  z-index: 3;
}

@media screen and (max-width:834px) {
  .mv-bs__block-img {
    width: 34%;
    right: 0;
    max-width: 150px
  }
}

.sec-materials {
  background: #dd3c00;
  border-top: 6px solid #fc3;
  border-bottom: 6px solid #fc3;
  padding: 61px 0 53px
}

@media screen and (max-width:834px) {
  .sec-materials {
    padding: 33px 0 17px;
    border-width: 3px
  }
}

.materials-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

@media screen and (max-width:834px) {
  .materials-list {
    grid-template-columns: 1fr;
    gap: 27px
  }
}

.materials-list__btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
  position: relative;
  width: 100%;
  height: 86px;
  border-radius: 80px;
  background: #f80;
  color: #fff;
  border: 2px solid #ff8801;
  font-size: 2.4rem;
  letter-spacing: 1.5px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: inset 1px 0 #fff, inset 0 1px #fff, inset -1px 0 #fff, inset 0 -1px #fff, inset 5px 0 10px hsla(0, 0%, 100%, .2), inset 0 5px 10px hsla(0, 0%, 100%, .2), inset -5px 0 10px hsla(0, 0%, 100%, .2), inset 0 -5px 10px hsla(0, 0%, 100%, .2)
}

@media screen and (max-width:1024px) and (min-width:835px) {
  .materials-list__btn {
    padding-left: 50px
  }
}

@media screen and (max-width:834px) {
  .materials-list__btn {
    font-size: 1.8rem;
    height: 50px;
    border-width: 1px
  }
}

.materials-list__btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 2px solid #fff;
  border-radius: 80px
}

@media screen and (max-width:834px) {
  .materials-list__btn:before {
    border-width: 1px
  }
}

.materials-list__btn:after {
  content: "";
  border: solid #fff;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 4px;
  transform: rotate(-45deg);
  position: absolute;
  top: 36px;
  right: 8%
}

@media screen and (max-width:834px) {
  .materials-list__btn:after {
    border-width: 0 1px 1px 0;
    padding: 3px;
    top: 20px;
    right: 16px
  }
}

.materials-list__btn small {
  display: inline-block;
  background: #fff;
  font-size: 1.8rem;
  border-radius: 20px;
  padding: 4px 22px;
  color: #ff8801;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 40px
}

@media screen and (max-width:1024px) and (min-width:835px) {
  .materials-list__btn small {
    left: 20px
  }
}

@media screen and (max-width:834px) {
  .materials-list__btn small {
    font-size: 1.5rem;
    left: 10px
  }
}

.materials-list__btn small:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border: 1px solid #ff8801;
  border-radius: 20px
}

@media screen and (max-width:834px) {
  .materials-list__btn small:before {
    display: none
  }
}

.materials-list__btn-note {
  position: absolute;
  top: -26px;
  left: 0;
  right: 0
}

@media screen and (max-width:834px) {
  .materials-list__btn-note {
    top: -14px
  }
}

.materials-list__btn-note span {
  background: #fff;
  color: #ff8801;
  font-size: 1.8rem;
  border-radius: 30px;
  border: 1px solid #ff8801;
  position: relative;
  padding: 8px 38px;
  display: inline-block;
  letter-spacing: 1px
}

@media screen and (max-width:1024px) {
  .materials-list__btn-note span {
    font-size: 1.4rem;
    padding: 8px 18px
  }
}

@media screen and (max-width:834px) {
  .materials-list__btn-note span {
    font-size: 1rem;
    padding: 4px 24px;
    min-width: 240px
  }
}

.materials-list__btn-note span:after {
  content: "";
  width: 63px;
  height: 60px;
  background: url(../img/service/bs/icon-mail.svg) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -15px;
  right: -33px
}

@media screen and (max-width:1024px) {
  .materials-list__btn-note span:after {
    width: 40px;
    height: 43px;
    right: -25px
  }
}

@media screen and (max-width:834px) {
  .materials-list__btn-note span:after {
    width: 31px;
    height: 30px;
    top: -5px;
    right: -9px
  }
}

.materials-list__btn--white {
  border-color: #fff;
  background: #fff;
  color: #f80
}

.materials-list__btn--white:before {
  border-color: #f80
}

.materials-list__btn--white:after {
  border: solid #f80;
  border-width: 0 2px 2px 0
}

.materials-list__btn--white .materials-list__btn-note span {
  background: #f80;
  border-color: #fff;
  color: #fff
}

.materials-list__btn--white .materials-list__btn-note span:after {
  display: none
}

.sec-bs-about {
  background: url(../img/service/bs/about-bg.png) no-repeat;
  background-size: cover;
  background-position: bottom;
  padding: 91px 0 213px;
  z-index: 2
}

@media screen and (max-width:834px) {
  .sec-bs-about {
    padding: 41px 0 75px
  }
}

.sec-bs-about:after,
.sec-bs-about:before {
  content: "";
  position: absolute
}

.sec-bs-about:before {
  width: 171px;
  height: 314px;
  background: url(../img/service/bs/about-bf.png) no-repeat;
  background-size: 100%;
  top: 62px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-bs-about:before {
    background: url(../img/service/bs/about-bf-sp.png) no-repeat;
    background-size: 100%;
    width: 115px;
    top: 104px
  }
}

.sec-bs-about:after {
  width: 287px;
  height: 528px;
  background: url(../img/service/bs/about-af.png) no-repeat;
  background-size: 100%;
  bottom: -137px;
  right: 0
}

@media screen and (max-width:834px) {
  .sec-bs-about:after {
    background: url(../img/service/bs/about-af-sp.png) no-repeat;
    background-size: 100%;
    bottom: -389px;
    width: 95px
  }
}

.bs-about {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  z-index: 1
}

.bs-about__ct {
  width: 56%;
  padding: 0 20px 0 0
}

@media screen and (max-width:834px) {
  .bs-about__ct {
    width: 100%;
    padding: 0
  }
}

.bs-about__ct p {
  font-size: 1.8rem;
  margin-bottom: 49px
}

@media screen and (max-width:834px) {
  .bs-about__ct p {
    margin-bottom: 15px
  }
}

@media screen and (min-width:835px) {
  .bs-about__ct .c-btn__01 {
    margin-left: 0
  }
}

.bs-about__ct .c-ttl__01 {
  margin-right: -20px;
  line-height: 1.4
}

.bs-about__img {
  width: 44%;
  padding: 22px 4.5% 0 0
}

@media screen and (max-width:834px) {
  .bs-about__img {
    width: 100%;
    padding: 0;
    margin-bottom: 13px
  }
}

.sec-bs-partner {
  padding: 46px 0 0;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-bs-partner {
    padding: 29px 0 0
  }
}

.sec-bs-partner:before {
  content: "";
  width: 269px;
  height: 313px;
  background: url(../img/service/bs/logo-bf.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -295px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-bs-partner:before {
    width: 89px;
    bottom: -270px
  }
}

.sec-bs-partner:after {
  content: "";
  height: 107px;
  background: url(../img/service/bs/af-01.png) no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 1px)
}

@media screen and (min-width:1681px) {
  .sec-bs-partner:after {
    background-size: 100% 100%
  }
}

.sec-bs-partner .inner {
  max-width: 1450px
}

.bs-partner {
  position: relative;
  padding: 0 19% 102px
}

@media screen and (max-width:834px) {
  .bs-partner {
    padding: 0 0 29px
  }
}

.bs-partner__box-item {
  position: absolute;
  bottom: -46px;
  z-index: 1
}

@media screen and (min-width:1681px) {
  .bs-partner__box-item {
    bottom: -3.1vw
  }
}

@media screen and (max-width:1500px) {
  .bs-partner__box-item {
    bottom: -2.6vw
  }
}

.bs-partner__box-item--left {
  left: -6px;
  width: 19.5%
}

@media screen and (max-width:1500px) {
  .bs-partner__box-item--left {
    left: 0
  }
}

@media screen and (max-width:834px) {
  .bs-partner__box-item--left {
    left: -33px;
    width: 99px;
    bottom: -10px
  }
}

.bs-partner__box-item--right {
  right: 14px;
  width: 18.5%
}

@media screen and (max-width:1500px) {
  .bs-partner__box-item--right {
    right: 0
  }
}

@media screen and (max-width:834px) {
  .bs-partner__box-item--right {
    right: -33px;
    width: 93px;
    bottom: -8px
  }
}

.bs-partner__ttl {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 3rem;
  color: #c80000;
  line-height: 1.6;
  letter-spacing: 3px;
  margin-bottom: 38px
}

@media screen and (max-width:834px) {
  .bs-partner__ttl {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 2px;
    margin-bottom: 9px
  }
}

.bs-partner__ttl span {
  font-size: 4rem;
  display: inline-block
}

@media screen and (max-width:834px) {
  .bs-partner__ttl span {
    font-size: 2.3rem
  }
}

.bs-partner__img {
  max-width: 826px;
  margin: 0 auto
}

@media screen and (max-width:834px) {
  .bs-partner__img {
    padding: 0 14% 0 16%
  }
}

.sec-bs-benefits {
  padding: 207px 0 104px;
  background: #f6f5f2
}

@media screen and (max-width:834px) {
  .sec-bs-benefits {
    padding: 67px 0 28px
  }
}

.sec-bs-benefits:after,
.sec-bs-benefits:before {
  content: "";
  position: absolute
}

.sec-bs-benefits:before {
  width: 301px;
  height: 461px;
  background: url(../img/service/bs/benefits-bf.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 38px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-bs-benefits:before {
    width: 163px;
    bottom: -205px;
    left: -11px
  }
}

.sec-bs-benefits:after {
  width: 210px;
  height: 528px;
  background: url(../img/service/bs/benefits-af.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 25%;
  right: 0
}

@media screen and (max-width:834px) {
  .sec-bs-benefits:after {
    width: 94px;
    background: url(../img/service/bs/benefits-af.png) no-repeat;
    bottom: 34%
  }
}

.benefits-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  position: relative;
  z-index: 2
}

@media screen and (max-width:834px) {
  .benefits-block {
    grid-template-columns: 1fr
  }
}

.benefits-block__item {
  background: #fff;
  padding: 44px 40px 51px
}

@media screen and (max-width:1024px) {
  .benefits-block__item {
    padding: 30px 30px 40px
  }
}

@media screen and (max-width:834px) {
  .benefits-block__item {
    padding: 22px 19px 30px
  }
}

.benefits-block__item .c-ttl__02 {
  padding: 0 0 15px;
  margin-bottom: 14px
}

@media screen and (max-width:834px) {
  .benefits-block__item .c-ttl__02 {
    padding: 0 0 7px;
    margin-bottom: 7px
  }
}

.benefits-block__item .c-btn__01 {
  margin-bottom: 12px
}

@media screen and (max-width:834px) {
  .benefits-block__item .c-btn__01 {
    margin-bottom: 8px
  }
}

.benefits-block__item .c-btn__01:last-child {
  margin-bottom: 0
}

.benefits-block__note {
  display: block;
  font-weight: 700;
  font-size: 2rem
}

@media screen and (max-width:834px) {
  .benefits-block__note {
    font-size: 1.6rem;
    padding: 4px 0 0
  }
}

.benefits-block .c-text-note {
  padding: 8px 0 0
}

@media screen and (max-width:834px) {
  .benefits-block .c-text-note.--othersp {
    margin-bottom: -10px
  }
}

.benefits-block .c-text-note a {
  color: #1a40a0;
  text-decoration: underline
}

.benefits-block__odd {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  text-align: center;
  line-height: 1;
  margin-bottom: 15px
}

.benefits-block__odd-item {
  padding: 26px 10px 20px;
  background: #f6f5f2
}

@media screen and (max-width:834px) {
  .benefits-block__odd-item {
    padding: 13px 10px 15px
  }
}

.benefits-block__odd-ttl {
  display: block;
  font-size: 2.4rem;
  line-height: 1.3
}

@media screen and (max-width:834px) {
  .benefits-block__odd-ttl {
    font-size: 1.6rem
  }
}

.benefits-block__odd-show {
  font-weight: 700;
  font-family: Helvetica, sans-serif;
  font-size: 7.2rem;
  color: #c80000;
  font-size: 4rem
}

.benefits-block__odd-show small {
  font-family: BIZ UDPGothic, sans-serif;
  font-size: 3.6rem
}

@media screen and (max-width:834px) {
  .benefits-block__odd-show small {
    font-size: 2rem
  }
}

.benefits-block__odd-show small small {
  font-size: 3rem
}

@media screen and (max-width:834px) {
  .benefits-block__odd-show small small {
    font-size: 1.8rem
  }
}

.benefits-block__support {
  background: #f6f5f2;
  padding: 19px 19px 25px
}

@media screen and (max-width:834px) {
  .benefits-block__support {
    display: none
  }
}

.benefits-block__support-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 13px
}

.benefits-block__support-block:last-child {
  margin-bottom: 0
}

.benefits-block__support-ct {
  width: 60%;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  padding: 0 37px 0 0
}

.benefits-block__support-img {
  width: 40%;
  padding: 0 6px;
  margin: -9px 0 0
}

.benefits-block__support-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0 -5px
}

.benefits-block__support-list-item {
  width: 33.333%;
  padding: 0 5px;
  margin-bottom: 10px
}

.benefits-block__support-list-item:first-child,
.benefits-block__support-list-item:nth-child(2) {
  width: 50%
}

.benefits-block__support-list-item:nth-child(3) .benefits-block__support-list-img,
.benefits-block__support-list-item:nth-child(4) .benefits-block__support-list-img,
.benefits-block__support-list-item:nth-child(5) .benefits-block__support-list-img {
  margin-bottom: -7px
}

.benefits-block__support-list-box {
  background: #fff;
  padding: 10px;
  height: 100%
}

.benefits-block__support-list-img {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  min-height: 78px
}

.benefits-block__support-list .c-text-note li {
  padding: 0 0 0 17px
}

.benefits-block__support-list .c-text-note li:before {
  width: 10px;
  height: 10px;
  top: 5px
}

.benefits-block__support-note {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #c80000;
  padding: 14px 0 0
}

.c-text-note {
  margin-bottom: 32px
}

@media screen and (max-width:834px) {
  .c-text-note {
    margin-bottom: 15px
  }
}

.c-text-note:last-child {
  margin-bottom: 0
}

.c-text-note li {
  position: relative;
  padding: 0 0 0 28px
}

@media screen and (max-width:834px) {
  .c-text-note li {
    padding: 0 0 0 31px
  }
}

.c-text-note li:last-child {
  margin-bottom: 0
}

.c-text-note li:before {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #c80000;
  position: absolute;
  top: 8px;
  left: 2px
}

@media screen and (max-width:834px) {
  .c-text-note li:before {
    top: 7px;
    width: 12px;
    height: 12px
  }
}

.c-text-note li strong {
  font-weight: 700;
  color: #c80000
}

.c-text-note li small {
  display: block;
  font-size: 1.4rem
}

.sec-bs-content {
  padding: 101px 0 110px
}

@media screen and (max-width:834px) {
  .sec-bs-content {
    padding: 43px 0 20px
  }
}

.sec-bs-content .inner {
  position: relative;
  z-index: 2
}

.content-item li {
  position: absolute;
  right: 0
}

.content-item li:nth-child(2n) {
  left: 0;
  right: auto
}

.content-item-01 {
  width: 362px;
  top: 10px
}

@media screen and (max-width:834px) {
  .content-item-01 {
    width: 187px;
    top: -27px;
    right: -60px !important
  }
}

.content-item-02 {
  width: 225px;
  top: 22.2%
}

@media screen and (max-width:834px) {
  .content-item-02 {
    width: 108px;
    top: 24.1%
  }
}

.content-item-03 {
  width: 280px;
  top: 42.1%
}

@media screen and (max-width:834px) {
  .content-item-03 {
    width: 140px;
    right: -70px !important
  }
}

.content-item-04 {
  width: 289px;
  top: 59.5%
}

@media screen and (max-width:834px) {
  .content-item-04 {
    width: 136px;
    top: 63%;
    left: -41px !important
  }
}

.content-item-05 {
  top: 80.4%;
  width: 259px
}

@media screen and (max-width:834px) {
  .content-item-05 {
    top: 76.3%;
    width: 100px;
    right: -24px !important
  }
}

.content-heading {
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 1px;
  font-weight: 700;
  margin-bottom: 62px
}

@media screen and (max-width:834px) {
  .content-heading {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 26px
  }
}

.content-heading p {
  margin-bottom: 23px
}

.content-heading .c-btn__01 {
  margin-left: 0
}

.content-anchor {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  border: 1px solid #b6191e;
  margin-bottom: 62px
}

@media screen and (max-width:640px) {
  .content-anchor {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    border: none;
    border-top: 1px solid #b6191e;
    margin-bottom: 25px
  }
}

@media screen and (max-width:640px) {
  .content-anchor__item {
    width: 50%
  }

  .content-anchor__item:nth-child(2n) a {
    border-left: none
  }
}

.content-anchor__item a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-right: 1px solid #b6191e;
  color: #dc0000;
  font-family: Noto Sans JP, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  height: 73px
}

@media screen and (max-width:640px) {
  .content-anchor__item a {
    font-size: 1.4rem;
    border-left: 1px solid #b6191e;
    border-bottom: 1px solid #b6191e;
    height: 55px
  }
}

.content-anchor__item a:after {
  content: "";
  border: solid #b6191e;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  position: absolute;
  top: 47%;
  transform: rotate(45deg) translateY(-50%);
  right: 19px
}

@media screen and (max-width:990px) {
  .content-anchor__item a:after {
    right: 12px
  }
}

@media screen and (max-width:834px) {
  .content-anchor__item a:after {
    border-width: 0 1px 1px 0;
    padding: 3px;
    top: 45%;
    right: 13px
  }
}

@media screen and (min-width:641px) {
  .content-anchor__item:last-child a {
    border-right: none
  }
}

.content-block__odd {
  background: #fff;
  padding: 20px 20px 22px;
  margin-bottom: 37px
}

@media screen and (max-width:834px) {
  .content-block__odd {
    padding: 11px 13px 15px;
    margin: 0 -5px 28px
  }
}

.content-block__odd:last-child {
  margin-bottom: 0
}

.content-block__item {
  background: #edebe6;
  border: 1px solid #fff;
  padding: 40px 40px 58px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  margin-bottom: 48px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:834px) {
  .content-block__item {
    padding: 17px 19px 25px;
    margin-bottom: 28px
  }
}

.content-block__item:last-child {
  margin-bottom: 0
}

.content-block__txt {
  /* font-weight: 700;
  margin-bottom: 25px */
  font-weight: 400;
  margin-bottom: 25px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 1px;
}

@media screen and (max-width:834px) {
  .content-block__txt {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 3px 0 0;
    margin-bottom: 11px
  }
}

.content-block__txt span {
  color: #c80000
}

.content-block__heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-bottom: 27px
}

@media screen and (max-width:834px) {
  .content-block__heading {
    grid-template-columns: 1fr;
    gap: 15px
  }
}

.content-block__heading-box {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.content-block__heading-ct {
  width: 51%;
  padding: 0 0 0 7px;
  margin: -4px 0 0;
  letter-spacing: .5px
}

@media screen and (max-width:834px) {
  .content-block__heading-ct {
    width: 100%;
    padding: 0 9px;
    margin: 0;
    font-size: 1.6rem
  }

  .content-block__heading-ct .c-text-note li {
    padding: 0 0 0 37px;
    margin-bottom: 4px
  }

  .content-block__heading-ct .c-text-note li:last-child {
    margin-bottom: 0
  }
}

.content-block__heading-img {
  width: 49%;
  position: relative
}

@media screen and (max-width:834px) {
  .content-block__heading-img {
    width: 100%;
    display: none
  }

  .content-block__heading-img--block {
    display: block
  }
}

.content-block__heading-note {
  position: absolute;
  top: -12px;
  left: -13px;
  padding: 4px 21px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  background: #c80000;
  border-radius: 50px;
}

@media screen and (max-width:834px) {
  .content-block__heading-note {
    top: -11px;
    left: -7px;
    padding: 4px 6px
  }
}

.content-block__heading--02 {
  margin-bottom: 0
}

@media screen and (max-width:834px) {
  .content-block__heading--02 {
    gap: 22px
  }
}

.content-block__heading--02 .content-block__heading-img {
  display: block;
  width: 100%;
  margin-bottom: 28px
}

@media screen and (max-width:834px) {
  .content-block__heading--02 .content-block__heading-img {
    margin-bottom: 12px
  }
}

.content-block__heading--02 .content-block__heading-ct {
  width: 100%;
  margin: 0;
  padding: 0
}

@media screen and (max-width:834px) {
  .content-block__heading--02 .content-block__heading-ct {
    letter-spacing: 1.5px;
    line-height: 1.5
  }
}

.content-block__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 27px
}

@media screen and (max-width:834px) {
  .content-block__list {
    grid-template-columns: 1fr;
    gap: 15px
  }
}

.content-block__list-img {
  margin-bottom: 8px
}

.content-block__list-ct {
  line-height: 1.5;
  letter-spacing: 1px
}

.content-block__list-ct-ttl {
  display: block;
  line-height: 1.2;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 4px
}

@media screen and (max-width:834px) {
  .content-block__list-ct-ttl {
    font-size: 1.8rem
  }
}

.content-block__list-ct-ttl small {
  display: block;
  font-size: 1.6rem
}

@media screen and (max-width:834px) {
  .content-block__list-ct-ttl small {
    font-size: 1.4rem
  }
}

.content-block__services {
  border: 2px solid #c80000;
  position: relative;
  padding: 3px 18px 29px
}

@media screen and (max-width:834px) {
  .content-block__services {
    padding: 20px 18px
  }
}

.content-block__services-ttl {
  display: block;
  position: absolute;
  text-align: center;
  top: -17px;
  left: 0;
  right: 0;
  z-index: 1;
  font-size: 1.6rem;
  font-weight: 700;
  color: #c80000
}

@media screen and (max-width:834px) {
  .content-block__services-ttl {
    top: -13px
  }
}

.content-block__services-ttl span {
  display: inline-block;
  background: #fff;
  padding: 0 5px
}

.content-block__services-logo {
  padding: 0 17px;
  margin-bottom: 14px
}

@media screen and (max-width:834px) {
  .content-block__services-logo {
    padding: 0;
    margin: 0 -4px 20px
  }
}

.content-block__services-partner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  text-align: center
}

@media screen and (max-width:834px) {
  .content-block__services-partner {
    grid-template-columns: 1fr
  }
}

.content-block__services-partner-item {
  border: 1px solid #edebe6;
  position: relative;
  padding: 29px 15px 18px
}

@media screen and (max-width:834px) {
  .content-block__services-partner-item {
    padding: 34px 10px 18px
  }
}

.content-block__services-partner-logo {
  display: block;
  margin-bottom: 15px
}

@media screen and (max-width:834px) {
  .content-block__services-partner-logo {
    margin-bottom: 19px
  }

  .content-block__services-partner-logo--02 {
    margin-bottom: 9px
  }

  .content-block__services-partner-logo--02 img {
    width: 160px
  }
}

.content-block__services-partner-sale {
  display: inline-block;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  background: url(../img/service/bs/bg-sale.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -8px;
  left: -8px;
  padding: 7px 12px
}

@media screen and (max-width:834px) {
  .content-block__services-partner-sale {
    top: -11px;
    left: -11px;
    padding: 6px 15px;
    font-size: 1.4rem
  }
}

.content-block__services-partner p {
  line-height: 1.6;
  margin-bottom: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width:834px) {
  .content-block__services-partner p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5
  }
}

.content-block__services-partner-price {
  font-size: 2.1rem;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap
}

@media screen and (max-width:834px) {
  .content-block__services-partner-price {
    font-size: 1.8rem;
    letter-spacing: 1px
  }
}

.content-block__services-partner-price span {
  color: #c80000
}

.content-block__health {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 40px
}

@media screen and (max-width:834px) {
  .content-block__health {
    grid-template-columns: 1fr;
    margin: 0 -5px 12px
  }
}

.content-block__health-item {
  background: #fff;
  padding: 20px
}

@media screen and (max-width:834px) {
  .content-block__health-item {
    padding: 10px 13px 14px
  }
}

.content-block__health-item .c-ttl__03 {
  margin-bottom: 30px
}

@media screen and (max-width:834px) {
  .content-block__health-item .c-ttl__03 {
    margin-bottom: 24px
  }
}

.content-block__health-img {
  margin-bottom: 24px
}

@media screen and (max-width:834px) {
  .content-block__health-img {
    margin-bottom: 15px
  }
}

.content-block__health-ct {
  line-height: 1.6;
  letter-spacing: 0
}

@media screen and (max-width:834px) {
  .content-block__health-ct {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 0 5px;
    letter-spacing: 1.5px;
    text-align: justify
  }
}

.content-block__show {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px
}

@media screen and (max-width:1024px) {
  .content-block__show {
    gap: 32px
  }
}

@media screen and (max-width:834px) {
  .content-block__show {
    grid-template-columns: 1fr
  }
}

.content-block__show-item {
  border: 2px solid #f80;
  position: relative;
  text-align: center;
  padding: 15px 15px 11px
}

@media screen and (max-width:834px) {
  .content-block__show-item {
    padding: 15px 6px 7px
  }

  .content-block__show-item:first-child .content-block__show-img img {
    width: 142px
  }

  .content-block__show-item:nth-child(2) {
    padding: 26px 6px 5px
  }

  .content-block__show-item:nth-child(2) .content-block__show-ttl {
    top: -24px
  }
}

@media screen and (max-width:834px) {
  .content-block__show-img img {
    width: 273px
  }
}

.content-block__show-ttl {
  display: block;
  text-align: center;
  position: absolute;
  font-weight: 700;
  color: #f80;
  font-size: 1.6rem;
  top: -17px;
  left: 0;
  right: 0;
  z-index: 1
}

.content-block__show-ttl span {
  display: inline-block;
  background: #fff;
  padding: 0 8px
}

.content-block__point {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.content-block__point-ct {
  width: 50%;
  font-weight: 400;
  line-height: 1.6;
  margin: -5px 0 0;
  padding: 0 15px 0 0
}

@media screen and (max-width:834px) {
  .content-block__point-ct {
    width: 100%;
    font-size: 1.6rem;
    margin: 0;
    padding: 0 0 0 6px
  }

  .content-block__point-ct small {
    font-size: 1.2rem !important;
    letter-spacing: 1px
  }
}

.content-block__point-ct .c-text-note li {
  margin-bottom: 5px
}

@media screen and (max-width:834px) {
  .content-block__point-ct .c-text-note li {
    margin-bottom: 3px
  }

  .content-block__point-ct .c-text-note li:before {
    top: 6px;
    width: 15px;
    height: 15px;
    left: 5px
  }
}

.content-block__point-ct .c-text-note li:last-child {
  margin-bottom: 0
}

.content-block__point-img {
  width: 50%
}

@media screen and (max-width:834px) {
  .content-block__point-img {
    width: 100%;
    display: none
  }
}

.content-block__point-img img {
  display: block;
  width: 176px;
  margin: 0 auto
}

.content-block__point-ttl {
  display: block;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
  color: #c80000;
  margin-bottom: 10px
}

.content-block__point-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 13px 0;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  letter-spacing: 1px;
  padding: 0 24px 16px
}

@media screen and (max-width:834px) {
  .content-block__point-list {
    grid-template-columns: 1fr;
    padding: 0
  }
}

.content-block__point-list-item {
  padding: 0 15px 0 0
}

@media screen and (max-width:834px) {
  .content-block__point-list-item {
    padding: 0
  }
}

.content-block__point-list-ttl {
  display: block;
  font-weight: 700;
  font-size: 2rem;
  color: #c80000;
  margin-bottom: 3px
}

@media screen and (max-width:834px) {
  .content-block__point-list-ttl {
    font-size: 1.8rem
  }
}

.content-block__system {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  font-weight: 700;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 23px
}

@media screen and (max-width:1024px) {
  .content-block__system {
    font-size: 1.6rem;
    gap: 15px
  }
}

@media screen and (max-width:834px) {
  .content-block__system {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0;
    margin: 0 -10px 10px;
    font-size: 1.2rem;
    line-height: 1
  }
}

@media screen and (max-width:834px) {
  .content-block__system-item {
    width: 33.333%;
    padding: 0 5px;
    margin-bottom: 5px
  }
}

.content-block__system-box {
  background: #fff;
  border-radius: 10px;
  padding: 18px 10px 10px;
  height: 100%
}

@media screen and (max-width:640px) {
  .content-block__system-box {
    padding: 7px 3px 5px;
    border-radius: 5px;
    font-weight: 700
  }
}

.content-block__system-icon {
  min-height: 80px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width:834px) {
  .content-block__system-icon {
    min-height: 40px;
    margin-bottom: 6px
  }
}

.sec-bs-other {
  background: #f6f5f2;
  padding: 192px 0 79px
}

@media screen and (max-width:834px) {
  .sec-bs-other {
    padding: 74px 0 8px
  }
}

.sec-bs-other__icon {
  position: absolute
}

.sec-bs-other__icon--left {
  left: 0;
  width: 301px;
  bottom: 0;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-bs-other__icon--left {
    left: -42px;
    width: 153px;
    bottom: -55px
  }
}

.sec-bs-other__icon--right {
  right: 0;
  width: 415px;
  top: -29px
}

@media screen and (max-width:834px) {
  .sec-bs-other__icon--right {
    right: -30px;
    width: 208px;
    top: -18px
  }
}

.sec-bs-other:after,
.sec-bs-other:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 100px
}

.sec-bs-other:before {
  background: url(../img/service/bs/other-custom-bf.png) no-repeat;
  background-size: 100%;
  top: 0
}

.sec-bs-other:after {
  background: url(../img/service/bs/other-custom-af.png) no-repeat;
  background-size: 100%;
  top: calc(100% - 1px)
}

@media screen and (max-width:834px) {
  .sec-bs-other:after {
    background: url(../img/service/bs/other-custom-af-sp.png) no-repeat;
    background-size: 100%
  }
}

.sec-bs-other .inner {
  position: relative;
  z-index: 2
}

.other-block {
  background: #fff;
  padding: 52px 41px 61px;
  margin-bottom: 22px
}

@media screen and (max-width:834px) {
  .other-block {
    padding: 20px 20px 24px;
    line-height: 1.5;
    letter-spacing: 1px;
    margin-bottom: 21px
  }
}

.other-block .c-ttl__02 {
  margin-bottom: 13px
}

@media screen and (max-width:834px) {
  .other-block .c-ttl__02 {
    padding: 0 0 5px
  }
}

.other-block p {
  margin-bottom: 8px
}

.other-block p span {
  color: #cd1920
}

.other-block .c-text-note {
  margin-bottom: 34px
}

@media screen and (max-width:834px) {
  .other-block .c-text-note {
    margin-bottom: 8px
  }

  .other-block .c-text-note li {
    padding: 0 0 0 24px;
    letter-spacing: 1px;
    line-height: 1.8
  }
}

.other-block__btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px
}

@media screen and (max-width:640px) {
  .other-block__btn {
    grid-template-columns: 1fr;
    margin: 0 -7px;
    gap: 17px
  }
}

.sec-bs-plan {
  padding: 190px 0 102px
}

@media screen and (max-width:834px) {
  .sec-bs-plan {
    padding: 69px 0 23px
  }
}

.bs-plan__heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 2px;
  margin-bottom: 112px
}

@media screen and (max-width:834px) {
  .bs-plan__heading {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 62px
  }
}

.bs-plan__heading .c-btn__01 {
  margin-left: 0
}

.bs-plan__heading p {
  margin-bottom: 29px
}

@media screen and (max-width:834px) {
  .bs-plan__heading p {
    margin-bottom: 25px
  }
}

.bs-plan__calendar {
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
  font-weight: 700;
  border: 1px solid #333;
  border-bottom: none;
  margin-bottom: 24px
}

@media screen and (max-width:834px) {
  .bs-plan__calendar {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 16px
  }
}

.bs-plan__calendar-heading,
.bs-plan__calendar-show {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  position: relative
}

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

  .bs-plan__calendar-heading,
  .bs-plan__calendar-show {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.bs-plan__calendar-heading-item,
.bs-plan__calendar-show-item {
  border-right: 2px solid #333;
  border-bottom: 1px solid #333;
  height: 84px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative
}

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

  .bs-plan__calendar-heading-item,
  .bs-plan__calendar-show-item {
    height: 46px;
    width: 19%
  }

  .bs-plan__calendar-heading-item:first-child,
  .bs-plan__calendar-show-item:first-child {
    width: 24%
  }
}

.bs-plan__calendar-heading-item:nth-child(5),
.bs-plan__calendar-show-item:nth-child(5) {
  border-right: none
}

.bs-plan__calendar-heading {
  background: #666
}

.bs-plan__calendar-heading-item {
  color: #fff;
  position: relative
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-heading-item {
    height: 43px
  }
}

.bs-plan__calendar-heading-item:first-child {
  background: #333
}

.bs-plan__calendar-heading-item span {
  position: relative;
  z-index: 1
}

.bs-plan__calendar-heading-item.active {
  padding-bottom: 7px
}

.bs-plan__calendar-heading-item.active:before {
  content: "";
  position: absolute;
  top: -10px;
  left: -12px;
  right: -14px;
  bottom: 0;
  background: #d00
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-heading-item.active:before {
    top: -6px;
    left: -6px;
    right: -6px
  }
}

.bs-plan__calendar-heading-note {
  position: absolute;
  top: -62px;
  left: 52%;
  transform: translateX(-50%);
  border: 1px solid #d00;
  font-size: 1.8rem;
  padding: 9px 35px;
  letter-spacing: 1.5px;
  color: #d00;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  background: #fff;
  white-space: nowrap;
  border-radius: 30px
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-heading-note {
    font-size: 1.4rem;
    top: -54px;
    left: -88%;
    transform: translateX(0);
    padding: 9px 15px
  }
}

.bs-plan__calendar-heading-note:after {
  content: "";
  width: 15px;
  height: 16px;
  background: url(../img/service/bs/af-custom.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0 auto
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-heading-note:after {
    width: 9px;
    height: 13px;
    left: 78px;
    right: auto
  }
}

.bs-plan__calendar-show-item {
  background: #f6f5f2
}

.bs-plan__calendar-show-item:first-child {
  background: #666;
  color: #fff
}

.bs-plan__calendar-show-item small {
  font-size: 1.6rem;
  position: absolute;
  top: 4px;
  right: 7px
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-show-item small {
    top: 2px;
    right: 3px;
    font-size: .8rem
  }
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-show-item img {
    width: 25px
  }

  .bs-plan__calendar-show-item img.img-minus {
    width: 10px
  }
}

.bs-plan__calendar-show-note {
  position: absolute;
  top: 10px;
  bottom: 7px;
  right: 13px;
  width: calc(80% - 20px);
  font-size: 1.8rem;
  color: #d00;
  border: 2px solid #d00;
  font-weight: 700;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.2;
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width:834px) {
  .bs-plan__calendar-show-note {
    font-size: 1rem;
    border: 1px solid #d00;
    top: 4px;
    right: 3px;
    left: calc(24% + 3px);
    border-radius: 0;
    letter-spacing: 1px
  }
}

.bs-plan__note {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286;
  font-weight: 700;
  counter-reset: b
}

@media screen and (max-width:834px) {
  .bs-plan__note {
    font-size: 1rem;
    line-height: 1.5
  }
}

.bs-plan__note li {
  position: relative;
  padding: 0 0 0 36px;
  letter-spacing: 1px
}

@media screen and (max-width:834px) {
  .bs-plan__note li {
    padding: 0
  }
}

.bs-plan__note li:before {
  counter-increment: b;
  content: "※ " counter(b) ". ";
  position: absolute;
  top: 0;
  left: 0;
  letter-spacing: 0
}

@media screen and (max-width:834px) {
  .bs-plan__note li:before {
    position: static
  }
}

.sec-bs-flow {
  background: #f6f5f2;
  padding: 198px 0 102px
}

@media screen and (max-width:834px) {
  .sec-bs-flow {
    padding: 54px 0 26px
  }
}

.sec-bs-flow:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: url(../img/service/bs/other-custom-bf.png) no-repeat;
  background-size: 100%
}

.sec-bs-flow:after {
  content: "";
  width: 303px;
  height: 600px;
  background: url(../img/service/bs/flow-af.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -134px;
  right: 0;
  z-index: 1
}

@media screen and (max-width:834px) {
  .sec-bs-flow:after {
    width: 88px;
    top: -17px
  }
}

.sec-bs-flow .inner {
  position: relative;
  z-index: 2
}

.bs-flow__note {
  font-weight: 700;
  font-size: 2rem;
  line-height: 2.5;
  letter-spacing: 2px;
  margin-bottom: 50px
}

@media screen and (max-width:834px) {
  .bs-flow__note {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 1.5px;
    margin-bottom: 33px
  }
}

.bs-flow__step {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -30px
}

@media screen and (max-width:834px) {
  .bs-flow__step--custom {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .bs-flow__step--custom-left {
    width: 50%;
    padding: 0 15px
  }

  .bs-flow__step--custom-right {
    width: 50%;
    border-left: 1px solid #333;
    padding: 8px 0 17px 5px
  }
}

.bs-flow__step-item {
  width: 35%;
  padding: 0 30px
}

@media screen and (max-width:834px) {
  .bs-flow__step-item {
    width: 100%;
    margin-bottom: 51px
  }

  .bs-flow__step-item:last-child {
    margin-bottom: 0
  }
}

.bs-flow__step-item:nth-child(2) .bs-flow__step-box:before {
  border-color: #dd6e6e
}

.bs-flow__step-item:nth-child(2) .bs-flow__step-box:after {
  background: url(../img/service/bs/step-af-02.png) no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width:834px) {
  .bs-flow__step-item:nth-child(2) .bs-flow__step-box:after {
    background: url(../img/service/bs/step-af-02-sp.png) no-repeat;
    background-size: 100% 100%
  }
}

.bs-flow__step-item:nth-child(3) {
  width: 30%
}

@media screen and (max-width:834px) {
  .bs-flow__step-item:nth-child(3) {
    width: 100%
  }

  .bs-flow__step-item:nth-child(3) .bs-flow__step--custom {
    margin-bottom: 12px
  }

  .bs-flow__step-item:nth-child(3) .bs-flow__step--custom-right {
    padding: 0 0 0 8px
  }
}

.bs-flow__step-item:nth-child(3) .bs-flow__step-box:before {
  border-color: #d00
}

@media screen and (max-width:834px) {
  .bs-flow__step-item:nth-child(3) .bs-flow__step-box:before {
    border-bottom: 14px solid #d00
  }
}

.bs-flow__step-item:nth-child(3) .bs-flow__step-box:after {
  display: none
}

.bs-flow__step-box {
  background: #fff;
  position: relative;
  padding: 35px 35px 45px;
  height: 100%;
  letter-spacing: 0
}

@media screen and (max-width:834px) {
  .bs-flow__step-box {
    padding: 18px 18px 10px;
    font-size: 1.2rem
  }
}

.bs-flow__step-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 25px solid #ffbdbd
}

@media screen and (max-width:834px) {
  .bs-flow__step-box:before {
    border-width: 14px;
    border-bottom: 5px solid #ffbdbd
  }
}

.bs-flow__step-box:after {
  content: "";
  width: 60px;
  position: absolute;
  top: 0;
  left: calc(100% - 1px);
  bottom: 0;
  background: url(../img/service/bs/step-af-01.png) no-repeat;
  background-size: 100% 100%
}

@media screen and (max-width:834px) {
  .bs-flow__step-box:after {
    width: auto;
    top: calc(100% - 1px);
    left: 0;
    right: 0;
    height: 32px;
    background: url(../img/service/bs/step-af-01-sp.png) no-repeat;
    background-size: 100% 100%
  }
}

.bs-flow__step-box p {
  font-size: 1.8rem;
  padding: 0 15px;
  margin-bottom: 9px
}

@media screen and (max-width:834px) {
  .bs-flow__step-box p {
    font-size: 1.3rem;
    padding: 0;
    margin-bottom: 10px
  }
}

.bs-flow__step-box .c-text-note {
  padding: 0 15px;
  letter-spacing: 1.5px
}

@media screen and (max-width:834px) {
  .bs-flow__step-box .c-text-note {
    padding: 0;
    letter-spacing: 1px
  }

  .bs-flow__step-box .c-text-note li {
    padding: 0 0 0 17px;
    margin-bottom: 5px
  }

  .bs-flow__step-box .c-text-note li:before {
    top: 5px;
    width: 10px;
    height: 10px;
    left: 0
  }

  .bs-flow__step-box .c-text-note li:last-child {
    margin-bottom: 0
  }
}

.bs-flow__step-note {
  display: block;
  text-align: center;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  font-size: 2.4rem;
  font-family: Helvetica, sans-serif;
  background: #d00;
  padding: 5px;
  margin-bottom: 25px
}

@media screen and (max-width:834px) {
  .bs-flow__step-note {
    font-size: 1.6rem;
    padding: 0;
    margin-bottom: 5px
  }
}

.bs-flow__step-ttl {
  display: block;
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.3333333333;
  font-weight: 700;
  border-bottom: 2px solid #666;
  position: relative;
  padding: 0 0 14px;
  margin-bottom: 10px
}

@media screen and (max-width:1024px) {
  .bs-flow__step-ttl {
    font-size: 2rem
  }
}

@media screen and (max-width:834px) {
  .bs-flow__step-ttl {
    text-align: left;
    border-bottom: none;
    margin: 0;
    padding: 0
  }
}

.bs-flow__step-ttl:after {
  width: 100px;
  height: 2px;
  background: #d00;
  position: absolute;
  bottom: 0;
  left: 0
}

@media screen and (max-width:834px) {
  .bs-flow__step-ttl:after {
    display: none
  }
}

.bs-flow__step-img {
  padding: 12px 0 0
}

@media screen and (max-width:834px) {
  .bs-flow__step-img {
    padding: 0
  }
}

.sec-bs-customer {
  background: #f6f5f2
}

.sec-bs-customer--custom {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  z-index: -1
}

.sec-bs-question {
  padding: 189px 0 202px
}

@media screen and (max-width:834px) {
  .sec-bs-question {
    padding: 49px 0 202px
  }
}

.bs-question dl {
  background: #f7f5f2;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 6px
}

@media screen and (max-width:834px) {
  .bs-question dl {
    margin-bottom: 3px
  }
}

.bs-question dl:last-child {
  margin-bottom: 0
}

.bs-question dl dt {
  position: relative;
  cursor: pointer;
  font-weight: 700
}

.bs-question dl dt .bs-question__ct:before {
  content: "Q";
  background: #595959
}

.bs-question dl dt:after,
.bs-question dl dt:before {
  background: #d00;
  content: "";
  display: block;
  height: 30px;
  position: absolute;
  right: 20px;
  top: 26px;
  transition: .1s linear;
  width: 3px
}

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

  .bs-question dl dt:after,
  .bs-question dl dt:before {
    height: 22px;
    position: absolute;
    right: 15px;
    top: 13px
  }
}

.bs-question dl dt:after {
  transform: rotate(90deg)
}

.bs-question dl dt.active:before {
  transform: rotate(-90deg)
}

.bs-question dl dd {
  display: none
}

.bs-question dl dd .bs-question__ct {
  background: #fff;
  border-radius: 10px
}

.bs-question dl dd .bs-question__ct:before {
  content: "A";
  background: #d00
}

@media screen and (max-width:834px) {
  .bs-question dl dd .bs-question__ct:before {
    top: 11px;
    left: 10px
  }
}

.bs-question__ct {
  padding: 23px 50px 23px 96px;
  position: relative
}

@media screen and (max-width:834px) {
  .bs-question__ct {
    letter-spacing: 2px;
    padding: 15px 50px 15px 60px
  }
}

.bs-question__ct:before {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
  width: 50px;
  height: 50px;
  left: 25px;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: 16px;
  font-family: Helvetica, sans-serif
}

@media screen and (max-width:834px) {
  .bs-question__ct:before {
    width: 40px;
    height: 40px;
    left: 5px;
    top: 5px;
    font-size: 2rem
  }
}

.bs-question__ct p {
  margin-bottom: 10px
}

.bs-question__ct p:last-child {
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 1px;
}

.bs-question__ct-note {
  font-size: 1.4rem
}

.bs-question__ct-note li {
  position: relative;
  padding: 0 0 0 20px
}

.bs-question__ct-note li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0
}

#page-reason {
  overflow-x: hidden
}

@media screen and (max-width:834px) {
  #page-reason .mv-page {
    line-height: 1.75;
    padding-bottom: 77px
  }
}

.sec-reason-strengths {
  padding: 94px 0 69px
}

@media screen and (max-width:834px) {
  .sec-reason-strengths {
    padding: 47px 0 28px
  }

  .sec-reason-strengths .c-ttl__01 .c-ft--jp {
    letter-spacing: 0
  }
}

@media screen and (max-width:834px) {
  .strengths-list {
    grid-template-columns: 1fr;
    gap: 15px
  }
}

.strengths-list .solution-list__item {
  padding-top: 20px;
  padding-bottom: 30px
}

@media screen and (max-width:834px) {
  .strengths-list .solution-list__item {
    padding: 0
  }
}

.strengths-list .solution-list__item:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 22px 0;
  border-color: #c80000 transparent transparent;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto
}

@media screen and (max-width:834px) {
  .strengths-list .solution-list__item:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 10px;
    border-color: transparent transparent transparent #c80000;
    bottom: auto;
    left: auto;
    right: 8px;
    top: 18px
  }
}

@media screen and (max-width:834px) {
  .strengths-list .solution-list__img {
    display: none
  }
}

.strengths-list .solution-list__ttl {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px
}

@media screen and (max-width:834px) {
  .strengths-list .solution-list__ttl {
    margin-bottom: 0;
    display: block;
    padding: 20px;
    letter-spacing: 1.5px
  }
}

.sec-reason-01 {
  background: #f6f5f2;
  padding: 100px 0
}

@media screen and (max-width:834px) {
  .sec-reason-01 {
    padding: 50px 0 47px
  }
}

.sec-reason-01:before {
  content: "";
  width: 270px;
  height: 314px;
  background: url(../img/reason/item-01.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 263px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-reason-01:before {
    width: 132px;
    top: 0
  }
}

.sec-reason-01 .inner {
  position: relative;
  z-index: 1
}

.reason-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px
}

@media screen and (max-width:834px) {
  .reason-block {
    margin-bottom: 26px
  }
}

.reason-block__ct {
  width: 42.8%;
  font-size: 1.9rem;
  line-height: 1.9473684211;
  margin: -5px 0 0;
  padding: 0 25px 0 0;
  letter-spacing: 2px
}

@media screen and (max-width:834px) {
  .reason-block__ct {
    width: 100%;
    margin: 0 0 17px;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.65;
    letter-spacing: 1.5px
  }
}

.reason-block__odd {
  background: #fff;
  padding: 37px 37px 42px
}

@media screen and (max-width:1024px) {
  .reason-block__odd {
    padding: 37px 30px 42px
  }
}

@media screen and (max-width:834px) {
  .reason-block__odd {
    padding: 22px 20px 26px
  }
}

.reason-block__odd-ttl {
  display: block;
  position: relative;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4;
  border-bottom: 2px solid #e6e1d7;
  text-align: center;
  padding: 0 0 12px;
  letter-spacing: 1px;
  margin-bottom: 32px
}

@media screen and (max-width:834px) {
  .reason-block__odd-ttl {
    font-size: 1.5rem;
    padding: 0 0 7px;
    letter-spacing: 1px;
    margin-bottom: 20px
  }
}

.reason-block__odd-ttl span {
  color: #c80000;
  font-size: 2.4rem
}

@media screen and (max-width:834px) {
  .reason-block__odd-ttl span {
    font-size: 1.8rem
  }
}

.reason-block__odd-ttl:after {
  content: "";
  width: 100px;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
  background: #c80000
}

.reason-block__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 10px
}

@media screen and (max-width:834px) {
  .reason-block__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 5px
  }
}

.reason-block__list-item {
  background: #f6f5f2;
  border-radius: 10px;
  padding: 10px 3px;
  text-align: center
}

@media screen and (max-width:834px) {
  .reason-block__list-item {
    border-radius: 5px;
    padding: 3px
  }
}

.reason-block__list-icon {
  min-height: 54px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:834px) {
  .reason-block__list-icon {
    min-height: 45px
  }
}

.reason-block__list-icon img {
  display: block;
  margin: 0 auto
}

.reason-block__list-ct {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6666666667;
  letter-spacing: 2px;
  font-weight: 700;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:834px) {
  .reason-block__list-ct {
    font-size: 1rem;
    letter-spacing: 0
  }
}

.reason-block__img {
  width: 57.2%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1)
}

@media screen and (max-width:834px) {
  .reason-block__img {
    width: 100%
  }
}

.reason-show {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px
}

@media screen and (max-width:834px) {
  .reason-show {
    grid-template-columns: 1fr;
    gap: 15px
  }
}

@media screen and (min-width:835px) {
  .reason-show--col2 {
    grid-template-columns: 1fr 1fr
  }

  .reason-show--col2 .reason-show__ttl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.reason-show__item {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, .1);
  padding: 0 0 31px
}

@media screen and (max-width:834px) {
  .reason-show__item {
    padding: 0 0 20px
  }
}

.reason-show__ttl {
  display: block;
  background: #c80000;
  padding: 10px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 2.2rem;
  text-align: center;
  font-weight: 700;
  min-height: 80px;
  letter-spacing: 1.5px;
  color: #fff
}

@media screen and (max-width:834px) {
  .reason-show__ttl {
    min-height: 10px;
    font-size: 1.8rem
  }
}

.reason-show__img {
  padding: 2px;
  margin-bottom: 18px
}

@media screen and (max-width:834px) {
  .reason-show__img {
    margin-bottom: 13px
  }
}

.reason-show__img img {
  width: 100%
}

.reason-show__ct {
  font-size: 1.6rem;
  line-height: 2.125;
  padding: 0 31px
}

@media screen and (max-width:1024px) {
  .reason-show__ct {
    padding: 0 20px
  }
}

@media screen and (max-width:834px) {
  .reason-show__ct {
    font-size: 1.4rem;
    line-height: 1.65
  }
}

.reason-show__ct small {
  display: block;
  font-size: 1.3rem
}

@media screen and (max-width:834px) {
  .reason-show__ct small {
    font-size: 1.2rem
  }
}

.reason-show__ct-ttl {
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0 -10px 15px
}

@media screen and (max-width:834px) {
  .reason-show__ct-ttl {
    font-size: 1.6rem;
    line-height: 1.5625;
    margin: 0 0 10px
  }
}

.reason-show__ct-ttl span {
  color: #c80000
}

.reason-show__ct p {
  margin-bottom: 33px
}

@media screen and (max-width:834px) {
  .reason-show__ct p {
    margin-bottom: 13px
  }
}

.reason-show__ct p:last-child {
  margin-bottom: 0
}

.sec-reason-02 {
  padding: 111px 0 104px
}

@media screen and (max-width:834px) {
  .sec-reason-02 {
    padding: 48px 0 53px
  }
}

.sec-reason-02:before {
  content: "";
  width: 361px;
  height: 375px;
  background: url(../img/reason/item-02.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0
}

@media screen and (max-width:834px) {
  .sec-reason-02:before {
    width: 182px;
    right: -14px
  }
}

.sec-reason-02:after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  height: 100px;
  background: url(../img/reason/other-custom-bf.png) no-repeat;
  background-size: 100%;
  z-index: 1
}

.sec-reason-02 .inner {
  position: relative;
  z-index: 1
}

.sec-reason-03 {
  padding: 205px 0 105px;
  background: #f6f5f2
}

@media screen and (max-width:834px) {
  .sec-reason-03 {
    padding: 70px 0 50px
  }
}

.sec-reason-03:before {
  content: "";
  width: 300px;
  height: 500px;
  background: url(../img/reason/item-03.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -103px;
  left: 0
}

@media screen and (max-width:834px) {
  .sec-reason-03:before {
    width: 150px;
    top: -33px;
    left: -27px
  }
}

.sec-reason-03:after {
  content: "";
  width: 361px;
  height: 375px;
  background: url(../img/reason/item-02.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 41.8%;
  right: 0
}

@media screen and (max-width:834px) {
  .sec-reason-03:after {
    width: 200px;
    top: auto;
    right: -46px;
    bottom: -76px
  }
}

.sec-reason-03 .inner {
  position: relative;
  z-index: 2
}

.reason-step {
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  padding: 2px;
  margin-bottom: 22px
}

.reason-step--custom {
  overflow: hidden;
  background: #f6f6f6;
  padding: 29px;
  margin-bottom: 15px
}

.reason-step--custom .bs-flow__step-ttl {
  position: relative
}

.reason-step--custom .bs-flow__step-ttl:after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100px;
  height: 2px;
  background: #dc0000;
  bottom: -2px;
  left: 0
}

@media screen and (max-width:834px) {
  .reason-step--custom .bs-flow__step-img img {
    display: block;
    width: 50%;
    margin: 0 auto;
  }
}


@media screen and (max-width:834px) {
  .reason-step--custom {
    padding: 10px
  }

  .reason-step--custom .bs-flow__step-item {
    margin-bottom: 24px
  }

  .reason-step--custom .bs-flow__step-item:last-child {
    margin-bottom: 0
  }

  .reason-step--custom .bs-flow__step-box {
    padding: 24px 23px 20px
  }

  .reason-step--custom .bs-flow__step-box:before {
    border-bottom: 10px solid #ffbdbd
  }

  .reason-step--custom .bs-flow__step-box:after {
    z-index: 2
  }

  .reason-step--custom .bs-flow__step-note {
    padding: 3px;
    margin-bottom: 10px
  }

  .reason-step--custom .bs-flow__step-ttl {
    text-align: center;
    border-bottom: 2px solid #666;
    font-size: 1.8rem;
    padding: 0 0 10px;
    margin-bottom: 12px
  }

  .reason-step--custom .bs-flow__step-box p {
    font-size: 1.5rem;
    padding: 0 7px;
    margin-bottom: 5px
  }

  .reason-step--custom .bs-flow__step-img {
    padding: 0 0 12px
  }

  .reason-step--custom .bs-flow__step-box .c-text-note {
    padding: 0 6px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    letter-spacing: 0
  }

  .reason-step--custom .bs-flow__step-box .c-text-note li {
    width: 49%
  }

  .reason-step--custom .bs-flow__step-box .c-text-note li:nth-child(2n) {
    width: 51%
  }

  .reason-step--custom .bs-flow__step-box .c-text-note.sp-other li:nth-child(3) {
    width: 100%
  }
}

.reason-step__note {
  padding: 0 27px 28px;
  letter-spacing: .5px
}

@media screen and (max-width:834px) {
  .reason-step__note {
    padding: 0 17px 14px
  }
}

.reason-step__note-ttl {
  display: block;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 15px
}

@media screen and (max-width:834px) {
  .reason-step__note-ttl {
    font-size: 1.6rem;
    margin-bottom: 7px
  }
}

.reason-step__note-ttl span {
  color: #c80000
}

@media screen and (max-width:834px) {
  .reason-step__note-ttl span {
    display: block
  }
}

.sec-reason-dowload {
  background: #f6f5f2;
  padding: 188px 0 253px
}

@media screen and (max-width:834px) {
  .sec-reason-dowload {
    padding: 74px 0 177px
  }
}

.sec-reason-dowload .inner {
  position: relative;
  z-index: 2
}

.sec-reason-dowload:after {
  content: "";
  width: 430px;
  height: 600px;
  background: url(../img/reason/item-04.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 49%;
  right: 0
}

@media screen and (max-width:834px) {
  .sec-reason-dowload:after {
    width: 200px;
    top: 56%;
    right: -10px
  }
}

.reason-dowload {
  margin-bottom: 71px
}

@media screen and (max-width:834px) {
  .reason-dowload {
    margin-bottom: 36px
  }
}

.reason-dowload__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #fff;
  padding: 30px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  margin-bottom: 20px
}

@media screen and (max-width:834px) {
  .reason-dowload__item {
    padding: 2px 2px 25px
  }
}

.reason-dowload__item:last-child {
  margin-bottom: 0
}

.reason-dowload__img {
  width: 200px
}

@media screen and (max-width:834px) {
  .reason-dowload__img {
    width: 100%;
    background: #f6f6f6;
    padding: 14px;
    margin-bottom: 11px
  }

  .reason-dowload__img img {
    display: block;
    width: 48%;
    margin: 0 auto
  }
}

.reason-dowload__ct {
  width: calc(100% - 200px);
  padding: 0 0 10px 30px;
  letter-spacing: .5px
}

@media screen and (max-width:834px) {
  .reason-dowload__ct {
    width: 100%;
    padding: 0 20px
  }
}

.reason-dowload__ct-ttl {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 15px
}

@media screen and (max-width:834px) {
  .reason-dowload__ct-ttl {
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: .5px;
    margin-bottom: 7px
  }
}

@media screen and (min-width:835px) {
  .reason-dowload__ct .c-btn__01 {
    margin-left: 0
  }
}

.reason-dowload__ct p {
  margin-bottom: 25px
}

@media screen and (max-width:834px) {
  .reason-dowload__ct p {
    margin-bottom: 15px
  }
}

.sec-solution-point {
  padding: 95px 0 0
}

@media screen and (max-width:834px) {
  .sec-solution-point {
    padding: 46px 0 0
  }
}

.solution-anchor {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 10px;
  counter-reset: c;
  margin-bottom: 101px;
}

@media screen and (max-width:834px) {
  .solution-anchor {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
    margin-bottom: 50px
  }

  .solution-anchor__item:last-child:nth-child(odd) {
    grid-column: span 2;
  }
}

.solution-anchor__item a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
  height: 76px;
  background: #f7f5f2;
  font-size: 2rem;
  font-weight: 700;
  position: relative
}

@media screen and (max-width:834px) {
  .solution-anchor__item a {
    font-size: 1.6rem;
    height: 52px
  }
}

.solution-anchor__item a:before {
  counter-increment: c;
  content: counter(c, decimal-leading-zero);
  font-size: 3rem;
  font-family: Helvetica, sans-serif;
  font-weight: 700;
  color: #c80000;
  position: absolute;
  top: -19px;
  left: 9px
}

@media screen and (max-width:834px) {
  .solution-anchor__item a:before {
    font-size: 2rem;
    top: -14px
  }
}

.solution-anchor__item a:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 8px 0;
  border-color: #c80000 transparent transparent;
  position: absolute;
  top: calc(100% - 3px);
  left: 0;
  right: 0;
  margin: 0 auto
}

.solution-point {
  counter-reset: d
}

.solution-point__items {
  position: relative;
  padding: 197px 0 100px
}

@media screen and (max-width:834px) {
  .solution-point__items {
    padding: 73px 0 55px
  }
}

.solution-point__items .inner {
  position: relative;
  z-index: 3
}

.solution-point__items:before {
  content: "";
  position: absolute;
  z-index: 2
}

.solution-point__items:after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  right: 0;
  height: 100px;
  background: url(../img/solution/item-02.png) no-repeat;
  background-size: 100%;
  z-index: 1
}

.solution-point__items:nth-child(odd) {
  background: #f6f5f2
}

.solution-point__items:nth-child(odd):after {
  background: url(../img/solution/item-01.png) no-repeat;
  background-size: 100%
}

.solution-point__items:first-child {
  padding: 101px 0
}

@media screen and (max-width:834px) {
  .solution-point__items:first-child {
    padding: 51px 0
  }
}

.solution-point__items:first-child .solution-point__content {
  padding-bottom: 40px
}

@media screen and (max-width:834px) {
  .solution-point__items:first-child .solution-point__content {
    padding-bottom: 32px
  }
}

.solution-point__items:first-child:before {
  width: 272px;
  height: 400px;
  top: 51px;
  left: 0;
  background: url(../img/solution/point-01-bf.png) no-repeat;
  background-size: 100%
}

@media screen and (max-width:834px) {
  .solution-point__items:first-child:before {
    background: url(../img/solution/point-01-bf-sp.png) no-repeat;
    background-size: 100%;
    width: 128px;
    top: 2px
  }
}

.solution-point__items:nth-child(2):before {
  width: 314px;
  height: 500px;
  top: -79px;
  right: 0;
  background: url(../img/solution/point-02-bf.png) no-repeat;
  background-size: 100%
}

@media screen and (max-width:834px) {
  .solution-point__items:nth-child(2):before {
    width: 161px;
    top: -57px
  }
}

.solution-point__items:nth-child(3):before {
  width: 302px;
  height: 500px;
  top: -64px;
  left: 0;
  background: url(../img/solution/point-02-af.png) no-repeat;
  background-size: 100%
}

@media screen and (max-width:834px) {
  .solution-point__items:nth-child(3):before {
    width: 154px;
    top: -31px
  }
}

.solution-point__items:nth-child(4):before {
  width: 322px;
  height: 700px;
  top: -63px;
  right: 0;
  background: url(../img/solution/point-04-af.png) no-repeat;
  background-size: 100%
}

@media screen and (max-width:834px) {
  .solution-point__items:nth-child(4):before {
    width: 163px;
    top: -45px
  }
}

.solution-point__ttl {
  display: block;
  line-height: 1.4;
  position: relative;
  font-weight: 700;
  font-size: 3.6rem;
  padding: 0 0 0 108px;
  letter-spacing: 3px;
  margin-bottom: 61px
}

@media screen and (max-width:834px) {
  .solution-point__ttl {
    font-size: 1.8rem;
    padding: 0 0 0 52px;
    letter-spacing: 1.5px;
    margin-bottom: 30px
  }
}

.solution-point__ttl:before {
  counter-increment: d;
  content: counter(d, decimal-leading-zero);
  font-size: 7rem;
  font-family: Helvetica, sans-serif;
  line-height: 1;
  color: #c80000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0
}

@media screen and (max-width:834px) {
  .solution-point__ttl:before {
    font-size: 3.5rem
  }
}

.solution-point__content {
  background: #fff;
  padding: 35px 29px 30px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .16)
}

@media screen and (max-width:834px) {
  .solution-point__content {
    padding: 20px 20px 30px
  }
}

.solution-point__content .c-ttl__02 {
  font-size: 2.2rem;
  padding-bottom: 13px;
  margin-bottom: 37px
}

@media screen and (max-width:834px) {
  .solution-point__content .c-ttl__02 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6666666667;
    padding: 0 0 6px;
    margin-bottom: 14px
  }
}

.solution-point__block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.125
}

@media screen and (max-width:834px) {
  .solution-point__block {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6428571429
  }
}

.solution-point__block-ct {
  width: 60%;
  padding: 0 15px 0 0
}

@media screen and (max-width:834px) {
  .solution-point__block-ct {
    width: 100%;
    padding: 0;
    margin-bottom: 26px
  }

  .solution-point__block-ct--custom {
    margin-left: -30px
  }
}

.solution-point__block-img {
  width: 40%;
  padding: 0 28px 0 71px
}

@media screen and (max-width:834px) {
  .solution-point__block-img {
    width: 100%;
    padding: 0;
    max-width: 235px;
    margin: 0 auto
  }
}

.solution-point__block-img img {
  display: block;
  margin: 0 auto;
}

.solution-point__block-img picture {
  display: block;
  margin: 0 auto;
  height: auto;
}

@media screen and (max-width:834px) {
  .solution-point__block-img picture {
    width: 100% !important;
  }
}

.solution-point__block-list li {
  position: relative;
  padding: 0 0 0 51px;
  letter-spacing: .5px;
  margin-bottom: 26px
}

@media screen and (max-width:834px) {
  .solution-point__block-list li {
    padding: 0 0 0 30px;
    letter-spacing: 1.5px;
    margin-bottom: 26px
  }
}

.solution-point__block-list li:last-child {
  margin-bottom: 0
}

.solution-point__block-list li:before {
  content: "";
  width: 28px;
  height: 28px;
  background: url(../img/solution/icon-check.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 2px;
  left: 0
}

@media screen and (max-width:834px) {
  .solution-point__block-list li:before {
    width: 20px;
    height: 20px
  }
}

.solution-point__block-list li p {
  margin-bottom: 15px
}

.solution-point__block-list li .c-btn__01 {
  margin-left: 0
}

/*# sourceMappingURL=maps/styles.css.map */