/*=============================================================
 #home
=============================================================*/
/* #policy
================================================ */
#policy { padding: 50px 0 60px; }

#policy .tit { margin-bottom: 35px; }

#policy .policyArea { margin-bottom: 45px; }

#policy .policySlider .intro { padding: 0 18px 35px; position: relative; }

#policy .policySlider .intro .read { font-size: 2.5rem; font-weight: bold; line-height: 1.6; margin-bottom: 15px; }

#policy .policySlider .intro .txt { line-height: 2.1; }

#policy .policySlider .intro .num { display: -webkit-box; display: -ms-flexbox; display: flex; line-height: 1.1; opacity: 0.6; color: #d2d2d2; position: absolute; bottom: -28px; right: 25px; z-index: 1; }

#policy .policySlider .intro .num .numTxt { font-size: 2.1rem; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

#policy .policySlider .intro .num .number { font-size: 7.9rem; line-height: 0.7; }

#policy .policySlider .img { padding-right: 60px; }

#policy .slick-prev:before, #policy .slick-next:before { content: none; }

#policy .slick-prev, #policy .slick-next { top: auto; bottom: 0; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); z-index: 1; width: 61px; height: 54px; }

#policy .slick-prev { left: auto; right: 60px; background: url(../img/common/img_prev01.png) 0 0 no-repeat; background-size: contain; }

#policy .slick-next { right: 0; background: url(../img/common/img_next01.png) 0 0 no-repeat; background-size: contain; }

@media all and (min-width: 600px) { #policy { padding: 85px 0 90px; }
  #policy .inner { max-width: 1740px; margin: auto; }
  #policy .tit { margin-bottom: 57px; }
  #policy .policyArea { margin-bottom: 50px; }
  #policy .policySlider { position: relative; }
  #policy .policySlider .intro { width: 40%; float: right; padding: 30px 0 0; position: static; }
  #policy .policySlider .intro .read { font-size: 2.8rem; margin-bottom: 30px; }
  #policy .policySlider .intro .num { bottom: 0; right: 0; z-index: -1; }
  #policy .policySlider .intro .num .numTxt { font-size: 4.2rem; }
  #policy .policySlider .intro .num .number { font-size: 15.8rem; }
  #policy .policySlider .img { max-width: 940px; width: 54%; float: left; padding-right: 0; }
  #policy .slick-prev, #policy .slick-next {  height: 81px; margin: auto; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #policy .slick-prev:hover, #policy .slick-next:hover { opacity: 0.8; }
  #policy .slick-prev { left: 48px; right: 0; }
  #policy .slick-next { left: 0; } }

@media all and (min-width: 600px) {
  #policy .slick-prev, #policy .slick-next {
    width: 60px;
  }
  #policy .slick-next {
    right: -167px;
  }
}
@media all and (min-width: 1600px) {
  #policy .slick-prev, #policy .slick-next {
    width: 91px;
  }
  #policy .slick-next {
   right: -230px;
  }
}

/* #protects
================================================ */
#protects { padding: 50px 0 60px; }

#protects .tit { margin-bottom: 20px; }

#protects .list { margin-bottom: 25px; }

#protects .list .item .read { font-weight: bold; padding: 17px 18px; }

#protects .list .item .txt { background-color: #fff; padding: 20px 18px; font-size: 1.3rem; }

@media all and (min-width: 600px) { #protects { padding: 110px 0 90px; }
  #protects .inner { position: relative; }
  #protects .tit { margin-bottom: 125px; }
  #protects .list { margin-bottom: 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #protects .list .item { width: 33.33333%; }
  #protects .list .item .read { font-size: 2.8rem; padding: 0; position: absolute; top: 100px; left: 0; right: 0; text-align: center; }
  #protects .list .item .txt { text-align: center; padding: 32px 0; font-size: 1.6rem; }
  #protects .list .item.item01 { width: 100%; } }

/* #approach
================================================ */
#approach { padding: 0 0 20px; background-color: #f5f5f5; }

#approach .inner { margin-top: -33%; position: relative; z-index: 2; }

#approach .img:before { z-index: 3; }

#approach .tit { color: #fff; margin: 0 -18px 30px; letter-spacing: 0.08em; }

#approach .approachBox { position: relative; background-color: #fff; }

#approach .approachBox .img { padding: 45px 41px 40px; position: relative; border-bottom: 4px solid #f5f5f5; }

#approach .approachBox .img:before { content: ''; background: #fff url(../img/home/ico_approach01.png) 50% 50% no-repeat; background-size: 11px auto; width: 85px; height: 30px; position: absolute; bottom: -15px; left: 0; right: 0; margin: auto; }

#approach .approachBox .txtArea { padding: 30px 6px 35px; text-align: center; }

#approach .approachBox .txtArea .read { font-size: 2.2rem; font-weight: bold; line-height: 1.6; margin-bottom: 10px; }

#approach .approachBox .txtArea .txt { margin-bottom: 20px; }

@media all and (min-width: 600px) { #approach { padding: 0 0 100px; position: relative; }
  #approach:before { content: ''; background: url(../img/home/bg_approach01.png) 0 0 no-repeat; width: 225px; height: 184px; position: absolute; top: 0; right: 0; z-index: 1; }
  #approach:after { content: ''; background: url(../img/home/bg_approach02.png) 0 0 no-repeat; width: 251px; height: 640px; position: absolute; top: 100px; left: 0; z-index: 1; }
  #approach .inner { margin-top: -13%; }
  #approach .tit { margin: 0 0 45px; }
  #approach .approachBox { display: -webkit-box; display: -ms-flexbox; display: flex; }
  #approach .approachBox .img { width: 50%; box-sizing: border-box; padding: 100px 0 110px; border-bottom: none; border-right: 4px solid #f5f5f5; text-align: center; }
  #approach .approachBox .img img { width: 386px; }
  #approach .approachBox .img:before { background-size: contain; width: 120px; height: 60px; bottom: 44%; left: auto; right: -60px; margin: 0; -webkit-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); }
  #approach .approachBox .txtArea { width: 50%; box-sizing: border-box; padding: 105px 70px 87px 95px; text-align: left; }
  #approach .approachBox .txtArea .read { font-size: 2.4rem; margin-bottom: 25px; }
  #approach .approachBox .txtArea .txt { margin-bottom: 30px; }
  #approach .approachBox .txtArea .btn { width: 254px; margin: 0; }
  #approach .approachBox .txtArea .btn a { padding: 20px 0; font-size: 1.5rem; } }

.inview { position: relative; overflow: hidden; }

.inview:before { content: ''; background-color: #1d2088; width: 100%; height: 100%; position: absolute; top: 0; right: 0; -webkit-transition: all 0.8s ease-out; transition: all 0.8s ease-out; }

.inview.is_show:before { right: -100%; }

.fade { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); -webkit-transition: all 0.8s ease; transition: all 0.8s ease; }

.fade.is_fade { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
