@charset "UTF-8";
/* #mainImg 下層ページ
================================================ */
/*  #base
================================================ */
/* mainimg */
body:before { position: fixed; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background: #262626 url(../img/philosophy/mainimg01_sp.png) no-repeat; background-size: 100% auto; content: ''; }

@media screen and (min-width: 600px) { body:before { z-index: -1; background-image: url(../img/philosophy/mainimg01_pc.png); background-size: 1920px; background-position: top center; min-width: 1520px; } }

/* mask sp */
@media screen and (max-width: 599px) { #bg, #gFooter { position: relative; z-index: 2; }
  #contents { position: relative; z-index: 0; }
  #contents:before { position: absolute; content: ''; top: -109px; left: 0; width: 100%; height: 100%; background: url(../img/common/bg_contents01_sp.png) no-repeat top right; background-size: 100% auto; z-index: 0; }
  #contents:after { position: absolute; content: ''; top: 400px; left: 0; width: 100%; height: 100%; background: #262626; background-size: contain; z-index: 0; } }

/* mask pc */
@media screen and (min-width: 600px) { #bg { position: relative; background: #262626; }
  #bg:before { content: ""; position: absolute; top: -330px; height: 675px; width: 1920px; display: block; left: 50%; padding: 0; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: url(../img/common/bg_contents01_pc.png) no-repeat top center; background-size: cover; z-index: 0; } }

/*  #parallax01
================================================ */
#parallax01 { position: absolute; bottom: -278px; width: 100%; height: 552px; overflow: hidden; z-index: 0; }

#parallax01 .inner { width: 100%; height: 100%; background: url(../img/philosophy/bg_parallax01.png) center; background-size: cover; background-attachment: fixed; position: relative; }

#parallax01 .inner:before { content: ''; background: #262626; -webkit-transform: skewY(30deg); -webkit-transform-origin: left top; -ms-transform: skewY(30deg); transform: skewY(30deg); -ms-transform-origin: left top; transform-origin: left top; width: 100%; height: 216px; position: absolute; top: -216px; right: 0; }

#parallax01 .inner:after { content: ''; background: #262626; -webkit-transform: skewY(30deg); -webkit-transform-origin: right bottom; -ms-transform: skewY(30deg); transform: skewY(30deg); -ms-transform-origin: right bottom; transform-origin: right bottom; width: 100%; height: 216px; position: absolute; bottom: -216px; left: 0; }

@media screen and (min-width: 600px) { #parallax01 { top: 1000px; bottom: auto; height: 1824px; }
  #parallax01 .inner { max-width: 1920px; margin: 0 auto; }
  #parallax01 .inner:before { height: 1109px; top: -1109px; }
  #parallax01 .inner:after { height: 1109px; bottom: -1109px; } }

/*  .philosophy-anchor
================================================ */
.philosophy-anchor {
  position: relative;
}
.philosophy-anchor .inner {
  position: relative;
  padding: 145px 40px 53px 40px;
  z-index: 1;
}
.philosophy-anchor__item + .philosophy-anchor__item {
  margin-top: 10px;
}
.philosophy-anchor__item-link {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #9ecb3a;
  border: 1px solid #9ecb3a;
  font-size: 1.8rem;
  color: #fff;
  padding: 20px 14px;
}
.philosophy-anchor__item.is-pdf .philosophy-anchor__item-link {
  border: 1px solid #fff;
  background: none;
}
.philosophy-anchor__item.is-pdf .philosophy-anchor__item-link:after {
  content: "";
 background: url(../img/common/ico_pdf02.png) no-repeat;
 background-size: contain;
 width: 24px;
 height: 24px;
 position: absolute;
 top: 50%;
 right: 20px;
 transform: translateY(-50%);
}

@media screen and (min-width: 600px) { 
  .philosophy-anchor .inner {
    padding: 20px 0 100px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .philosophy-anchor__list {
    max-width: 296px;    
  }
  .philosophy-anchor__item-link {
    position: relative;
    overflow: hidden;
  }  
  .philosophy-anchor__item-link span {
    position: relative;
  }  
  .philosophy-anchor__item-link:hover {
    /* background: rgba(158,203,58,0.2); */
    background-color: transparent;
  }
  .philosophy-anchor__item-link:before {
    content: "";
    width: 0;
    height: 100%;
    display: block;
    position: absolute;
    left: -10%;
    bottom: 0;
    z-index: 0;
    background: rgba(158,203,58,0.2);
    -webkit-transform: skewX(25deg);
    transform: skewX(25deg);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .philosophy-anchor__item-link:hover:before {
    width: 120%;
  }
  .philosophy-anchor__item.is-pdf .philosophy-anchor__item-link:hover {
    border-color: #9ecb3a;
  }
  .philosophy-anchor__item.is-pdf .philosophy-anchor__item-link:before {
    background: #9ecb3a;
  }
  
}

/*  .philosophy-info
================================================ */
.philosophy-info { 
  position: relative; 
  color: #fff; 
}
.philosophy-info .inner { 
  position: relative; 
  z-index: 1; 
  padding-bottom: 45px; 
}
.philosophy-info-sec + .philosophy-info-sec {
  margin-top: 40px;
}
.philosophy-info-sec__head { 
  font-size: 3rem; 
  font-weight: 700; 
  line-height: 1.2; 
  letter-spacing: .06em; 
  margin-bottom: 20px; 
}
.philosophy-info-sec__head .sub { 
  font-size: 2rem; 
  font-weight: 500; 
}

.philosophy-info-sec__box {
  position: relative;
  display: block;
  background: url(../img/philosophy/bg_info01_sp.png) no-repeat;
  background-size: cover;
  padding: 61px 49px 61px 30px;
}
.philosophy-info-sec__box::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: #9ECB3A;
  width: 36px;
  height: 1px;
}
.philosophy-info-sec:nth-child(2) .philosophy-info-sec__box {
  background: url(../img/philosophy/bg_info02_sp.png) no-repeat;
  background-size: cover;
}
.philosophy-info-sec:nth-child(3) .philosophy-info-sec__box {
  background: url(../img/philosophy/bg_info03_sp.png) no-repeat;
  background-size: cover;
}
.philosophy-info-sec__txt { 
  font-size: 2.4rem;
  font-weight: 700; 
  line-height: 1.5;
}
.philosophy-info-set__txt-strong {
  color: #9ECB3A;
}

@media screen and (min-width: 600px) { 
  .philosophy-info .inner {
    padding-bottom: 130px; 
  }
  .philosophy-info-sec + .philosophy-info-sec {
    margin-top: 80px;
  }
  .philosophy-info-sec__head { 
    font-size: 4.2rem;
    margin-bottom: 40px; 
  }
  .philosophy-info-sec__head .sub {
    font-size: 2.4rem;
    line-height: 2;
  }
  .philosophy-info-sec__box {
    background: url(../img/philosophy/bg_info01_pc.png) no-repeat;
    background-size: cover;
    padding: 94px 425px 94px 140px;
  }
  .philosophy-info-sec__box::before {
    width: 400px;
  }

  .philosophy-info-sec:nth-child(2) .philosophy-info-sec__box {
    background: url(../img/philosophy/bg_info02_pc.png) no-repeat;
    background-size: cover;
  }

  .philosophy-info-sec:nth-child(3) .philosophy-info-sec__box {
    background: url(../img/philosophy/bg_info03_pc.png) no-repeat;
    background-size: cover;
  }
  .philosophy-info-sec__txt { 
    font-size: 3.4rem;
  }

}


/*  #mission
================================================ */
#mission { position: relative; padding-bottom: 45px; color: #fff; }

#mission .inner { position: relative; z-index: 1; }

#mission .head { letter-spacing: .06em; margin-bottom: 10px; }

#mission .head .en { color: #9ecb3a; position: relative; z-index: 1; font-size: 2rem; font-weight: 600; margin-bottom: 25px; line-height: 1.2; }

#mission .head .en:before { content: ''; background: #9ecb3a; background-size: cover; width: 25px; height: 1px; position: absolute; bottom: -8px; left: 0; }

#mission .head .ja { font-weight: bold; color: #fff; font-size: 2.5rem; line-height: 1.5; }

#mission .txt { font-size: 1.5rem; line-height: 1.8; position: relative; z-index: 1; }

@media screen and (min-width: 600px) { #mission { padding-bottom: 114px; }
  #mission .head { width: 418px; float: left; position: relative; z-index: 1; }
  #mission .head .en { font-size: 2rem; margin-bottom: 41px; letter-spacing: .06em; }
  #mission .head .en:before { width: 30px; bottom: -12px; }
  #mission .head .ja { font-size: 3.4rem; line-height: 1.5; letter-spacing: .06em; }
  #mission .txt { width: 682px; float: right; font-size: 1.6rem; position: relative; z-index: 1; margin-top: -5px; line-height: 1.85; } 
}

/*  #policy
================================================ */
#policy { padding: 39px 0 41px 0; position: relative; z-index: 1; background: rgba(0, 0, 0, 0.3); color: #fff; }

#policy .head { margin-bottom: 20px; }

#policy .box { letter-spacing: .06em; }

#policy .box + .box { margin-top: 28px; }

#policy .box .txtArea { position: relative; margin-top: -29px; }

#policy .box .num { color: #9ecb3a; font-size: 5rem; text-align: center; position: relative; line-height: 1.1; margin-bottom: 26px; font-weight: 600; letter-spacing: .06em; }

#policy .box .num:before { content: ''; background: #9ecb3a; background-size: cover; width: 35px; height: 1px; position: absolute; bottom: -6px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

#policy .box .tit { font-size: 1.8rem; line-height: 1.5; text-align: center; font-weight: bold; margin-bottom: 14px; }

#policy .box .txt { font-size: 1.5rem; line-height: 1.8; }

@media screen and (min-width: 600px) { #policy { padding: 105px 0 120px 0; }
  #policy .head { margin-bottom: 65px; }
  #policy .box + .box { margin-top: 50px; }
  #policy .box .img { width: 550px; float: left; }
  #policy .box .txtArea { margin-top: 37px; float: right; }
  #policy .box .num { font-size: 7rem; margin-bottom: 47px; }
  #policy .box .num:before { width: 50px; bottom: -15px; }
  #policy .box .tit { font-size: 2.4rem; margin-bottom: 28px; letter-spacing: .06em; }
  #policy .box .txt { width: 550px; box-sizing: border-box; padding: 0 80px; font-size: 1.6rem; line-height: 1.8; }
  #policy .box.is_rebirth .img { float: right; }
  #policy .box.is_rebirth .txt { float: left; } }
