/*** layout *********************************************************************************************************/
.contents-area {
 padding: 74px 0 0;
}
.contents-area.index {
 padding: 84px 0 0;
}

/*** btn *********************************************************************************************************/
.btn.main-btn {
 font-size: 2.86vw;
 width: 35.67vw;
 line-height: 7.16vw;
 border-radius: 4.56vw;
 -webkit-border-radius: 4.56vw;
 -ms-border-radius: 4.56vw;
}
.btn.btn-zip {
 width: 48%;
 min-width: 180px;
 font-size: 1.6rem;
}
.btn.btn-primary {
 padding: 15px 0;
 font-size: 1.6rem;
}

/*** table *********************************************************************************************************/
.table01 {
 margin-bottom: 30px;
 border: none;
}
.table01 th {
 width: 100%;
 display: block;
 text-align: left;
 border: none;
 background-color: rgba(0,0,0,.075);
}
.table01 td {
 width: 100%;
 display: block;
}
.table03 {
 margin-bottom: 30px;
 border: none;
}
.table03 th {
 width: 100%;
 display: block;
 text-align: left;
 border: none;
}
.table03 td {
 width: 100%;
 display: block;
}

/*** top *********************************************************************************************************/
.contents-area.index-top section {
 padding: 40px 0;
}

/*** main-cover ***/
.contents-area.index-top section.main-cover {
 min-height: 93vw;
 padding: 73px 0 30px;
}
.main-text h1 {
 font-size: 5.2vw;
 margin-bottom: 5.2vw;
}
.main-text h1 .js-text-02 {
 font-size: 7.8vw;
}
.main-text h1 .js-text-02 .multiply:before {
 height: 6.5vw;
}
.main-text h1 .js-text-02 .multiply:after {
 width: 6.5vw;
}
.main-text h1 .js-text-03 {
 margin-bottom: 3.9vw;
}
.main-text h1 .js-text-04,
.main-text h1 .js-text-05 {
 font-size: 3.25vw;
}

/*** feature-box ***/
.feature-box {
 padding-top: 30px;
}
.feature-txt {
 text-align: center;
}
.feature-txt .feature {
 padding-left: 0;
}
.feature-txt .feature:before {
 left: 50%;
 -ms-transform: translate(-50%,0) skewX(-30deg);
 -webkit-transform: translate(-50%,0) skewX(-30deg);
 transform: translate(-50%,0) skewX(-30deg);
}
.feature-txt p {
 text-align: left;
}

/*** reason-box ***/
.reason-box {
 padding: 30px 15px 0;
}
.reason-box .box {
 width: 48%;
 max-width: 480px;
 margin-left: 1%;
 margin-right: 1%;
}
/*** relation-box ***/
.relation-box .box {
 padding: 30px 2%;
}

/*** case一覧 *********************************************************************************************************/
.contents-area.index.case-index section {
 padding: 30px 0 10px;
}
.case-item {
 width: 48%;
}
@media all and (max-width: 400px) {
 .case-item {
  width: 100%;
 }
}
.case-item-text {
 padding: 0 10px 20px;
}

/*** case-carousel ***/
.carousel-item .container {
 padding: 10px 50px;
}
.case-carousel h2 {
 margin-bottom: 15px;
}
.case-carousel h2 a {
 font-size: 2.2rem;
}

/*** case詳細 *********************************************************************************************************/

/*** layout ***/
.contents-area.index .case-contents {
 padding-top: 20px;
}

/*** main-content ***/
.case-catch {
 padding-top: 30px;
 margin-bottom: 25px;
}
.case-company {
 padding: 15px 0;
 margin-bottom: 45px;
}
.case-company .img-box {
 width: 100%;
 text-align: center;
 margin-bottom: 20px;
}
.case-company .text-box {
 width: 100%;
}
.case-company .text-box th {
 display: block;
 width: 100%;
 line-height: 1.2;
}
.case-company .text-box td {
 display: block;
 width: 100%;
 margin-bottom: 10px;
 padding: 0;
}
.case-box h3 {
 height: 62px;
}
.case-box h3 .sub {
 width: 90px;
}
.case-box h3 .main {
 font-size: 2.6rem;
 width: -webkit-calc(100% - 90px);
 width: calc(100% - 90px);
}
.case-box p.title {
 font-size: 2rem;
}

/*** sidebar ***/
.sidebar h3 .sub {
 margin-bottom: 5px;
}
.sidebar li a .sub {
 margin-bottom: 5px;
}

/*** 機能紹介 *********************************************************************************************************/
.fuction-box01 {
 padding: 50px 0 20px;
 text-align: center;
}
.fuction-box01 .row,
.fuction-box01 .container2 .container2,
.fuction-box02 .row {
 padding: 0;
}
.fuction-box01 > .container > p {
 margin-bottom: 40px;
}
.fuction-box01 .left-box,
.fuction-box01 .right-box {
 width: 100%;
 max-width: auto;
 max-width: initial;
}
.fuction-box01 .left-box .box {
 min-height: auto;
}
.fuction-box01 .right-box {
 margin-left: 0;
 margin-top: 90px;
}
.fuction-box01 .right-box:before {
 top: -78px;
 left: 50%;
 -webkit-transform: translateX(-50%) rotate(90deg);
 -ms-transform: translateX(-50%) rotate(90deg);
 transform: translateX(-50%) rotate(90deg);
}
.fuction-box01 .dictionary {
 width: 100%;
 max-width: auto;
 max-width: initial;
 margin-top: 0;
 margin-left: 61px;
 margin-bottom: 20px;
 position: relative;
 padding: 10px 10px 10px 70px;
 text-align: left;
}
.fuction-box01 .dictionary .img-box {
 margin: 0;
 position: absolute;
 left: -61px;
 top: 50%;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}
@media all and (max-width: 540px) {
 .fuction-box01 .dictionary {
  margin-left: 31px;
  padding: 10px 10px 10px 38px;
 }
 .fuction-box01 .dictionary .img-box {
  left: -31px;
  width: 61px;
 }
}
.fuction-box01 .dictionary h3 {
 margin-bottom: 10px;
}
.fuction-box01 .dictionary h3 .sub {
 margin-top: 5px;
}
.fuction-box01 .dictionary .row {
 padding: 0;
}
.fuction-box01 .dictionary p br {
 display: none;
}
.fuction-box02 {
 padding: 40px 0 0;
}
.fuction-box02 .bg01 .box {
 width: 49%;
 padding: 19px 9px 9px;
 margin-bottom: 30px;
}
.fuction-box02 .bg01 .box:nth-child(4) {
 margin-bottom: 30px;
}
@media all and (max-width: 540px) {
 .fuction-box02 .bg01 .box {
  width: 100%;
  max-width: auto;
  max-width: initial;
 }
 .fuction-box02 .bg01 .box:nth-child(5) {
  margin-bottom: 30px;
 }
}

/*** header *********************************************************************************************************/
header .logo a img {
 max-width: 160px;
 height: auto;
 margin: 9px 0 9px 4%;
}
header .h-btn {
 display: none;
}

/*** bnr02 *********************************************************************************************************/
.bottom-btn {
 padding: 25px 0 5px!important;
}
.bottom-btn ul li {
 padding: 0 5px 15px;
}
.bnr02 {
 padding: 30px 0!important;
 border-top: 1px solid #EFEFEF
}

/*** footer *********************************************************************************************************/
footer {
 height: auto;
 padding: 15px 0;
}
footer nav ul {
 padding: 0;
}
footer .copy {
 padding: 0 15px;
 text-align: center;
}
