@charset "UTF-8";
@media screen and (min-width: 769px), print {
  .ttl {
    background-image: url(../images/mv_pc.png);
  }
  main {
    counter-reset: section;
  }
  .business {
    padding-top: 80px;
    font-size: 1.5rem;
    line-height: 30px;
  }
  .business_item {
    padding-bottom: 120px;
  }
  .business_item:not(:last-child) {
    margin-bottom: 120px;
    border-bottom: 1px solid #D3D6DB;
  }
  .business h2 {
    text-align: center;
  }
  .business_twocol {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 80px;
  }
  .business_twocol.style01 picture, .business_twocol.style01 figure {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
       -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .business_twocol.style01 .txt {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
       -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-right: 75px;
    padding-left: 0;
  }
  .business_twocol picture, .business_twocol figure {
    width: 490px;
    min-width: 300px;
    height: 327px;
  }
  .business_twocol picture img, .business_twocol figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .business_twocol .txt {
    width: -webkit-calc(100% - 490px);
    width: -moz-calc(100% - 490px);
    width: calc(100% - 490px);
    min-width: 400px;
    padding-left: 75px;
  }
  .business_twocol .txt h3 {
    font-size: 3.5rem;
    position: relative;
    margin-bottom: 40px;
    font-weight: bold;
  }
  .business_twocol .txt h3.style01::after {
    color: #cbd0d3;
    right: 24px;
  }
  .business_twocol .txt h3.style01 small {
    color: #CBD0D3;
  }
  .business_twocol .txt h3.style02::after {
    color: #edea7a;
    right: 105px;
  }
  .business_twocol .txt h3.style02 small {
    color: #EDEA7A;
  }
  .business_twocol .txt h3::after {
    counter-increment: section;
    content: "0" counter(section);
    font-family: "Amiko", sans-serif;
    font-weight: 700;
    font-size: 16rem;
    position: absolute;
    right: 60px;
    top: 16px;
    z-index: -1;
    color: lightslategray;
    opacity: 0.2;
  }
  .business_twocol .txt h3 small {
    display: block;
    font-size: 1.3rem;
    font-family: "Amiko", sans-serif;
    font-weight: 700;
    color: #778899;
    margin-bottom: 10px;
  }
  .business_boxtxt {
    border: 1px solid #D3D6DB;
    background-color: #fbfbfd;
    position: relative;
    padding: 45px;
  }
  .business_boxtxt.style01 {
    background-color: #fefefe;
  }
  .business_boxtxt.style01 h4 span {
    color: #CBD0D3;
  }
  .business_boxtxt.style02 {
    background-color: #fefefc;
  }
  .business_boxtxt.style02 h4 span {
    color: #EDEA7A;
  }
  .business_boxtxt::before {
    content: "";
    position: absolute;
    top: -64px;
    left: 50%;
    width: 1px;
    height: 128px;
    background: #D3D6DB;
    display: block;
  }
  .business_boxtxt h4 {
    font-size: 2.2rem;
    margin-bottom: 25px;
    font-weight: bold;
  }
  .business_boxtxt h4 span {
    color: #768899;
  }
  .business_boxtxt_tc {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .business_boxtxt_tc ul {
    width: 50%;
  }
  .business_boxtxt_tc ul:nth-of-type(1) {
    padding-right: 30px;
  }
  .business_boxtxt_tc ul:nth-of-type(2) {
    padding-left: 15px;
  }
  .business_boxtxt_tc ul li {
    position: relative;
    padding-left: 15px;
  }
  .business_boxtxt_tc ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 768px) {
  .ttl {
    background-image: url(../images/mv_sp.png);
  }
  main {
    counter-reset: section;
  }
  .business {
    padding: 16.92708vw 5.20833vw 0;
    font-size: 3.64583vw;
    line-height: 6.51042vw;
  }
  .business_item {
    padding-bottom: 15.625vw;
  }
  .business_item:not(:last-child) {
    margin-bottom: 15.625vw;
    border-bottom: 1px solid #D3D6DB;
  }
  .business h2 {
    text-align: center;
  }
  .business_twocol {
    margin-bottom: 10.41667vw;
  }
  .business_twocol picture img, .business_twocol figure img {
    display: block;
    width: 100%;
    height: auto;
  }
  .business_twocol .txt {
    padding-left: 3.90625vw;
    padding-right: 3.90625vw;
    padding-top: 9.11458vw;
  }
  .business_twocol .txt h3 {
    font-size: 5.20833vw;
    position: relative;
    margin-bottom: 5.20833vw;
    font-weight: bold;
  }
  .business_twocol .txt h3.style01::after {
    color: #cbd0d3;
  }
  .business_twocol .txt h3.style01 small {
    color: #CBD0D3;
  }
  .business_twocol .txt h3.style02::after {
    color: #edea7a;
  }
  .business_twocol .txt h3.style02 small {
    color: #EDEA7A;
  }
  .business_twocol .txt h3::after {
    counter-increment: section;
    content: "0" counter(section);
    font-family: "Amiko", sans-serif;
    font-weight: 700;
    color: #778899;
    font-size: 20.83333vw;
    position: absolute;
    right: 0;
    bottom: -4.6875vw;
    z-index: -1;
    color: lightslategray;
    opacity: 0.2;
    line-height: 1;
  }
  .business_twocol .txt h3 small {
    display: block;
    font-size: 3.38542vw;
    font-family: "Amiko", sans-serif;
    font-weight: 700;
    color: #778899;
    margin-bottom: 1.30208vw;
  }
  .business_boxtxt {
    border: 1px solid #D3D6DB;
    background-color: #fbfbfd;
    position: relative;
    padding: 10.41667vw 3.90625vw 6.51042vw;
    width: 81.77083vw;
    margin: 0 auto;
  }
  .business_boxtxt.style01 {
    background-color: #fefefe;
  }
  .business_boxtxt.style01 h4 span {
    color: #CBD0D3;
  }
  .business_boxtxt.style02 {
    background-color: #fefefc;
  }
  .business_boxtxt.style02 h4 span {
    color: #EDEA7A;
  }
  .business_boxtxt::before {
    content: "";
    position: absolute;
    top: -8.33333vw;
    left: 50%;
    width: 1px;
    height: 16.66667vw;
    background: #D3D6DB;
    display: block;
  }
  .business_boxtxt h4 {
    font-size: 3.64583vw;
    margin-bottom: 3.25521vw;
    font-weight: bold;
  }
  .business_boxtxt h4 span {
    color: #768899;
  }
  .business_boxtxt_tc ul li {
    margin-bottom: 2.60417vw;
    position: relative;
    padding-left: 3.90625vw;
  }
  .business_boxtxt_tc ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
}
