@charset "UTF-8";
@media screen and (min-width: 769px), print {
  .business {
    margin-top: 131px;
  }
  .business__main {
    margin-top: 122px;
  }
  .business__main ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .business__main ul li {
    max-width: 570px;
    width: 47.5%;
  }
  .business__main ul li a {
    display: block;
    width: 100%;
  }
  .business__main ul li a:hover {
    opacity: 1;
  }
  .business__main ul li a:hover figure img {
    -webkit-transform: scale(1.05);
       -moz-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  .business__main ul li a:hover .text h3, .business__main ul li a:hover .text p, .business__main ul li a:hover .text span {
    color: #D61B55;
  }
  .business__main ul li a:hover .text span::after {
    background: url("../img/icon_right_bk_hr.svg") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .business__main ul li figure img {
    width: 100%;
    height: 368px;
    object-fit: cover;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .business__main ul li .text {
    margin-top: 45px;
  }
  .business__main ul li .text h3 {
    font-size: 4.5rem;
    line-height: 63px;
    font-weight: 600;
  }
  .business__main ul li .text p {
    font-size: 2rem;
    line-height: 29px;
    font-weight: 700;
  }
  .business__main ul li .text span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 600;
    margin-top: 35px;
  }
  .business__main ul li .text span::after {
    content: "";
    width: 29px;
    height: 29px;
    background: url("../img/icon_right_bk.svg") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: inline-block;
    margin-left: 10px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .p_business .businessCom {
    margin-top: 84px;
  }
  .p_business .businessCom__ttl {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_business .businessCom__ttl picture, .p_business .businessCom__ttl figure {
    display: block;
  }
  .p_business .businessCom__ttl picture img, .p_business .businessCom__ttl figure img {
    width: 100%;
    height: auto;
  }
  .p_business .businessCom__ttl .txt {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    color: #fff;
  }
  .p_business .businessCom__ttl .txt h3 {
    font-size: 6rem;
    line-height: 84px;
    font-weight: 600;
  }
  .p_business .businessCom__ttl .txt p {
    font-size: 2rem;
    line-height: 29px;
    font-weight: 700;
  }
  .p_business .businessCom__wrap {
    margin-top: 90px;
  }
  .p_business .businessCom__wrap section + section {
    margin-top: 90px;
  }
  .p_business .businessCom__wrap section h4 {
    font-size: 3rem;
    line-height: 45px;
    font-weight: 700;
    padding: 0 0 0 26px;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_business .businessCom__wrap section h4::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 30px;
    background: #D61B55;
    left: 0;
    top: 8px;
  }
  .p_business .businessCom__wrap section .txt {
    font-size: 1.8rem;
    line-height: 30px;
    font-weight: 400;
    margin-top: 30px;
  }
  .p_business .businessCom__wrap section .wrapAr {
    margin-left: -15px;
    margin-right: -15px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-top: 7px;
  }
  .p_business .businessCom__wrap section .wrapAr article {
    width: 380px;
    margin: 30px 15px;
  }
  .p_business .businessCom__wrap section .wrapAr article figure img, .p_business .businessCom__wrap section .wrapAr article picture img {
    width: 100%;
    height: 221px;
    object-fit: cover;
  }
  .p_business .businessCom__wrap section .wrapAr article h5 {
    font-size: 2rem;
    line-height: 26px;
    font-weight: 700;
    margin-top: 30px;
  }
  .p_business .businessCom__wrap section .wrapAr article p {
    font-size: 1.8rem;
    line-height: 30px;
    font-weight: 500;
    margin-top: 18px;
  }

  .p_business .businessCom.creative .businessCom__wrap section .wrapAr {
    margin-left: -23px;
    margin-right: -23px;
  }
  .p_business .businessCom.creative .businessCom__wrap section .wrapAr article {
    width: 577px;
    margin: 30px 23px;
  }
  .p_business .businessCom.creative .businessCom__wrap section .wrapAr article figure img, .p_business .businessCom.creative .businessCom__wrap section .wrapAr article picture img {
    width: 100%;
    height: 221px;
    object-fit: cover;
  }
  .p_business .businessCom.other {
    padding: 0 0 95px;
  }
  .p_business .businessCom__wrap .businessCom__wrapOther {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-left: -15px;
    margin-right: -15px;
  }
  .p_business .businessCom__wrap .businessCom__wrapOther section {
    width: 557px;
    margin: 15px 23px;
  }
  .p_business .businessCom__wrap .businessCom__wrapOther section article {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .business {
    margin-top: 12vw;
  }
  .business__main {
    margin-top: 13.33333vw;
  }
  .business__main ul li {
    width: 100%;
    display: block;
  }
  .business__main ul li + li {
    margin-top: 16vw;
  }
  .business__main ul li a {
    display: block;
    width: 100%;
  }
  .business__main ul li a:hover {
    opacity: 1;
  }
  .business__main ul li a:hover figure img {
    -webkit-transform: scale(1.05);
       -moz-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  .business__main ul li a:hover .text h3, .business__main ul li a:hover .text p, .business__main ul li a:hover .text span {
    color: #D61B55;
  }
  .business__main ul li a:hover .text span::after {
    background: url("../img/icon_right_bk_hr.svg") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .business__main ul li figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .business__main ul li .text {
    margin-top: 20px;
  }
  .business__main ul li .text h3 {
    font-size: 8vw;
    line-height: 12.53333vw;
    font-weight: 600;
  }
  .business__main ul li .text p {
    font-size: 3.8vw;
    line-height: 6.4vw;
    font-weight: 700;
  }
  .business__main ul li .text span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 4.8vw;
    line-height: 1;
    font-weight: 600;
    margin-top: 5.06667vw;
  }
  .business__main ul li .text span::after {
    content: "";
    width: 5.33333vw;
    height: 5.33333vw;
    background: url("../img/icon_right_bk.svg") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: inline-block;
    margin-left: 2.13333vw;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .p_business .businessCom__ttl {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_business .businessCom__ttl picture, .p_business .businessCom__ttl figure {
    display: block;
  }
  .p_business .businessCom__ttl picture img, .p_business .businessCom__ttl figure img {
    width: 100%;
    height: auto;
  }
  .p_business .businessCom__ttl .txt {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    color: #fff;
  }
  .p_business .businessCom__ttl .txt h3 {
    font-size: 9.6vw;
    line-height: 13.6vw;
    font-weight: 600;
  }
  .p_business .businessCom__ttl .txt p {
    font-size: 4.26667vw;
    line-height: 6.4vw;
    font-weight: 700;
  }
  .p_business .businessCom__wrap {
    margin-top: 9.33333vw;
  }
  .p_business .businessCom__wrap section + section {
    margin-top: 10.66667vw;
  }
  .p_business .businessCom__wrap section h4 {
    font-size: 5.73333vw;
    line-height: 7.73333vw;
    font-weight: 700;
    padding: 0 0 0 3.46667vw;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .p_business .businessCom__wrap section h4::before {
    position: absolute;
    content: "";
    width: 0.8vw;
    height: 5.33333vw;
    background: #D61B55;
    left: 0;
    top: 1.06667vw;
  }
  .p_business .businessCom__wrap section .txt {
    font-size: 4vw;
    line-height: 6.96667vw;
    font-weight: 400;
    margin-top: 4.26667vw;
  }
  .p_business .businessCom__wrap section .wrapAr {
    margin-top: 9.06667vw;
  }
  .p_business .businessCom__wrap section .wrapAr article {
    width: 100%;
  }
  .p_business .businessCom__wrap section .wrapAr article + article {
    margin-top: 6.4vw;
  }
  .p_business .businessCom__wrap section .wrapAr article figure img, .p_business .businessCom__wrap section .wrapAr article picture img {
    width: 100%;
    height: auto;
  }
  .p_business .businessCom__wrap section .wrapAr article h5 {
    font-size: 4.26667vw;
    line-height: 6.4vw;
    font-weight: 700;
    margin-top: 5.33333vw;
  }
  .p_business .businessCom__wrap section .wrapAr article p {
    font-size: 3.73333vw;
    line-height: 6.66667vw;
    font-weight: 500;
    margin-top: 3.2vw;
  }
  .p_business .businessCom.creative {
    margin-top: 12vw;
    padding: 0 0 19.73333vw;
  }
  .p_business .businessCom.other {
    padding: 0 0 19.73333vw;
  }
}
