/*  #main
================================================ */
#main .rellax { position: fixed; top: 0; left: 0; width: 100vw; height: 1000vh; background: url("../img/common/bg01.png") repeat-y top left -584px; background-size: 500%; z-index: 1; }

@media screen and (min-width: 600px) { #main .rellax { top: 485px; background-size: 150%; background-position: top center; } }

/*  #about
================================================ */
.secAbout { position: relative; }

.secAbout .inner { position: relative; z-index: 1; padding: 58px 40px 52px; }

.secAbout .txt { margin-top: 23px; text-align: center; font-size: 1.6rem; line-height: 2.2; }

.secAbout .txt strong { font-weight: 700; }

@media screen and (min-width: 600px) { .secAbout .inner { padding: 135px 0 120px; }
  .secAbout .txt { margin-top: 50px; } }

/*  #compare
================================================ */
.secCompare { overflow: hidden; position: relative; background: #f2f7f7; }

.secCompare .inner { position: relative; z-index: 1; padding-top: 54px; }

.secCompare .list { margin-top: 33px; }

.secCompare .list .item { padding: 0 25px 30px; background: #fff; }

.secCompare .list .item + .item { position: relative; margin-top: 45px; }

.secCompare .list .item + .item:before { position: absolute; top: -56px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); content: ""; display: block; width: 312px; height: 67px; background: url("../img/home/ico_arw01_sp.png") no-repeat center; background-size: contain; }

.secCompare .tit { margin: 0 -25px; padding: 17px; text-align: center; color: #fff; background: #43454e; font-size: 2.5rem; font-weight: 600; }

.secCompare .table { border: 1px solid #f0f0f0; margin-top: 40px; }

.secCompare .table th, .secCompare .table td { vertical-align: middle; }

.secCompare .table th { width: 55px; text-align: center; background: #43454e; color: #fff; font-size: 1.4rem; font-weight: 600; }

.secCompare .table td { padding: 10px 17px; font-size: 1.4rem; background: #fff; }

.secCompare .copy { margin: 20px -15px 0; text-align: center; font-size: 1.8rem; font-weight: 600; line-height: 1.6; letter-spacing: 0; }

.secCompare .copy strong { display: block; font-size: 2.2rem; font-weight: 600; }

.secCompare .work { margin-top: 15px; font-size: 1.5rem; line-height: 1.6; }

.secCompare .work li { box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 94px; padding: 10px 10px 10px 90px; border: 1px solid #a1a2a6; background: no-repeat; background-position: left 15px center; background-size: auto 57px; }

.secCompare .work li:nth-child(1) { background-image: url("../img/home/ico01.png"); }

.secCompare .work li:nth-child(2) { background-image: url("../img/home/ico02.png"); }

.secCompare .work li:nth-child(3) { background-image: url("../img/home/ico03.png"); }

.secCompare .work li:nth-child(4) { background-image: url("../img/home/ico04.png"); }

.secCompare .work li + li { margin-top: 10px; }

.secCompare .list .is_idensil { background: #e1eff3; }

.secCompare .list .is_idensil .tit { background: #61b4b8; }

.secCompare .list .is_idensil .tit svg { width: 180px; height: 49; vertical-align: middle; }

.secCompare .list .is_idensil .tit svg rect { fill: #fff !important; }

.secCompare .list .is_idensil .copy { color: #61b4b8; }

.secCompare .list .is_idensil .work li { color: #61b4b8; border-color: #61b4b8; background-color: #fff; border-width: 2px; }

.secCompare .list .is_idensil .work li:nth-child(1) { background-image: url("../img/home/ico05.png"); }

.secCompare .list .is_idensil .work li:nth-child(2) { background-image: url("../img/home/ico06.png"); }

.secCompare .list .is_idensil .work li:nth-child(3) { background-image: url("../img/home/ico07.png"); }

.secCompare .list .is_idensil .work li:nth-child(4) { background-image: url("../img/home/ico08.png"); }

@media all and (max-width: 370px) { .secCompare .list .work { font-size: 1.2rem; }
  .secCompare .list .work li { padding-left: 65px; background-size: auto 40px; } }

@media screen and (min-width: 600px) { .secCompare .inner { padding-top: 125px; }
  .secCompare .list { margin-top: 60px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .secCompare .list .item { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; padding: 0 52px 60px; }
  .secCompare .list .item + .item { margin-top: 0; }
  .secCompare .list .item + .item:before { top: 391px; left: 0; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 164px; height: 362px; background-image: url("../img/home/ico_arw01_pc.png"); }
  .secCompare .tit { box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; height: 140px; margin: 0 -52px; padding: 17px; font-size: 3.2rem; }
  .secCompare .table { margin-top: 48px; }
  .secCompare .table th { width: 57px; font-size: 1.6rem; }
  .secCompare .table td { padding: 11px 0 11px 19px; font-size: 1.5rem; }
  .secCompare .copy { margin: 32px -15px 0; font-size: 2rem; }
  .secCompare .copy strong { font-size: 2.4rem; }
  .secCompare .work { margin-top: 15px; font-size: 1.6rem; }
  .secCompare .work li { height: 100px; padding: 10px 10px 10px 138px; border-width: 2px; background-position: left 32px center; background-size: auto 62px; }
  .secCompare .work li + li { margin-top: 11px; }
  .secCompare .list .is_idensil .tit svg { width: 230px; height: 63px; }
  .secCompare .list .is_idensil .work li { padding-left: 146px; border-width: 4px; background-position: left 43px center; } }

/*  #advantage
================================================ */
.secAdvantageWrap { position: relative; background: #f2f7f7; }

.secAdvantageWrap .inner { position: relative; z-index: 1; padding-top: 60px; }

.secAdvantageWrap .secAdvantage { margin: 20px -15px 0; background: #61b4b8; color: #fff; }

.secAdvantageWrap .secAdvantage + .secAdvantage { margin-top: 0; background: #479dc4; }

.secAdvantageWrap .areaTxt { padding: 36px 40px; }

.secAdvantageWrap .img { margin: 0 -15px; }

.secAdvantageWrap .copy { font-size: 2.1rem; font-weight: 600; line-height: 1.6; }

.secAdvantageWrap .txt { margin-top: 10px; }

@media screen and (min-width: 600px) { .secAdvantageWrap .inner { width: 100%; padding-top: 100px; }
  .secAdvantageWrap .secAdvantage { margin: 50px 0 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .secAdvantageWrap .secAdvantage + .secAdvantage { margin-top: 0; }
  .secAdvantageWrap .areaTxt { box-sizing: border-box; -webkit-box-flex: 4.5; -ms-flex: 4.5; flex: 4.5; padding: 22px 60px 30px; overflow: hidden; }
  .secAdvantageWrap .areaTxt .box { float: left; width: 430px; }
  .secAdvantageWrap .img { -webkit-box-flex: 6.5; -ms-flex: 6.5; flex: 6.5; margin: 0; overflow: hidden; }
  .secAdvantageWrap .img img { min-width: 1060px; min-height: 510px; }
  .secAdvantageWrap .is_reverse .areaTxt { -webkit-box-flex: 5.5; -ms-flex: 5.5; flex: 5.5; -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; padding-left: 0; }
  .secAdvantageWrap .is_reverse .areaTxt .box { float: right; }
  .secAdvantageWrap .is_reverse .img { -webkit-box-flex: 7.3; -ms-flex: 7.3; flex: 7.3; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
  .secAdvantageWrap .copy { font-size: 3.2rem; }
  .secAdvantageWrap .txt { margin-top: 25px; } }

/*  #feature
================================================ */
.secFeature { position: relative; }

.secFeature .inner { position: relative; z-index: 1; padding-top: 45px; padding-bottom: 50px; }

.secFeature .support { margin-top: 25px; }

.secFeature .support .item + .item { margin-top: 5px; }

.secFeature .support .txt { padding: 11px; text-align: center; color: #fff; background: #61b4b8; font-size: 1.9rem; font-weight: 600; line-height: 1.8; }

.secFeature .list { margin-top: 25px; }

.secFeature .list .item + .item { margin-top: 25px; }

.secFeature .list .tit { position: relative; padding: 4px; text-align: center; background: #f2f7f7; color: #61b4b8; font-size: 1.8rem; font-weight: 600; border: 1px solid #dbe9e9; }

.secFeature .list .tit:after { box-sizing: border-box; position: absolute; bottom: 0; left: 50%; width: 16px; height: 16px; content: ""; display: block; margin: 0 0 -9px -8px; -webkit-transform: rotate(135deg); -ms-transform: rotate(135deg); transform: rotate(135deg); background: #f2f7f7; border-style: solid; border-width: 1px 1px 0 0; border-color: #dbe9e9; }

.secFeature .list .txt { margin-top: 7px; }

.secFeature .use { margin-top: 12px; }

.secFeature .use th, .secFeature .use td { vertical-align: middle; }

.secFeature .use th { width: 53px; }

.secFeature .use th span { box-sizing: border-box; display: inline-block; width: 41px; height: 41px; padding-top: 10px; text-align: center; background: #61b4b8; color: #fff; font-size: 1.2rem; font-weight: 600; border-radius: 50%; }

.secFeature .use td { font-size: 1.4rem; line-height: 1.4; font-weight: 600; color: #61b4b8; }

@media screen and (min-width: 600px) { .secFeature .inner { padding-top: 125px; padding-bottom: 103px; }
  .secFeature .support { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 65px; }
  .secFeature .support .item { width: -webkit-calc(50% - 25px); width: calc(50% - 25px); }
  .secFeature .support .item + .item { margin-top: 0; }
  .secFeature .support .txt { padding: 19px; font-size: 2.4rem; }
  .secFeature .list { margin: 50px -8px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .secFeature .list .item { box-sizing: border-box; width: 20%; padding: 0 8px; }
  .secFeature .list .item + .item { border-left: 1px solid #f0f0f0; margin-top: 0; }
  .secFeature .list .tit { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 19px 4px; font-size: 1.6rem; line-height: 1.4; border-width: 2px; }
  .secFeature .list .tit:after { width: 16px; height: 16px; margin: 0 0 -9px -8px; border-width: 2px 2px 0 0; }
  .secFeature .list .txt { margin-top: 14px; padding: 0 13px; }
  .secFeature .use { margin-top: 30px; }
  .secFeature .use th, .secFeature .use td { vertical-align: top; }
  .secFeature .use th { box-sizing: border-box; width: 70px; padding-left: 13px; }
  .secFeature .use th span { width: 44px; height: 44px; padding-top: 10px; font-size: 1.3rem; }
  .secFeature .use td { padding: 4px 0 0; font-size: 1.5rem; } }

/*  #service
================================================ */
.secService { position: relative; z-index: 2; }

.secService .areaHead { position: relative; color: #fff; border-bottom: 10px solid #fff; }

.secService .areaHead .areaTxt { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.secService .inner { padding-top: 22px; padding-bottom: 12px; }

.secService .listBtn { margin-top: 30px; padding-bottom: 30px; }

@media screen and (min-width: 600px) { .secService .areaHead { width: 1170px; margin: 0 auto -77px; border: 0; text-align: center; }
  .secService .areaHead .img { width: 1920px; margin-left: -375px; text-align: center; }
  .secService .areaHead .areaTxt { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  .secService .inner { position: relative; z-index: 1; padding-top: 0; padding-bottom: 115px; }
  .secService .listBtn { margin-top: 66px; padding-bottom: 0; } }

/*  #case
================================================ */
.secCase { position: relative; z-index: 2; background: url("../img/home/bg_case01_sp.png") no-repeat center; background-size: cover; }

.secCase .inner { padding-top: 40px; padding-bottom: 50px; }

.secCase .list { position: relative; z-index: 1; margin-top: 42px; }

@media screen and (min-width: 600px) { .secCase { background-image: url("../img/home/bg_case01_pc.png"); }
  .secCase .inner { padding-top: 132px; padding-bottom: 115px; }
  .secCase .list { margin-top: 70px; } }

/*  #company
================================================ */
.secCompany { position: relative; }

.secCompany .inner { position: relative; z-index: 1; padding-top: 45px; padding-bottom: 62px; }

.secCompany .list { margin-top: 30px; padding: 0 18px; }

.secCompany .list .item { padding: 23px 0 28px; border-top: 1px solid #f0f0f0; }

.secCompany .list .item:last-child { border-bottom: 1px solid #f0f0f0; }

.secCompany .list .item li { position: relative; padding-left: 15px; }

.secCompany .list .item li + li { margin-top: 6px; }

.secCompany .list .item li:before { position: absolute; top: 9px; left: 0; content: ""; display: block; width: 7px; height: 7px; background: #61b4b8; border-radius: 50%; }

.secCompany .list .tit { display: table; margin-bottom: 18px; }

.secCompany .list .tit span { display: table-cell; font-size: 1.8rem; font-weight: 600; vertical-align: middle; }

.secCompany .list .tit .ico { width: 50px; }

.secCompany .list .tit .ico img { width: 37px; }

.secCompany .btn { margin-top: 23px; padding: 0 18px; }

@media screen and (min-width: 600px) { .secCompany .inner { padding-top: 96px; padding-bottom: 100px; }
  .secCompany .list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 50px; padding: 0; }
  .secCompany .list .item { box-sizing: border-box; width: 25%; padding: 4px 28px 23px; border-top: 0; border-left: 1px solid #f0f0f0; }
  .secCompany .list .item:last-child { border-right: 1px solid #f0f0f0; border-bottom: 0; }
  .secCompany .list .item li { padding-left: 16px; }
  .secCompany .list .item li + li { margin-top: 5px; }
  .secCompany .list .item li:before { top: 9px; width: 8px; height: 8px; }
  .secCompany .list .tit { display: table; width: 100%; margin-bottom: 28px; text-align: center; line-height: 1.4; }
  .secCompany .list .tit span, .secCompany .list .tit .ico { display: block; }
  .secCompany .list .tit span { margin: 0 auto; font-size: 2rem; }
  .secCompany .list .tit .name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .secCompany .list .tit .ico { width: 112px; margin: 0 auto 16px; }
  .secCompany .list .tit .ico img { width: 112px; }
  .secCompany .btn { margin-top: 47px; padding: 0; } }

/*  #column
================================================ */
.secColumn { position: relative; z-index: 2; background: url("../img/home/bg_column01_sp.png") no-repeat center; background-size: cover; }

.secColumn .inner { padding-top: 42px; padding-bottom: 18px; }

.secColumn .list { margin-top: 25px; }

.secColumn .btn { padding: 40px 23px; }

.secColumn .list .item { position: relative; margin-top: 18px; }

.secColumn .list .item .new { position: absolute; top: -16px; left: 0; display: inline-block; background: #edb152; font-size: 1.2rem; letter-spacing: .03em; color: #fff; font-weight: 700; padding: 9px 7px; border-radius: 50%; box-sizing: border-box; z-index: 1; }

@media screen and (min-width: 600px) { .secColumn { background-image: url("../img/home/bg_column01_pc.png"); }
  .secColumn .inner { padding-top: 108px; padding-bottom: 110px; }
  .secColumn .list { margin-top: 40px; }
  .secColumn .btn { padding: 48px 0 0; } 
  .secColumn .list .item { margin-top: 30px; }
  .secColumn .list .item .new { font-size: 1.8rem; top: -28px; padding: 14px 10px; }
}

/*  #information
================================================ */
.secInformation { position: relative; }

.secInformation .inner { position: relative; z-index: 1; padding-top: 42px; padding-bottom: 17px; }

.secInformation .tit { font-size: 2.3rem; font-weight: 900; letter-spacing: .06em; }

.secInformation .btn { padding: 23px; }

.secInformation .btn a { position: relative; display: block; padding: 10px; border: 2px solid #61b4b8; color: #61b4b8; text-align: center; font-weight: 600; text-decoration: none; font-size: 1.2rem; }

.secInformation .btn a span:first-child { position: relative; z-index: 2; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

.secInformation .btn a:hover span { color: #fff; }

.secInformation .btn a .layer { content: ''; display: block; width: 100%; height: 100%; background-color: #61b4b8; position: absolute; left: 0; top: 0; bottom: 0; z-index: 1; -webkit-transition: -webkit-transform .5s ease; transition: -webkit-transform .5s ease; transition: transform .5s ease; transition: transform .5s ease, -webkit-transform .5s ease; -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); }

.secInformation .btn a:hover .layer { -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

@media screen and (min-width: 600px) { .secInformation .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 114px; padding-bottom: 105px; }
  .secInformation .tit { width: 280px; margin-top: -15px; font-size: 2.4rem; }
  .secInformation .list { width: -webkit-calc(100% - 280px); width: calc(100% - 280px); }
  .secInformation .btn { position: absolute; top: 150px; left: 0; padding: 0; width: 140px; }
  .secInformation .btn a { display: block; padding: 8px 8px 7px; font-size: 1.3rem; } }

/*  #
================================================ */
.secOther { border-top: 1px solid #f0f0f0; position: relative; z-index: 1; }

.secOther .inner { padding-top: 55px; padding-bottom: 30px; }

@media screen and (min-width: 600px) { .secOther .inner { padding-top: 77px; padding-bottom: 60px; } }
