/*--------------------
business-products.css
--------------------*/

.l-business-mc-mv{
  position: relative;
  height: 72.4rem;
}
.l-business-mc-mv:after{
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  content: "";
  width: 105.0rem;
  height: 72.4rem;
  background: url("../images/business-products/mv-bg01_pc.png") right top no-repeat transparent;
  background-size: cover;
  border-radius:5.0rem 0 0 5.0rem;
}
@media screen and (min-width: 1920.5px) {
  .l-business-mc-mv:after {
    width: calc((100vw - 192.0rem) / 2 + 105.0rem);
  }
}
.l-business-mv-inner{
  max-width:192.0rem;
  width:100%;
  height: 100%;
  margin:0 auto;
  padding-top:15.0rem;
  padding-left:20.0rem;
  position: relative;
}
.l-page-title{
  
}
.l-page-title-inner{
  
}
.l-page-title-inner h1{
  padding-left: 10.0rem;
  background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
  background-size: 6.2rem auto;
  min-height: 1.6rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 2.7rem, 27px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.l-business-mc-mv h2{
  padding-top:10.0rem;
  text-align: left;
  color: #333333;
  font-size: clamp(38px, 4.5rem, 45px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.l-business-mv-inner picture{
  display:block;
  text-align: right;
  position: absolute;
  z-index: 3;
  bottom:-1.5rem;
  right:5.5rem;
}
.l-business-mv-inner picture img{
  width:42.6rem;
}


@media screen and (max-width: 767.5px) {  
  .l-business-mc-mv{
    position: relative;
    height: auto;
  }
  .l-business-mc-mv:after{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    content: "";
    width: 72.0rem;
    height: 41.8rem;
    background: url("../images/business-products/mv-bg01_pc.png") right top no-repeat transparent;
    background-size: cover;
    border-radius:5.0rem 0 0 5.0rem;
  }
  .l-business-mv-inner{
    max-width:100%;
    width:100%;
    height: 100%;
    margin:0 auto;
    padding:0 3.0rem;
    position: relative;
  }
  .l-page-title{

  }
  .l-page-title-inner{
    padding-top: 30.0rem;
  }
  .l-page-title-inner h1{
    padding-left: 10.0rem;
    background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
    background-size: 6.2rem auto;
    min-height: 1.6rem;
    text-align: left;
    color: #FFFFFF;
    font-size:3.5rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
    
    margin-left:-3.0rem;
  }
  .l-business-mc-mv-block{
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-business-mc-mv h2{
    padding-top:6.0rem;
    padding-left:2.0rem;
    text-align: left;
    color: #333333;
    font-size:4.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-business-mv-inner picture{
    display:none;
    text-align: right;
    position: absolute;
    z-index: 3;
    bottom:7.5rem;
    right:3.0rem;
  }
  .l-business-mv-inner picture img{
    width:30.0rem;
  }
}


.l-breadcrumbs{
  padding-top:5.5rem;
}
.l-breadcrumbs li{
  display:inline;
  text-align: left;
  color: #333333;
  font-size:clamp(10px, 1.4rem, 14px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-breadcrumbs li a{
  text-align: left;
  color: #3d9fd9;
  font-size:clamp(10px, 1.4rem, 14px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-breadcrumbs{
    padding:8.0rem 2.0rem 0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-breadcrumbs li{
    display:inline;
    text-align: left;
    color: #333333;
    font-size:2.0rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-breadcrumbs li a{
    text-align: left;
    color: #3d9fd9;
    font-size:2.0rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
}

.l-busibness-mc01{
  position: relative;
  /*max-width:192.0rem;
  width:100%;
  margin:0 auto;*/
}
.l-side{
  width:60.4rem;
  display:inline-block;
  padding-left:10.0rem;
  margin:0 auto;
  text-align: left;
  position: sticky;
  top:3.0rem;
  left:0;
  z-index:2;
  padding-top:15.5rem;
}
@media screen and (min-width: 1920.5px) {
  .l-side{
    padding-left:calc((100vw - 1920px) / 2 + 10.0rem);
  }
}
.l-side-inner{
  width:40.4rem;
  position: relative;
  top: -17.0rem;
}
.l-side-inner picture{
  display:block;
  text-align: center;
}
.l-side-inner picture img{
  width:11.6rem;
}
.l-side-inner dl{
  text-align: center;
}
.l-side-inner dl dt{
  text-align: center;
  color: #004182;
  font-size:clamp(38px, 5.2rem, 52px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-side-inner dl dd{
  display: inline-block;
  background: #004182;
  padding: 0.3rem 2.0rem;
  text-align: center;
  color: #FFFFFF;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
  position: relative;
}
.l-side-inner ul{
  display:block;
}
.l-side-inner ul li{
  display:block;
  border-top:1px solid #004182;
}
.l-side-inner ul li:last-of-type{
  border-bottom:1px solid #004182;
}
.l-side-inner ul li a{
  display:block;
  padding:3.0rem 6.0rem 3.0rem 2.0rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  transition: 0s;
}
.l-side-inner ul li a.current{
  background: url(../images/common/common-icon03_pc.png) right 2.5rem center no-repeat transparent;
  background-size: 1.4rem auto;
  min-height: 1.6rem;
}


@media screen and (max-width: 767.5px) {  
  .l-side{
    display:none !important;
  }
}

#section01{  
  padding-bottom:15.5rem;
}
.l-block01{
  padding-top:20.5rem;
  text-align: left;
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
  margin-top:-62.8rem;
}
.l-block01-inner{
  max-width:133.0rem;
  width:100%;
  margin:0 auto;
  padding-left:32.5rem;
}
.l-block01-inner h2{
  padding-left: 10.0rem;
  background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
  background-size: 6.2rem auto;
  min-height: 1.6rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 2.7rem, 27px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.l-block01-inner p{
  padding-top:4.5rem;
  padding-left:10.0rem;
  padding-bottom:2.0rem;
  text-align: justify;
  color: #333333;
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0em;
}


@media screen and (max-width: 767.5px) {
  #section01{  
    padding-bottom:8.5rem;
  }
  .l-block01{
    padding-top:8.5rem;
    text-align: left;
    max-width:100%;
    width:100%;
    margin:0 auto;
    margin-top:0;
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 5.0rem;
  }
  .l-block01-inner h2{
    padding-left: 10.0rem;
    background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
    background-size: 6.2rem auto;
    min-height: 1.6rem;
    text-align: left;
    color: #333333;
    font-size:3.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.2em;
    
    margin-left:-5.0rem;
  }
  .l-block01-inner p{
    padding-top:3.5rem;
    padding-left:0;
    padding-bottom:0;
    text-align: justify;
    color: #333333;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 2.125;
    letter-spacing: 0em;
  }
}


.l-block03{
  padding-top:8.0rem;
}
.l-block03-inner{
  max-width:144.0rem;
  width:100%;
  margin:0 auto;
  padding-left:66.8rem;
}
.l-block03-box{
  border-top:1px solid #3d9fd9;
  border-right:1px solid #3d9fd9;
  border-radius:0 5.0rem 0 0;
}
.l-block03-box-table{
  width:100%;
  display:table;
}
.l-block03-box-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block03-box-table-left{
  width:27.0rem;
  text-align: left;
}
.l-block03-box-table-left picture{
  display:block;
}
.l-block03-box-table-left picture img{
  width:100%;
  border-radius:0 0 0 5.0rem;
}
.l-block03-box-table-right{
  width:auto;
  text-align: left;
  padding:3.5rem 5.0rem 0;
}
.l-block03-box-table-right h3{
  text-align: left;
  color: #3d9fd9;
  font-size:clamp(14px, 2.7rem, 27px);
  font-weight: 700;
  line-height: 1.77;
  letter-spacing: 0.05em;
}
.l-block03-box-table-right p{
  padding-top:2.0rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0em;
}


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


.l-block02{
  position: relative;
}
.l-block02-back{
  background: linear-gradient(90deg, transparent 0%, transparent 50%, #eef0f0 50%, #eef0f0 100%);
}
.l-block02-inner{
  max-width:133.0rem;
  width:100%;
  margin:0 auto;
}
.l-block02-box{
  border-radius: 5.0rem 0 0 5.0rem;
  background: #eef0f0;
  padding: 14rem 0 17.5rem 32.5rem;
}
.l-block02-box-inner{
  
}
.l-block02-box-inner h2{
  padding-left: 10.0rem;
  background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
  background-size: 6.2rem auto;
  min-height: 1.6rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 2.7rem, 27px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.l-block02-block{
  padding-top: 7.5rem;
}
.l-block02-box-wrapper{
  padding-left: 10.0rem;
}
.l-block02-box-wrapper picture{
  
}
.l-block02-box-wrapper picture img{
  width:100%;
  border-radius:5.0rem;
}
.l-block02-block h3{
  padding-top: 5.0rem;
  padding-left: 3.0rem;
  text-align: left;
  color: #333333;
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block02-block h3 span{
  position: relative;
  top:0.5rem;
  padding-right: 2.0rem;
  text-align: left;
  color: #3d9fd9;
  font-size: clamp(36px, 4.8rem, 48px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.l-block02-block p{
  padding:2.5rem 0 0 10.0rem;
  text-align: justify;
  color: #333333;
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0em;
}
.l-block02-block > picture{
  display:block;
  padding-top:6.0em;
  padding-left:10.0rem;
  padding-bottom:11.0rem;
}
.l-block02-block > picture img{
  width:100%;
}


@media screen and (max-width: 767.5px) {
  .l-block02{
    position: relative;
  }
  .l-block02-back{
    background: none;
  }
  .l-block02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 0;
  }
  .l-block02-box{
    border-radius: 0;
    background: none;
    padding: 0 0;
  }
  .l-block02-box-inner{
    padding:0 0 0 3.0rem;
  }
  .l-block02-box-inner h2{
    padding-left: 10.0rem;
    background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
    background-size: 6.2rem auto;
    min-height: 1.6rem;
    text-align: left;
    color: #333333;
    font-size:3.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.2em;
    margin-left: -3.0rem;
  }
  .l-block02-block{
    margin-top:4.5rem;
    padding-top: 7.5rem;
    border-radius: 5.0rem 0 0 5.0rem;
    background: #eef0f0;
    padding: 8.5rem 5.0rem 8.5rem 5.0rem;
  }
  .l-block02-box-wrapper{
    padding-left: 0;
  }
  .l-block02-box-wrapper picture{

  }
  .l-block02-box-wrapper picture img{
    width:100%;
    border-radius:5.0rem;
  }
  .l-block02-block h3{
    padding-top: 5.0rem;
    padding-left: 0;
    text-align: left;
    color: #333333;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    
    text-indent:-8.0rem;
    padding-left:8.0rem;
  }
  .l-block02-block h3 span{
    position: relative;
    top:0.5rem;
    padding-right: 2.0rem;
    text-align: left;
    color: #3d9fd9;
    font-size: 5.7rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
  .l-block02-block p{
    padding:2.5rem 0 0 0;
    text-align: justify;
    color: #333333;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 2.125;
    letter-spacing: 0em;
  }
  .l-block02-block > picture{
    display:block;
    padding-top:6.0em;
    padding-left:10.0rem;
    padding-bottom:11.0rem;
  }
  .l-block02-block > picture img{
    width:100%;
  }
}


.l-block04{
  padding:16.0rem 0 0;
}
.l-block04-inner{
  max-width: 133.0rem;
  width: 100%;
  margin:0 auto;
  padding: 0 0 0 32.5rem;
}
.l-block04-inner > h2{
  padding-left: 10.0rem;
  background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
  background-size: 6.2rem auto;
  min-height: 1.6rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 2.7rem, 27px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.l-block04-block{
  padding-top:5.5rem;
  padding-bottom:8.0rem;
  display:block;
  text-align: left;
  font-size:0;
}
.l-block04-block-list{
  width:40.4rem;
  display:inline-block;
  vertical-align: top;
}
.l-block04-block-list picture{
  
}
.l-block04-block-list picture img{
  width:40.4rem;
}
.l-block04-block-list > p{
  vertical-align: middle;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
  
  text-indent:calc(-1 * clamp(14px, 1.6rem, 16px));
  padding-left:calc(8.0rem + clamp(14px, 1.6rem, 16px));
}
.l-block04-block-list > p span{
  vertical-align: middle;
  padding-right:0.5rem;
  text-align: left;
  color: #004182;
  font-size:clamp(10px, 1.0rem, 10px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block04-table{
  padding-left:10.0rem;
}
.l-block04-table > p{
  padding-top:4.5rem;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block04-inner table{
  width:100%;
  table-layout: auto;
}
.l-block04-inner table tr{
  border-top:1px solid #cccccc;
}
.l-block04-inner table tr:last-of-type{
  border-bottom:1px solid #cccccc;
}
.l-block04-inner table tr th{
  width:50.0rem;
  vertical-align: middle;
  padding:1.5rem 1.5rem 1.5rem 0;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block04-inner table tr th span{
  position:relative;
  top:-0.1rem;
  vertical-align: middle;
  text-align: left;
  margin-right:0.5rem;
  color: #004182;
  font-size:clamp(10px, 1.2rem, 12px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block04-inner table tr td{
  padding:1.5rem 1.5rem 1.5rem 0;
  vertical-align: middle;
  text-align: left;
  color: #333333;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
  
  white-space: nowrap;
}
.l-block04-inner table tr td.td01{
  width:6.0rem;
}
.l-block04-inner table tr td.td02{
  
}


@media screen and (max-width: 767.5px) {
  .l-block04{
    padding:8.5rem 0 0;
  }
  .l-block04-inner{
    max-width: 100%;
    width: 100%;
    margin:0 auto;
    padding: 0 3.0rem;
  }
  .l-block04-inner > h2{
    padding-left: 10.0rem;
    background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
    background-size: 6.2rem auto;
    min-height: 1.6rem;
    text-align: left;
    color: #333333;
    font-size:3.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.2em;
    
    margin-left:-3.0rem;
  }
  .l-block04-block{
    padding-top:5.5rem;
    padding-bottom:8.0rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block04-block-list{
    width:50%;
    display:inline-block;
    vertical-align: top;
  }
  .l-block04-block-list picture{

  }
  .l-block04-block-list picture img{
    width:100%;
  }
  .l-block04-block-list > p{
    vertical-align: middle;
    text-align: left;
    color: #333333;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  
    text-indent:-2.6rem;
    padding-left:calc(4.0rem + 2.6rem);
  }
  .l-block04-block-list > p span{
    vertical-align: middle;
    padding-right:0.5rem;
    text-align: left;
    color: #004182;
    font-size:2.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block04-table{
    padding-left:10.0rem;
  }
  .l-block04-table > p{
    padding-top:4.5rem;
    text-align: left;
    color: #333333;
    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block04-inner table{
    width:100%;
    table-layout: auto;
  }
  .l-block04-inner table tr{
    border-top:1px solid #cccccc;
  }
  .l-block04-inner table tr:last-of-type{
    border-bottom:1px solid #cccccc;
  }
  .l-block04-inner table tr th{
    width:50.0rem;
    vertical-align: middle;
    padding:1.5rem 1.5rem 1.5rem 0;
    text-align: left;
    color: #333333;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block04-inner table tr th span{
    position:relative;
    top:-0.1rem;
    vertical-align: middle;
    text-align: left;
    margin-right:0.5rem;
    color: #004182;
    font-size:2.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block04-inner table tr td{
    padding:1.5rem 1.5rem 1.5rem 0;
    vertical-align: middle;
    text-align: left;
    color: #333333;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;

    white-space: nowrap;
  }
  .l-block04-inner table tr td.td01{
    width:6.0rem;
  }
  .l-block04-inner table tr td.td02{

  }
}


.l-block05{
  position: relative;
}
.l-block05-back{
  background: linear-gradient(90deg, transparent 0%, transparent 50%, #eef0f0 50%, #eef0f0 100%);
}
.l-block05-inner{
  max-width: 153.6rem;
  width: 100%;
  margin-left: auto;
}
.l-block05-box{
  border-radius: 5.0rem 0 0 5.0rem;
  background: #eef0f0;
  padding: 16.0rem 17.5rem 9.0rem 37.5rem;
}
.l-block05-box-inner{
  
}
.l-block05-box-inner > h2{
  padding-left: 10.0rem;
  background: url(../images/common/common-icon01_pc.png) left center no-repeat transparent;
  background-size: 6.2rem auto;
  min-height: 1.6rem;
  text-align: left;
  color: #333333;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.l-block05-box-inner > span{
  display:block;
  padding-top:0.5rem;
  padding-bottom:4.0rem;
  padding-left:10.0rem;
  text-align: left;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block05-block{
  padding-top:2.0rem;
  padding-left:10.0rem;
  display:block;
  text-align: left;
  font-size:0;
  border-top:1px solid #cccccc;
}
.l-block05-block p{
  width:50%;
  display:inline-block;
  vertical-align: top;
  padding-right:0.5rem;
  margin-bottom:1.0rem;
  text-align: left;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block05-block p span{
  position:relative;
  top:-0.1rem;
  vertical-align: middle;
  text-align: left;
  margin-right:0.5rem;
  color: #004182;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}


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


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


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








