@charset "UTF-8";
/*@include layout-SP {
}
*/
@font-face {
  font-family: 'RobotoCondensed-Bold';
  src: url("/assets/common/font/RobotoCondensed-Bold.woff") format("woff"); }

@font-face {
  font-family: 'RobotoCondensed-BoldItalic';
  src: url("/assets/common/font/RobotoCondensed-BoldItalic.woff") format("woff"); }

@font-face {
  font-family: 'RobotoCondensed-Regular';
  src: url("/assets/common/font/RobotoCondensed-Regular.woff") format("woff"); }

.Sido {
  display: block;
  width: 100%;
  min-width: 1200px;
  margin-top: 0px;
  height: 42.5vw;
  background-color: transparent;
  background-image: url("/assets/top/img/sido-bg-pc.png");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media screen and (max-width: 1280px) {
    .Sido {
      min-width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .Sido {
      margin-top: 0vw;
      width: 100%;
      min-width: 100%;
      height: 73.86667vw;
      background-image: url("/assets/top/img/sido-bg-sp.png");
      background-size: cover;
      background-position: top center; } }

.Sido-Inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  @media screen and (max-width: 768px) {
    .Sido-Inner {
      max-width: 100%; } }

.Sido-Ttl {
  opacity: 0;
  font-size: 42px;
  color: #FFF;
  line-height: 1;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Sido-Ttl {
      font-size: 3.28125vw; } }
  @media screen and (max-width: 768px) {
    .Sido-Ttl {
      font-size: 6.13333vw; } }

.Sido-Txt {
  opacity: 0;
  font-size: 24px;
  margin-top: 37px;
  color: #FFF;
  line-height: 1;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Sido-Txt {
      font-size: 1.875vw;
      margin-top: 2.89063vw; } }
  @media screen and (max-width: 768px) {
    .Sido-Txt {
      font-size: 3.73333vw;
      margin-top: 2.66667vw;
      text-align: center;
      line-height: 1.6; } }

.Sido-Btn {
  opacity: 0;
  font-weight: 700;
  color: #FFF;
  width: 890px;
  height: 100px;
  margin-top: 60px;
  font-size: 32px;
  background-image: url("/assets/top/img/sido-btn-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: filter 200ms 0s ease-out; }
  .Sido-Btn:after {
    transition: all 200ms 0s ease-out;
    content: '';
    background-image: url("/assets/top/img/sido-btn-arrow.png");
    background-repeat: no-repeat;
    width: 50.4px;
    height: 34.4px;
    margin-left: 10px;
    background-size: contain; }
  @media screen and (max-width: 1280px) {
    .Sido-Btn {
      width: 69.53125vw;
      height: 7.8125vw;
      margin-top: 4.6875vw;
      font-size: 2.5vw; }
      .Sido-Btn:after {
        width: 3.9375vw;
        height: 2.6875vw;
        margin-left: 0.78125vw; } }
  @media screen and (min-width: 769px) {
    .Sido-Btn:hover {
      filter: brightness(1.1); }
      .Sido-Btn:hover:after {
        transform: translateX(5px); } }
  @media screen and (max-width: 768px) {
    .Sido-Btn {
      width: 94.8vw;
      height: 13.33333vw;
      margin-top: 5.33333vw;
      font-size: 3.73333vw;
      background-image: url("/assets/top/img/sido-btn-bg-sp.png"); }
      .Sido-Btn:after {
        background-image: url("/assets/top/img/sido-btn-arrow.png");
        width: 8.4vw;
        height: 5.73333vw;
        margin-left: 1.33333vw; } }

.st-Con {
  padding-top: 20px;
  width: 100%;
  background-color: #f7f7f7; }
  @media screen and (max-width: 1280px) {
    .st-Con {
      padding-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .st-Con {
      padding-top: 2.66667vw; } }

.st-Con-Inner {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .st-Con-Inner {
      width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Inner {
      width: 100%; } }

.st-Con-Ttl-En {
  text-align: center;
  color: #d42d1f;
  font-size: 24px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .st-Con-Ttl-En {
      font-size: 1.875vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Ttl-En {
      font-size: 3.73333vw; } }

.st-Con-Ttl {
  text-align: center;
  font-size: 66px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .st-Con-Ttl {
      font-size: 5.15625vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Ttl {
      font-size: 8.8vw; } }

.st-Con-Line {
  width: 70px;
  height: 2px;
  margin-top: 25px;
  background-color: #d42c1e;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .st-Con-Line {
      width: 5.46875vw;
      margin-top: 1.95313vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Line {
      width: 9.33333vw;
      height: 0.26667vw;
      margin-top: 3.33333vw; } }

.st-Con-Txt {
  font-size: 18px;
  margin-top: 40px;
  text-align: center; }
  @media screen and (max-width: 1280px) {
    .st-Con-Txt {
      font-size: 1.40625vw;
      margin-top: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Txt {
      font-size: 3.2vw;
      margin-top: 5.33333vw; } }

.st-Con-Box {
  width: 100%;
  height: 270px;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1280px) {
    .st-Con-Box {
      height: 21.09375vw;
      margin-top: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Box {
      height: auto;
      margin-top: 5.33333vw; } }

.st-Con-Mail-Dt {
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center; }
  .st-Con-Mail-Dt:before {
    content: '';
    margin-right: 5px;
    background-image: url("/assets/common/img/icon-mail.png");
    background-repeat: no-repeat;
    width: 31px;
    height: 23px;
    background-size: contain; }
  @media screen and (max-width: 1280px) {
    .st-Con-Mail-Dt {
      font-size: 1.875vw; }
      .st-Con-Mail-Dt:before {
        margin-right: 0.39063vw;
        width: 2.42188vw;
        height: 1.79687vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Mail-Dt {
      font-size: 3.73333vw; }
      .st-Con-Mail-Dt:before {
        margin-right: 0.66667vw;
        width: 4.13333vw;
        height: 3.06667vw; } }

.st-Con-Mail-Btn {
  font-weight: 700;
  font-size: 18px;
  width: 500px;
  height: 80px;
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #000;
  position: relative; }
  .st-Con-Mail-Btn:after {
    content: '';
    background-image: url("/assets/common/img/btn-arrow.png");
    background-repeat: no-repeat;
    width: 45px;
    height: 15px;
    position: absolute;
    background-size: contain;
    top: 27px;
    right: 80px;
    transition: all 200ms 0s ease-out; }
  @media screen and (min-width: 769px) {
    .st-Con-Mail-Btn:hover {
      opacity: 0.8; }
      .st-Con-Mail-Btn:hover:after {
        transform: translateX(5px); } }
  @media screen and (max-width: 1280px) {
    .st-Con-Mail-Btn {
      font-size: 1.40625vw;
      width: 39.0625vw;
      height: 6.25vw;
      margin-top: 2.34375vw; }
      .st-Con-Mail-Btn:after {
        width: 3.51563vw;
        height: 1.17188vw;
        top: 2.10938vw;
        right: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Mail-Btn {
      font-size: 3.2vw;
      margin-top: 5.2vw;
      width: 88%;
      height: 14.66667vw; }
      .st-Con-Mail-Btn:after {
        width: 6vw;
        height: 2vw;
        top: 5.73333vw;
        right: 17.33333vw; } }

.st-Con-R {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  @media screen and (max-width: 768px) {
    .st-Con-R {
      width: 90%;
      margin-left: auto;
      margin-right: auto; } }

.st-Con-Tel-Dt {
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center; }
  .st-Con-Tel-Dt:before {
    content: '';
    margin-right: 7px;
    background-image: url("/assets/common/img/icon-tel.png");
    background-repeat: no-repeat;
    width: 40px;
    height: 41px;
    background-size: contain; }
  @media screen and (max-width: 1280px) {
    .st-Con-Tel-Dt {
      font-size: 1.875vw; }
      .st-Con-Tel-Dt:before {
        margin-right: 0.54688vw;
        width: 3.125vw;
        height: 3.20312vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Tel-Dt {
      margin-top: 8vw;
      font-size: 3.73333vw; }
      .st-Con-Tel-Dt:before {
        margin-right: 0.93333vw;
        width: 5.33333vw;
        height: 5.46667vw; } }

.st-Con-Tel-Num {
  font-size: 52px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .st-Con-Tel-Num {
      font-size: 4.0625vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Tel-Num {
      font-size: 9.33333vw;
      margin-top: 0.66667vw; } }

.st-Con-Tel-List {
  margin-top: 7px; }
  @media screen and (max-width: 1280px) {
    .st-Con-Tel-List {
      margin-top: 0.54688vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Tel-List {
      margin-top: 2vw; } }

.st-Con-Tel-Txt {
  font-size: 12px;
  margin-bottom: 3px;
  padding-left: 1rem; }
  .st-Con-Tel-Txt:before {
    margin-left: -1rem;
    content: '・'; }
  @media screen and (max-width: 768px) {
    .st-Con-Tel-Txt {
      font-size: 2.66667vw;
      margin-bottom: 2vw;
      letter-spacing: -0.13333vw; } }

.st-Con-Logo {
  width: 220px;
  margin-top: 50px;
  padding-bottom: 30px;
  margin-left: auto;
  margin-right: auto; }
  .st-Con-Logo img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 1280px) {
    .st-Con-Logo {
      width: 17.1875vw;
      margin-top: 3.90625vw;
      padding-bottom: 2.34375vw; } }
  @media screen and (max-width: 768px) {
    .st-Con-Logo {
      width: 50.66667vw;
      margin-top: 6.66667vw;
      padding-bottom: 4vw; } }

.st-Footer {
  width: 100%; }

.st-Footer-PageTop {
  width: 100%;
  height: 40px;
  cursor: pointer;
  background-color: #d42c1e;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 769px) {
    .st-Footer-PageTop {
      transition: all 200ms 0s ease-out; }
      .st-Footer-PageTop:hover {
        opacity: 0.85; } }
  @media screen and (max-width: 1280px) {
    .st-Footer-PageTop {
      height: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .st-Footer-PageTop {
      height: 9.33333vw; } }

@media screen and (max-width: 768px) {
  .st-Footer-Tri {
    width: 6%; }
    .st-Footer-Tri img {
      width: 100%;
      height: auto; } }

.st-Footer-Inner {
  width: 100%;
  background-color: #1a1a1a; }

.st-Footer-Box {
  width: 100%;
  max-width: 90%;
  min-width: 1200px;
  padding-left: 18px;
  padding-right: 18px;
  height: 40px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #FFF;
  display: flex;
  align-items: center; }
  @media screen and (max-width: 1280px) {
    .st-Footer-Box {
      max-width: 90%;
      min-width: 93.75vw;
      padding-left: 1.40625vw;
      padding-right: 1.40625vw;
      height: 3.125vw;
      font-size: 0.9375vw; } }
  @media screen and (max-width: 768px) {
    .st-Footer-Box {
      max-width: 100%;
      min-width: 100%;
      flex-direction: column;
      height: 38.66667vw;
      justify-content: center;
      align-items: center; } }

.st-Footer-Link {
  color: #FFF;
  font-size: 12px;
  margin-right: 25px;
  display: flex;
  align-items: center; }
  .st-Footer-Link:before {
    margin-right: 5px;
    content: '';
    background-image: url("/assets/common/img/footer-arrow-pc.png");
    background-repeat: no-repeat;
    width: 6px;
    height: 10px;
    background-size: contain; }
  @media screen and (max-width: 1280px) {
    .st-Footer-Link {
      font-size: 0.9375vw;
      margin-right: 1.95313vw; }
      .st-Footer-Link:before {
        margin-right: 0.39063vw;
        width: 0.46875vw;
        height: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .st-Footer-Link {
      font-size: 2.66667vw;
      margin-right: 0;
      margin-bottom: 3.33333vw; }
      .st-Footer-Link:before {
        background-image: url("/assets/common/img/footer-arrow-sp.png");
        width: 8px;
        height: 15px;
        background-size: contain; } }

.st-Footer-Copy {
  font-family: 'RobotoCondensed-Regular';
  letter-spacing: 1px;
  font-size: 11px;
  margin-left: auto; }
  @media screen and (max-width: 1280px) {
    .st-Footer-Copy {
      font-size: 0.85938vw; } }
  @media screen and (max-width: 768px) {
    .st-Footer-Copy {
      letter-spacing: 0.13333vw;
      margin-left: auto;
      margin-right: auto;
      font-size: 2.4vw;
      margin-top: 10px; } }

body {
  background-color: #fff; }

.Mv {
  width: 100%;
  display: block;
  padding-top: 70px;
  background-color: #f7f7f7;
  background-image: url("/assets/detail/img/mv-tri.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top 220px center; }
  @media screen and (max-width: 1280px) {
    .Mv {
      padding-top: 5.46875vw; } }
  @media screen and (max-width: 768px) {
    .Mv {
      background-image: url("/assets/detail/img/mv-tri-sp.png");
      background-position: top 41.33333vw center;
      padding-top: 9.33333vw; } }

.Mv-Inner {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .Mv-Inner {
      width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Inner {
      width: 93%; } }

.Mv-Ttl-En {
  text-align: center;
  color: #d42d1f;
  font-size: 24px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Mv-Ttl-En {
      font-size: 1.875vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Ttl-En {
      font-size: 3.73333vw; } }

.Mv-Ttl {
  text-align: center;
  font-size: 66px;
  letter-spacing: -2px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Mv-Ttl {
      font-size: 5.15625vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Ttl {
      line-height: 1.2;
      margin-top: 2.66667vw;
      font-size: 8.8vw;
      letter-spacing: -0.26667vw; } }

.Mv-Line {
  width: 70px;
  margin-top: 40px;
  height: 2px;
  background-color: #d42c1e;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .Mv-Line {
      width: 5.46875vw;
      margin-top: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Line {
      width: 9.33333vw;
      height: 0.26667vw;
      margin-top: 6.66667vw; } }

.Mv-Pic {
  margin-top: 80px;
  width: auto;
  margin-left: auto;
  margin-right: auto; }
  .Mv-Pic img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 1280px) {
    .Mv-Pic {
      margin-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Pic {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      margin-top: 10.66667vw; } }

.Mv-Box {
  position: relative;
  width: 94%;
  margin-top: -30px;
  background-color: #FFF;
  margin-left: auto;
  margin-right: auto;
  border: solid 4px #d42d1f;
  overflow: hidden; }
  .Mv-Box img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 1280px) {
    .Mv-Box {
      margin-top: -2.34375vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Box {
      border: solid 0.8vw #d42d1f;
      margin-top: -4vw; } }

.Mv-Tags {
  position: relative;
  display: flex;
  flex-wrap: wrap; }

.Mv-Tag {
  width: 171.2px;
  height: 40px;
  padding-left: 32px;
  font-size: 24px;
  display: flex;
  align-items: center;
  line-height: 1;
  font-weight: 700;
  color: #FFF;
  background-image: url("/assets/top/img/cho-tag.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top left; }
  .Mv-Tag span {
    display: block;
    margin-top: -5px; }
  @media screen and (max-width: 1280px) {
    .Mv-Tag {
      width: 13.375vw;
      height: 3.125vw;
      padding-left: 2.5vw;
      font-size: 1.875vw; }
      .Mv-Tag span {
        margin-top: -0.39063vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Tag {
      width: 19.97333vw;
      height: 4.66667vw;
      padding-left: 4.29333vw;
      font-size: 2.52vw; }
      .Mv-Tag span {
        margin-top: -0.66667vw; } }

.Mv-TagN {
  transform: skewX(-40deg);
  border-right: solid 1px #aaa;
  border-bottom: solid 1px #aaa;
  padding-left: 25px;
  padding-right: 25px;
  height: 40px;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700; }
  .Mv-TagN span {
    font-size: 20px;
    display: block;
    transform: skewX(40deg); }
  .Mv-TagN.Mv-TagStart {
    margin-left: -15px; }
  @media screen and (max-width: 1280px) {
    .Mv-TagN {
      height: 3.125vw;
      padding-left: 1.95313vw;
      padding-right: 1.95313vw; }
      .Mv-TagN span {
        font-size: 1.5625vw; }
      .Mv-TagN.Mv-TagStart {
        margin-left: -1.17188vw; } }
  @media screen and (max-width: 768px) {
    .Mv-TagN {
      border-right: solid 0.2vw #aaa;
      border-bottom: solid 0.2vw #aaa;
      height: 4.69333vw;
      padding-left: 3.33333vw;
      padding-right: 3.33333vw; }
      .Mv-TagN span {
        font-size: 2.66667vw; }
      .Mv-TagN.Mv-TagStart {
        margin-left: -2.13333vw; } }

.Mv-TxtBox {
  padding: 30px 25px; }
  @media screen and (max-width: 1280px) {
    .Mv-TxtBox {
      padding: 2.34375vw 1.95313vw; } }
  @media screen and (max-width: 768px) {
    .Mv-TxtBox {
      padding: 4vw; } }

.Mv-Txt {
  font-size: 32px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Mv-Txt {
      font-size: 2.5vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Txt {
      font-size: 4.26667vw; } }

.Mv-Txt-Indent {
  padding-left: 32px; }
  .Mv-Txt-Indent:before {
    margin-left: -32px;
    content: '・'; }
  @media screen and (max-width: 1280px) {
    .Mv-Txt-Indent {
      padding-left: 2.5vw; }
      .Mv-Txt-Indent:before {
        margin-left: -2.5vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Txt-Indent {
      margin-bottom: 2vw;
      padding-left: 4.26667vw; }
      .Mv-Txt-Indent:before {
        margin-left: -4.26667vw; } }

.Mv-Name {
  font-size: 24px;
  margin-top: 10px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Mv-Name {
      font-size: 1.875vw;
      margin-top: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Name {
      font-size: 3.2vw;
      margin-top: 1.33333vw; } }

.Mv-CaptionBox {
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px; }
  @media screen and (max-width: 1280px) {
    .Mv-CaptionBox {
      margin-top: 1.17188vw; } }
  @media screen and (max-width: 768px) {
    .Mv-CaptionBox {
      margin-top: 2.66667vw; } }

.Mv-Caption {
  font-size: 12px;
  padding-bottom: 4px;
  line-height: 1.4; }
  @media screen and (max-width: 1280px) {
    .Mv-Caption {
      font-size: 0.9375vw;
      padding-bottom: 0.3125vw; } }
  @media screen and (max-width: 768px) {
    .Mv-Caption {
      font-size: 2.4vw;
      padding-bottom: 0.66667vw; } }

.Contents {
  background-color: #f7f7f7;
  padding-bottom: 30px; }
  @media screen and (max-width: 1280px) {
    .Contents {
      padding-bottom: 2.34375vw; } }
  @media screen and (max-width: 768px) {
    .Contents {
      padding-bottom: 4vw; } }

.ConA {
  width: 100%;
  display: block;
  padding-top: 100px;
  background-color: #f7f7f7;
  background-image: url("/assets/detail/img/con-a-tri.png");
  background-repeat: no-repeat;
  background-size: 250px auto;
  background-position: top 150px right -50px; }
  .detail-solution .ConA {
    background-image: none; }
  .detail-case .ConA {
    background-image: none; }
  .ConA.is-only {
    background-position: top 0px right -50px; }
  .ConA.is-only2 {
    background-position: top 0px right -50px; }
  @media screen and (max-width: 1280px) {
    .ConA {
      padding-top: 7.8125vw;
      background-size: 19.53125vw auto;
      background-position: top 11.71875vw right -3.90625vw; }
      .ConA.is-only {
        background-position: top 0px right -3.90625vw; }
      .ConA.is-only2 {
        background-position: top 0px right -3.90625vw; } }
  @media screen and (max-width: 768px) {
    .ConA {
      padding-top: 13.33333vw;
      background-size: 40vw auto;
      background-position: top 43.33333vw right -10.66667vw; }
      .ConA.is-only {
        background-position: top 0vw right -10.66667vw; }
      .ConA.is-only2 {
        background-position: top 0vw right -10.66667vw; } }

.ConA-Inner {
  width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .ConA-Inner {
      width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Inner {
      width: 100%; } }

.ConA-Ttl {
  text-align: center;
  font-size: 66px;
  letter-spacing: -2px;
  font-weight: 700; }
  .detail-solution .ConA-Ttl {
    font-size: 52px; }
  @media screen and (max-width: 1280px) {
    .ConA-Ttl {
      font-size: 5.15625vw; }
      .detail-solution .ConA-Ttl {
        font-size: 4.0625vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Ttl {
      width: 93%;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.2;
      margin-top: 2.66667vw;
      font-size: 8.8vw;
      letter-spacing: -0.26667vw; }
      .detail-solution .ConA-Ttl {
        font-size: 8.4vw; } }

.ConA-Line {
  width: 70px;
  margin-top: 40px;
  height: 2px;
  background-color: #d42c1e;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .ConA-Line {
      width: 5.46875vw;
      margin-top: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Line {
      width: 9.33333vw;
      height: 0.26667vw;
      margin-top: 6.66667vw; } }

.ConA-Cap {
  margin-top: 50px;
  font-size: 29px;
  text-align: center;
  line-height: 1.7;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .ConA-Cap {
      margin-top: 3.90625vw;
      font-size: 2.26563vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Cap {
      margin-top: 8vw;
      font-size: 4vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.ConA-Box {
  margin-top: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row; }
  .is-only .ConA-Box {
    margin-top: 0; }
  .is-only2 .ConA-Box {
    margin-top: 0; }
  @media screen and (max-width: 1280px) {
    .ConA-Box {
      margin-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Box {
      width: 100%;
      margin-top: 10.66667vw;
      flex-direction: column;
      align-items: flex-start; }
      .is-only .ConA-Box {
        margin-top: 0; }
      .is-only2 .ConA-Box {
        margin-top: 0; } }

.ConA-Pic {
  width: 48%;
  flex-shrink: 0; }
  .is-only .ConA-Pic {
    width: 30%; }
  .is-only2 .ConA-Pic {
    width: 48%; }
  .ConA-Pic img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 768px) {
    .ConA-Pic {
      width: 93%;
      margin-left: auto;
      margin-right: auto; }
      .is-only .ConA-Pic {
        width: 94%; }
      .is-only2 .ConA-Pic {
        width: 94%; } }

.ConA-Txt {
  width: 100%;
  margin-left: 50px;
  font-size: 20px;
  line-height: 1.6; }
  .is-bigT .ConA-Txt {
    font-size: 22px; }
  .ConA-Txt span {
    font-weight: bold; }
  @media screen and (max-width: 1280px) {
    .ConA-Txt {
      margin-left: 3.90625vw;
      font-size: 1.5625vw; }
      .is-bigT .ConA-Txt {
        font-size: 1.71875vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Txt {
      margin-top: 4vw;
      font-size: 3.2vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; }
      .is-bigT .ConA-Txt {
        font-size: 3.2vw; } }

.Con-IndentTxt {
  padding-left: 20px;
  line-height: 1.5;
  margin-top: 10px; }
  .Con-IndentTxt:before {
    content: '◇';
    margin-left: -20px; }
  @media screen and (max-width: 1280px) {
    .Con-IndentTxt {
      font-size: 1.5625vw;
      margin-top: 0.78125vw; }
      .Con-IndentTxt:before {
        font-size: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Con-IndentTxt {
      padding-left: 3.2vw;
      margin-top: 2vw; }
      .Con-IndentTxt:before {
        margin-left: -3.2vw; } }

.Con-CaptionBox {
  margin-top: 20px; }
  @media screen and (max-width: 1280px) {
    .Con-CaptionBox {
      margin-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Con-CaptionBox {
      margin-top: 2.66667vw; } }

.Con-CaptionBox-MT10 {
  margin-top: 10px; }
  @media screen and (max-width: 1280px) {
    .Con-CaptionBox-MT10 {
      margin-top: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .Con-CaptionBox-MT10 {
      margin-top: 1.33333vw; } }

.Con-Caption {
  font-size: 12px;
  margin-bottom: 4px;
  line-height: 1.4; }
  @media screen and (max-width: 1280px) {
    .Con-Caption {
      font-size: 0.9375vw;
      margin-bottom: 0.3125vw; } }
  @media screen and (max-width: 768px) {
    .Con-Caption {
      font-size: 2.4vw;
      margin-bottom: 0.66667vw; } }

.Con-IndentTxt-Black:before {
  content: '◆' !important; }

.Con-IndentTxt-num1:before {
  content: '(1)'; }

.Con-IndentTxt-num2:before {
  content: '(2)'; }

.Con-IndentTxt-num3:before {
  content: '(3)'; }

.Con-IndentTxt-num4:before {
  content: '(4)'; }

.Con-IndentTxt-num5:before {
  content: '(5)'; }

.is-name {
  font-weight: 700;
  display: inline-block;
  margin-top: 17px; }
  @media screen and (max-width: 1280px) {
    .is-name {
      margin-top: 1.32813vw; } }
  @media screen and (max-width: 768px) {
    .is-name {
      margin-top: 2.93333vw; } }

.ConA-Txt2 {
  margin-left: 0px;
  font-size: 20px;
  margin-top: 60px;
  line-height: 1.6; }
  .ConA-Txt2 span {
    font-weight: bold; }
  @media screen and (max-width: 1280px) {
    .ConA-Txt2 {
      font-size: 1.5625vw;
      margin-top: 4.6875vw; } }
  @media screen and (max-width: 768px) {
    .ConA-Txt2 {
      margin-top: 8vw;
      font-size: 3.2vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; }
      .detail-solution .ConA-Txt2 {
        margin-top: 0vw; } }

.ConA-TubeWrapper {
  margin-top: 70px;
  text-align: center; }
  .ConA-TubeWrapper iframe {
    width: 640px;
    height: 360px; }
  @media screen and (max-width: 1280px) {
    .ConA-TubeWrapper {
      margin-top: 5.46875vw; }
      .ConA-TubeWrapper iframe {
        width: 50vw;
        height: 28.125vw; } }
  @media screen and (max-width: 768px) {
    .ConA-TubeWrapper {
      margin-top: 8vw; }
      .ConA-TubeWrapper iframe {
        width: 85.33333vw;
        height: 48vw; }
      .detail-solution .ConA-TubeWrapper {
        margin-bottom: 4vw; } }

.ConB {
  width: 100%;
  display: block;
  background-color: #f7f7f7;
  padding-top: 100px; }
  .ConB.is-only {
    padding-top: 80px; }
  .ConB.is-pt0 {
    padding-top: 0; }
  @media screen and (max-width: 1280px) {
    .ConB {
      padding-top: 7.8125vw; }
      .ConB.is-only {
        padding-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .ConB {
      padding-top: 13.33333vw; }
      .ConB.is-only {
        padding-top: 6.66667vw; }
      .ConB.is-pt0 {
        padding-top: 0.13333vw; } }

.ConB-Inner {
  width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .ConB-Inner {
      width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .ConB-Inner {
      width: 100%; } }

.ConB-Ttl {
  text-align: center;
  font-size: 66px;
  letter-spacing: -2px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .ConB-Ttl {
      font-size: 5.15625vw; } }
  @media screen and (max-width: 768px) {
    .ConB-Ttl {
      line-height: 1.2;
      margin-top: 2.66667vw;
      font-size: 8.8vw;
      letter-spacing: -0.26667vw; } }

.ConB-Line {
  width: 70px;
  height: 2px;
  background-color: #d42c1e;
  margin-top: 40px;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 768px) {
    .ConB-Line {
      width: 9.33333vw;
      height: 0.26667vw;
      margin-top: 6.66667vw; } }

.ConB-Cap {
  margin-top: 50px;
  font-size: 29px;
  text-align: center;
  line-height: 1.7;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .ConB-Cap {
      margin-top: 3.90625vw;
      font-size: 2.26563vw; } }
  @media screen and (max-width: 768px) {
    .ConB-Cap {
      margin-top: 8vw;
      font-size: 4vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.ConB-Box {
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column; }
  .is-only .ConB-Box {
    margin-top: 0px; }
  @media screen and (max-width: 1280px) {
    .ConB-Box {
      margin-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .ConB-Box {
      width: 100%;
      margin-top: 9.33333vw;
      align-items: flex-start; }
      .is-only .ConB-Box {
        margin-top: 3.33333vw; } }

@media screen and (max-width: 768px) {
  .is-sp-width90p {
    width: 90%;
    margin-left: auto;
    margin-right: auto; } }

.ConB-Box > * {
  max-width: 100%; }

.ConB-Pic {
  width: 100%; }
  .ConB-Pic img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 768px) {
    .ConB-Pic {
      width: 100%;
      margin-left: auto;
      margin-right: auto; } }

.ConB-Txt {
  font-size: 20px;
  line-height: 2;
  margin-top: 40px; }
  .ConB-Txt span {
    font-weight: bold; }
  @media screen and (max-width: 1280px) {
    .ConB-Txt {
      margin-top: 3.125vw;
      font-size: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .ConB-Txt {
      margin-top: 4vw;
      font-size: 3.2vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.ConB-TxtBlock {
  margin-bottom: 15px; }
  .ConB-TxtBlock.is-bold {
    font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .ConB-TxtBlock {
      margin-bottom: 1.17188vw; } }
  @media screen and (max-width: 768px) {
    .ConB-TxtBlock {
      margin-bottom: 3.33333vw; } }

.ConB-BoxTxt {
  font-size: 32px;
  margin-top: 50px;
  margin-bottom: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700; }
  .ConB-BoxTxt span {
    line-height: 1.4; }
    .ConB-BoxTxt span.isRB {
      padding-right: 20px;
      flex-shrink: 0; }
    .ConB-BoxTxt span.isLB {
      display: block;
      border-left: solid 2px #000;
      padding-left: 40px;
      margin-left: 20px; }
  @media screen and (max-width: 1280px) {
    .ConB-BoxTxt {
      font-size: 2.5vw;
      margin-top: 3.90625vw;
      margin-bottom: 7.03125vw; }
      .ConB-BoxTxt span.isRB {
        padding-right: 1.5625vw; }
      .ConB-BoxTxt span.isLB {
        padding-left: 3.125vw;
        margin-left: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .ConB-BoxTxt {
      font-size: 5.06667vw;
      margin-top: 5.06667vw;
      margin-bottom: 17.33333vw;
      width: 87%; }
      .ConB-BoxTxt span.isRB {
        padding-right: 2.66667vw; }
      .ConB-BoxTxt span.isLB {
        border-right: left 0.26667vw #000;
        padding-left: 5.33333vw;
        margin-left: 2.66667vw; } }

.DN-Txt {
  font-weight: 700;
  font-size: 20px;
  margin-top: 48px;
  line-height: 2; }
  .DN-Txt span {
    font-weight: bold; }
  @media screen and (max-width: 1280px) {
    .DN-Txt {
      font-size: 1.5625vw;
      margin-top: 3.75vw; } }
  @media screen and (max-width: 768px) {
    .DN-Txt {
      margin-top: 4vw;
      font-size: 3.2vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.DN-TxtSet {
  margin-bottom: 20px; }
  @media screen and (max-width: 1280px) {
    .DN-TxtSet {
      margin-bottom: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .DN-TxtSet {
      margin-bottom: 4vw; } }

.DN-TxtBlock {
  padding-left: 20px;
  line-height: 1.8; }
  .DN-TxtBlock:before {
    content: '●';
    margin-left: -20px; }
  .DN-TxtBlock.is-noMaru {
    padding-left: 0px; }
    .DN-TxtBlock.is-noMaru:before {
      content: '';
      margin-left: 0px; }
  @media screen and (max-width: 1280px) {
    .DN-TxtBlock {
      padding-left: 1.5625vw; }
      .DN-TxtBlock:before {
        margin-left: -1.5625vw; } }
  @media screen and (max-width: 768px) {
    .DN-TxtBlock {
      padding-left: 3.2vw; }
      .DN-TxtBlock:before {
        margin-left: -3.2vw; }
      .DN-TxtBlock.is-noMaru {
        padding-left: 0px; }
        .DN-TxtBlock.is-noMaru:before {
          margin-left: 0px; } }

.DN-TxtBlock-B {
  padding-left: 20px; }
  @media screen and (max-width: 1280px) {
    .DN-TxtBlock-B {
      padding-left: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .DN-TxtBlock-B {
      padding-left: 3.2vw; } }

.DN-TxtBlock-C {
  font-weight: 400;
  padding-left: 20px; }
  @media screen and (max-width: 1280px) {
    .DN-TxtBlock-C {
      padding-left: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .DN-TxtBlock-C {
      padding-left: 3.2vw; } }

.BA {
  width: 100%;
  display: block;
  padding-top: 130px;
  padding-bottom: 150px;
  background-position: top 0px center, bottom -30px center;
  background-color: #f7f7f7;
  overflow: hidden;
  background-image: url("/assets/common/img/redline-3-pc.png"), url("/assets/top/img/smart-bg-btm.png");
  background-repeat: no-repeat;
  background-size: contain; }
  @media screen and (max-width: 1280px) {
    .BA {
      padding-top: 10.15625vw;
      padding-bottom: 11.71875vw;
      background-position: top 0px center, bottom -2.34375vw center; } }
  @media screen and (max-width: 768px) {
    .BA {
      background-image: url("/assets/top/img/smart-bg-sp.png"), url("/assets/top/img/smart-bg-btm-sp.png");
      padding-top: 16vw;
      padding-bottom: 26.66667vw; } }

.BA-Bger {
  width: 100%;
  height: 100%;
  background-image: url("/assets/common/img/white.png");
  background-position: top center;
  background-size: cover;
  background-color: transparent; }
  @media screen and (max-width: 768px) {
    .BA-Bger {
      width: 100%;
      margin-left: auto; } }

.BA-Wrapper {
  max-width: 1500px;
  padding-bottom: 50px;
  width: 90%;
  transform: translateX(0px);
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  z-index: 1; }
  @media screen and (max-width: 1280px) {
    .BA-Wrapper {
      max-width: 117.1875vw;
      padding-bottom: 3.90625vw; } }
  @media screen and (max-width: 768px) {
    .BA-Wrapper {
      max-width: 100%;
      transform: translateX(0px);
      padding-bottom: 4vw;
      padding-left: 1%; } }

.BA-Inner {
  width: 90%;
  max-width: 1200px;
  padding-top: 100px;
  padding-bottom: 70px;
  overflow: hidden;
  background-color: #FFF;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (max-width: 1280px) {
    .BA-Inner {
      max-width: 93.75vw;
      padding-top: 7.8125vw;
      padding-bottom: 5.46875vw; } }
  @media screen and (max-width: 768px) {
    .BA-Inner {
      width: 95%;
      margin-right: 0;
      padding-top: 10.66667vw;
      padding-left: 0px;
      padding-bottom: 6.66667vw;
      transform: translateX(0px); } }

.BA-Ttl-En {
  text-align: center;
  color: #d42d1f;
  font-size: 24px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .BA-Ttl-En {
      font-size: 1.875vw; } }
  @media screen and (max-width: 768px) {
    .BA-Ttl-En {
      font-size: 3.73333vw; } }

.BA-Ttl {
  text-align: center;
  font-size: 66px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .BA-Ttl {
      font-size: 5.15625vw; } }
  @media screen and (max-width: 768px) {
    .BA-Ttl {
      font-size: 6.93333vw;
      letter-spacing: -0.53333vw;
      margin-top: 1.06667vw; } }

.BA-Line {
  width: 70px;
  margin-top: 40px;
  height: 2px;
  background-color: #d42c1e;
  text-align: center;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .BA-Line {
      width: 5.46875vw;
      margin-top: 3.125vw; } }
  @media screen and (max-width: 768px) {
    .BA-Line {
      width: 9.33333vw;
      height: 0.26667vw;
      margin-top: 5.33333vw; } }

.BA-Capy {
  font-size: 29px;
  margin-top: 50px;
  text-align: center;
  font-weight: 700;
  line-height: 1.7; }
  @media screen and (max-width: 1280px) {
    .BA-Capy {
      font-size: 2.26563vw;
      margin-top: 3.90625vw; } }
  @media screen and (max-width: 768px) {
    .BA-Capy {
      font-weight: 700;
      margin-top: 6.66667vw;
      font-size: 3.73333vw; } }

.BA-Txt {
  font-size: 20px;
  text-align: center;
  margin-top: 30px;
  line-height: 1.7; }
  @media screen and (max-width: 1280px) {
    .BA-Txt {
      font-size: 1.5625vw;
      margin-top: 2.34375vw; } }
  @media screen and (max-width: 768px) {
    .BA-Txt {
      margin-top: 4vw;
      font-size: 3.2vw; } }

.BA-Txt-Left {
  text-align: left; }

.BA-Box {
  display: flex;
  margin-top: 80px;
  justify-content: space-between;
  align-items: center; }
  .BA-Box.is-vertical {
    flex-direction: column;
    justify-content: flex-start; }
  @media screen and (max-width: 1280px) {
    .BA-Box {
      margin-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box {
      margin-top: 9.33333vw;
      flex-direction: column; } }

.BA-Before {
  width: 45%; }
  .is-vertical .BA-Before {
    width: 100%;
    flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .BA-Before {
      width: 100%; } }

.BA-After {
  width: 45%; }
  .is-vertical .BA-After {
    width: 100%;
    flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .BA-After {
      width: 100%; } }

.is-vertical .BA-Before-Arrow {
  padding: 30px; }

@media screen and (max-width: 1280px) {
  .is-vertical .BA-Before-Arrow {
    padding: 2.34375vw; } }

@media screen and (max-width: 768px) {
  .BA-Before-Arrow {
    width: 13%; }
    .is-vertical .BA-Before-Arrow {
      padding: 0px; }
    .BA-Before-Arrow img {
      width: 100%;
      height: auto; }
    .is-noPicture .BA-Before-Arrow {
      margin-top: 2.93333vw;
      margin-bottom: 0.66667vw; } }

.BA-Box-T {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 15px; }
  @media screen and (max-width: 1280px) {
    .BA-Box-T {
      margin-bottom: 1.17188vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box-T {
      margin-bottom: 3.33333vw; } }

.BA-Box-En {
  color: #d42d1f;
  font-size: 69px;
  line-height: 1;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .BA-Box-En {
      font-size: 5.39063vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box-En {
      font-size: 9.2vw; } }

.BA-Box-Ja {
  font-size: 28px;
  margin-bottom: 10px;
  margin-left: 30px;
  line-height: 1;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .BA-Box-Ja {
      font-size: 2.1875vw;
      margin-bottom: 0.78125vw;
      margin-left: 2.34375vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box-Ja {
      font-size: 3.73333vw;
      margin-bottom: 1.33333vw;
      margin-left: 4.66667vw; } }

.BA-Box-Pic {
  width: 100%;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 200ms 0s ease-out; }
  .BA-Box-Pic.is-disable {
    pointer-events: none; }
  .BA-Box-Pic img {
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  @media screen and (min-width: 769px) {
    .BA-Box-Pic:hover {
      opacity: 0.8; } }
  .BA-Box-Pic.is-disable:after {
    display: none; }
  .BA-Box-Pic:after {
    content: '';
    background-image: url("/assets/detail/img/ba-grass.png");
    background-repeat: no-repeat;
    width: 60px;
    height: 60px;
    position: absolute;
    background-size: contain;
    bottom: 0;
    right: 0; }
  @media screen and (max-width: 1280px) {
    .BA-Box-Pic:after {
      width: 4.6875vw;
      height: 4.6875vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box-Pic:after {
      width: 8vw;
      height: 8vw; } }

.BA-Box-Txt {
  font-size: 20px;
  margin-top: 15px; }
  .is-noPicture .BA-Box-Txt {
    background-color: #f2f2f2;
    padding: 24px;
    min-height: 220px;
    font-size: 20px;
    font-weight: 700; }
  .BA-Box-Txt span.is-small {
    font-size: 13px;
    line-height: 1.3;
    font-weight: 400;
    display: inline-block;
    padding-top: 5px; }
  .BA-Box-Txt p {
    padding-left: 20px;
    margin-bottom: 10px; }
    .BA-Box-Txt p:before {
      content: '◇';
      margin-left: -20px; }
    .BA-After .BA-Box-Txt p:before {
      content: '◆'; }
  @media screen and (max-width: 1280px) {
    .BA-Box-Txt {
      font-size: 1.5625vw;
      margin-top: 1.17188vw; }
      .is-noPicture .BA-Box-Txt {
        padding: 1.875vw;
        min-height: 17.1875vw;
        font-size: 1.5625vw; }
      .BA-Box-Txt span.is-small {
        font-size: 1.01563vw;
        padding-top: 0.39063vw; }
      .BA-Box-Txt p {
        padding-left: 1.5625vw;
        margin-bottom: 0.78125vw; }
        .BA-Box-Txt p:before {
          margin-left: -1.5625vw; } }
  @media screen and (max-width: 768px) {
    .BA-Box-Txt {
      font-size: 3.2vw;
      margin-top: 2.93333vw; }
      .is-noPicture .BA-Box-Txt {
        padding: 4vw;
        min-height: 30.66667vw;
        font-size: 3.46667vw; }
      .BA-Box-Txt span.is-small {
        font-size: 2.93333vw;
        line-height: 1.3;
        font-weight: 400;
        display: inline-block;
        padding-top: 1.06667vw; }
      .BA-Box-Txt p {
        padding-left: 3.2vw;
        margin-bottom: 2.93333vw; }
        .BA-Box-Txt p:before {
          margin-left: -3.2vw; } }

.BA-SimpleBox {
  margin-top: 60px;
  width: 100%; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleBox {
      margin-top: 4.6875vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleBox {
      margin-top: 6.66667vw; } }

.BA-SimpleTxt {
  margin-bottom: 18px; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleTxt {
      margin-bottom: 1.40625vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleTxt {
      margin-bottom: 2.93333vw; } }

.BA-SimpleTxtA {
  font-weight: 700;
  font-size: 20px;
  padding-left: 20px;
  margin-bottom: 12px;
  line-height: 1.4;
  display: inline-block; }
  .BA-SimpleTxtA:before {
    margin-left: -20px;
    content: '●'; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleTxtA {
      font-size: 1.5625vw;
      padding-left: 1.5625vw;
      margin-bottom: 0.9375vw; }
      .BA-SimpleTxtA:before {
        margin-left: -1.5625vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleTxtA {
      font-size: 3.73333vw;
      margin-bottom: 2vw;
      padding-left: 3.73333vw; }
      .BA-SimpleTxtA:before {
        margin-left: -3.73333vw; } }

.BA-SimpleTxtB {
  padding-left: 16px;
  font-size: 20px;
  margin-bottom: 14px;
  line-height: 1.5; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleTxtB {
      padding-left: 1.25vw;
      font-size: 1.5625vw;
      margin-bottom: 1.09375vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleTxtB {
      font-size: 3.2vw;
      padding-left: 3.2vw;
      margin-bottom: 2vw; } }

.BA-SimpleTxtB.BA-SimpleTxt-indent {
  padding-left: 20px; }
  .BA-SimpleTxtB.BA-SimpleTxt-indent:before {
    margin-left: -20px;
    content: '・'; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleTxtB.BA-SimpleTxt-indent {
      padding-left: 1.5625vw; }
      .BA-SimpleTxtB.BA-SimpleTxt-indent:before {
        margin-left: -1.5625vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleTxtB.BA-SimpleTxt-indent {
      margin-bottom: 2vw;
      padding-left: 3.73333vw; }
      .BA-SimpleTxtB.BA-SimpleTxt-indent:before {
        margin-left: -3.73333vw; } }

.BA-SimpleImage {
  width: 100%;
  margin-top: 20px; }
  .BA-SimpleImage img {
    width: 100%;
    height: auto; }
  @media screen and (max-width: 1280px) {
    .BA-SimpleImage {
      margin-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .BA-SimpleImage {
      margin-top: 3.33333vw; } }

.Staff {
  display: block;
  padding: 1px;
  width: 100%;
  margin-top: 230px; }
  @media screen and (max-width: 1280px) {
    .Staff {
      margin-top: 17.96875vw; } }
  @media screen and (max-width: 768px) {
    .Staff {
      margin-top: 21.33333vw; } }

.Staff-Inner {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1280px) {
    .Staff-Inner {
      max-width: 93.75vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Inner {
      width: 100%;
      max-width: 100%; } }

.Con-ImageCaption {
  margin-top: 5px;
  font-size: 12px; }
  @media screen and (max-width: 1280px) {
    .Con-ImageCaption {
      margin-top: 0.39063vw;
      font-size: 0.9375vw; } }
  @media screen and (max-width: 768px) {
    .Con-ImageCaption {
      margin-top: 1.06667vw;
      margin-left: 2.4vw;
      font-size: 2.4vw; }
      .Con-ImageCaption.is-center {
        margin-left: 0;
        text-align: center; } }

.Staff-Box {
  display: flex; }
  @media screen and (max-width: 768px) {
    .Staff-Box {
      flex-direction: column; } }

.Staff-Pic {
  width: 400px;
  margin-left: auto;
  margin-right: auto;
  flex-shrink: 0;
  display: flex;
  flex-direction: column; }
  .Staff-Pic img {
    flex-shrink: 0;
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  @media screen and (max-width: 1280px) {
    .Staff-Pic {
      width: 31.25vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Pic {
      width: 90%; } }

.Staff-R {
  flex-wrap: wrap;
  padding-left: 50px; }
  @media screen and (max-width: 1280px) {
    .Staff-R {
      padding-left: 3.90625vw; } }
  @media screen and (max-width: 768px) {
    .Staff-R {
      padding-left: 0; } }

.Staff-Cap {
  font-size: 24px;
  color: #d42d1f;
  font-weight: 700;
  display: flex;
  align-items: center; }
  .Staff-Cap:after {
    margin-left: 12px;
    content: '';
    width: 70px;
    height: 1px;
    background-color: #d42d1f; }
  @media screen and (max-width: 1280px) {
    .Staff-Cap {
      font-size: 1.875vw; }
      .Staff-Cap:after {
        margin-left: 0.9375vw;
        width: 5.46875vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Cap {
      font-size: 4.26667vw;
      margin-top: 6.66667vw; }
      .Staff-Cap:after {
        margin-left: 1.33333vw;
        width: 9.33333vw;
        height: 0.4vw; } }

.Staff-Ttl {
  font-size: 42px;
  margin-top: 20px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Staff-Ttl {
      font-size: 3.28125vw;
      margin-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Ttl {
      font-size: 5.6vw;
      margin-top: 2.66667vw; } }

.Staff-Solu {
  font-size: 20px;
  margin-top: 10px; }
  @media screen and (max-width: 1280px) {
    .Staff-Solu {
      font-size: 1.5625vw;
      margin-top: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Solu {
      font-size: 3.46667vw;
      margin-top: 1.33333vw; } }

.Staff-Name {
  font-size: 22px;
  margin-top: 10px; }
  @media screen and (max-width: 1280px) {
    .Staff-Name {
      font-size: 1.71875vw;
      margin-top: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Name {
      font-size: 3.73333vw;
      margin-top: 1.33333vw; } }

.Staff-Txt1 {
  font-size: 30px;
  margin-top: 20px;
  font-weight: 700;
  line-height: 1.6; }
  @media screen and (max-width: 1280px) {
    .Staff-Txt1 {
      font-size: 2.34375vw;
      margin-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Txt1 {
      font-size: 4.26667vw;
      margin-top: 4vw; } }

.Staff-Txt2 {
  font-size: 20px;
  margin-top: 20px;
  line-height: 1.6; }
  @media screen and (max-width: 1280px) {
    .Staff-Txt2 {
      font-size: 1.5625vw;
      margin-top: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Staff-Txt2 {
      font-size: 3.2vw;
      margin-top: 4vw; } }

.Relation {
  margin-top: 80px;
  text-align: center; }
  @media screen and (max-width: 1280px) {
    .Relation {
      margin-top: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .Relation {
      margin-top: 10.66667vw; } }

.Relation-Ttl {
  font-size: 32px;
  font-weight: 700; }
  @media screen and (max-width: 1280px) {
    .Relation-Ttl {
      font-size: 2.5vw; } }
  @media screen and (max-width: 768px) {
    .Relation-Ttl {
      font-size: 4.66667vw;
      letter-spacing: -0.06667vw; } }

.Relation-Btn {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: filter 200ms 0s ease-out; }
  @media screen and (min-width: 769px) {
    .Relation-Btn:hover {
      filter: brightness(1.1); }
      .Relation-Btn:hover .Relation-Box:after {
        transform: skewX(35deg) translateX(5px); } }
  @media screen and (max-width: 1280px) {
    .Relation-Btn {
      margin-top: 2.34375vw; } }
  @media screen and (max-width: 768px) {
    .Relation-Btn {
      margin-top: 6.66667vw;
      max-width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.Relation-Box {
  color: #FFF;
  background-color: #e70000;
  transform: skewX(-35deg);
  padding: 15px 140px; }
  .Relation-Box:after {
    transition: all 200ms 0s ease-out;
    transform: skewX(35deg);
    position: absolute;
    content: '';
    background-image: url("/assets/detail/img/detail-btn-arrow.png");
    background-repeat: no-repeat;
    width: 45px;
    height: 15px;
    background-size: contain;
    top: 0;
    bottom: 0;
    right: 40px;
    margin-top: auto;
    margin-bottom: auto;
    padding-bottom: 8px; }
  @media screen and (max-width: 1280px) {
    .Relation-Box {
      padding: 1.17188vw 10.9375vw; }
      .Relation-Box:after {
        width: 3.51563vw;
        height: 1.17188vw;
        right: 3.125vw;
        padding-bottom: 0.625vw; } }
  @media screen and (max-width: 768px) {
    .Relation-Box {
      padding: 2.66667vw 16vw; }
      .Relation-Box:after {
        width: 6vw;
        height: 2vw;
        right: 5.33333vw;
        padding-bottom: 1.06667vw; } }

.Relation-Box-Inner {
  transform: skewX(35deg);
  font-size: 24px;
  position: relative; }
  @media screen and (max-width: 1280px) {
    .Relation-Box-Inner {
      font-size: 1.875vw; } }
  @media screen and (max-width: 768px) {
    .Relation-Box-Inner {
      font-size: 3.06667vw; } }

.Sido-Wrapper {
  width: 100%;
  background-color: #f7f7f7; }

.Talk-Box {
  display: flex;
  margin-bottom: 15px; }
  @media screen and (max-width: 1280px) {
    .Talk-Box {
      margin-bottom: 1.17188vw; } }
  @media screen and (max-width: 768px) {
    .Talk-Box {
      margin-bottom: 2.66667vw; } }

.Talk-Name {
  flex-shrink: 0;
  font-weight: 700; }

.is-caption {
  font-size: 16px;
  margin-top: 5px;
  text-align: center;
  width: 100%;
  display: block; }
  @media screen and (max-width: 1280px) {
    .is-caption {
      font-size: 1.25vw;
      margin-top: 0.39063vw; } }
  @media screen and (max-width: 768px) {
    .is-caption {
      font-size: 2.66667vw;
      margin-top: 0.66667vw; } }

.Case-ImageCaption {
  font-size: 12px;
  margin-top: 5px; }
  @media screen and (max-width: 1280px) {
    .Case-ImageCaption {
      font-size: 0.9375vw;
      margin-top: 0.39063vw; } }
  @media screen and (max-width: 768px) {
    .Case-ImageCaption {
      font-size: 2.4vw;
      margin-left: 1.6vw;
      margin-top: 0.66667vw; } }

.Point-Box {
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column; }
  @media screen and (max-width: 1280px) {
    .Point-Box {
      margin-top: 3.90625vw; } }
  @media screen and (max-width: 768px) {
    .Point-Box {
      width: 100%;
      margin-top: 6.93333vw;
      align-items: flex-start; } }

.Point-Ttl {
  font-size: 26px;
  margin-bottom: 10px;
  font-weight: bold;
  margin-top: 10px;
  line-height: 1.5; }
  @media screen and (max-width: 1280px) {
    .Point-Ttl {
      font-size: 2.03125vw;
      margin-bottom: 0.78125vw; } }
  @media screen and (max-width: 768px) {
    .Point-Ttl {
      margin-top: 1.33333vw;
      font-size: 4vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1.33333vw; } }

.Point-Txt {
  font-size: 20px;
  line-height: 1.6;
  margin-top: 15px;
  font-weight: bold; }
  .Point-Txt span {
    font-weight: bold; }
  @media screen and (max-width: 1280px) {
    .Point-Txt {
      margin-top: 1.17188vw;
      font-size: 1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Point-Txt {
      margin-top: 2.66667vw;
      font-size: 3.2vw;
      width: 88%;
      margin-left: auto;
      margin-right: auto; } }

.Point-Txt-Indent {
  padding-left: 20px; }
  .Point-Txt-Indent:before {
    margin-left: -20px;
    content: '●'; }
  @media screen and (max-width: 1280px) {
    .Point-Txt-Indent {
      padding-left: 1.5625vw; }
      .Point-Txt-Indent:before {
        margin-left: -1.5625vw; } }
  @media screen and (max-width: 768px) {
    .Point-Txt-Indent {
      margin-bottom: 2vw;
      padding-left: 3.73333vw; }
      .Point-Txt-Indent:before {
        margin-left: -3.73333vw; } }
