@charset "UTF-8";

/* ==== root ========================== */
:root {
  --color-black: #000000;
  --color-white: #ffffff;
  --color-primary: #705cff;
  --color-subPrimary: #89ff73;
  --color-bg-y: #ffffd2;
  --color-bg-g: #f5f5f5;

  --noto-sans: "Noto Sans JP", serif;
  --zen-kaku: "Zen Kaku Gothic New", serif;
  --helvetica: "Helvetica", sans-serif;
  --helvetica-b: "Helvetica-B", sans-serif;
}

/*================================================
 *  
 ================================================*/


#aboutVisual.cross-w {
  background: url(../../images/cross/about_vs-w.png) no-repeat center bottom / cover;
  height: 100%;
  padding: 24rem 0 0;
}

#aboutVisual.cross-y {
  background: url(../../images/cross/about_vs-y.png) no-repeat center bottom / cover;
  height: 100%;
  padding: 24rem 0 0;
}

#aboutVisual.cross-s {
  background: url(../../images/cross/about_vs-s.png) no-repeat center bottom / cover;
  height: 100%;
  padding: 24rem 0 0;
}

#aboutVisual.cross h2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#aboutVisual.cross h2 span {
  font-size: 1.6rem;
  width: 100%;
}


#aboutVisual.cross h2 strong {
  font-size: 1.6rem;
  background: var(--color-white);
  color: var(--color-black);
  padding: 0.5rem 1rem;
  margin-left: 2rem;
}

@media screen and (max-width: 767px) {
  #aboutVisual.cross-w {
    background: url(../../images/cross/about_vs-w_sp.png) no-repeat center bottom / cover;
  }

  #aboutVisual.cross-y {
    background: url(../../images/cross/about_vs-y_sp.png) no-repeat center bottom / cover;
  }

  #aboutVisual.cross {
    padding-top: 0;
  }

  #aboutVisual.cross .wrap {
    width: 100%;
  }

  #aboutVisual.cross h2 {
    position: relative;
    width: 55rem;
    margin: 4rem auto 10rem;
  }

  #aboutVisual.cross h2 strong {
    position: absolute;
    top: -6rem;
    left: -18rem;
    margin: 0;
    padding-left: 20rem;
  }
}

/*================================================
 *  
 ================================================*/

.subhd {
  text-align: center;
  font-size: 3.5rem;
  font-weight: 600;
}

.p_ttl {
  font-size: 3rem;
  text-align: center;
  width: 60rem;
  position: relative;
  padding: 0 1.5rem;
  margin: 0 auto 5rem;
  font-weight: 600;
}

.p_ttl::before,
.p_ttl::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/cross/kakko_l.png);
  width: 1.5rem;
  height: 8.25rem;
  top: 60%;
  left: 0;
  transform: translateY(-50%);
}

.p_ttl::after {
  background-image: url(../../images/cross/kakko_r.png);
  left: auto;
  right: 0;
}

.p_ttl span,
.subhd span {
  display: block;
  font-size: 1.7rem;
  padding-bottom: 2rem;
  position: relative;
}

.p_ttl span::before,
.subhd span::before {
  position: absolute;
  content: "";
  width: 3rem;
  height: 3px;
  border-radius: 100px;
  left: 50%;
  transform: translateX(-50%);
  bottom: .5rem;
  background: #FC376A;
}

.p_ttl span {
  color: #FC376A;
  font-size: 3rem;
  padding-bottom: 1rem;
}

.p_ttl.y_ttl span {
  color: #F2442C
}

.y_subhd span::before,
.p_ttl.y_ttl span::before {
  background: #F2442C;
}


.p_ttl.s_ttl span {
  color: #0015D6;
}

.s_subhd span::before,
.p_ttl.s_ttl span::before {
  background: #0015D6;
}

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

  .p_ttl {
    font-size: 2.3rem;
    text-align: left;
    width: 100%;
    padding: 1.5rem 1.5rem;
    margin: 0 auto 5rem;
    color: var(--color-white);
    display: flex;
    align-items: center;
    background: url(../../images/cross/w_sp-ttl.png) no-repeat center/cover;
  }

  .p_ttl.y_ttl {
    background: url(../../images/cross/y_sp-ttl.png) no-repeat center/cover;
  }

  .p_ttl.s_ttl {
    background: url(../../images/cross/s_sp-ttl.png) no-repeat center/cover;
  }

  .p_ttl::before,
  .p_ttl::after,
  .p_ttl span::before {
    content: none;
  }

  .p_ttl span {
    color: var(--color-white) !important;
    border-right: 2px solid;
    padding: 0 2rem 0 0;
    margin-right: 2rem;
    line-height: 1;
  }
}

/*================================================
 *  
 ================================================*/
.donna_list {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
  width: 87rem;
  margin: 4rem auto 0;
}

.donna_list li ul {
  text-align: center;
  font-size: 1.7rem;
}

.donna_list li ul li {
  margin-top: 0.4rem;
}

.donna_list li ul li:first-child {
  font-size: 2.9rem;
  font-weight: 700;
}


@media screen and (max-width: 767px) {
  .donna_list {
    grid-template-columns: repeat(1, 1fr);
    width: 25rem;
  }

}

/*================================================
 *  hataraki
 ================================================*/
#hataraki::before,
#kankyo::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: rgb(164 161 209 / 5%);
  left: 0;
  top: 0;
}

#hataraki.y_hataraki::before,
#kankyo.y_kankyo::before {
  background: rgb(207 187 161 / 5%);
}

#hataraki.s_hataraki::before,
#kankyo.s_kankyo::before {
  background: rgb(164 161 209 / 5%);
}

#kankyo {
  padding-bottom: 40vw;
}

#kankyo::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/cross/w_kankyou-bg.png);
  width: 100vw;
  height: 60vw;

  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}

#kankyo.y_kankyo::after {
  background-image: url(../../images/cross/y_kankyou-bg.png);
}

#kankyo.s_kankyo::after {
  background-image: url(../../images/cross/s_kankyou-bg.png);
}

.p_outer {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  overflow: clip;
}



.p_inner {
  width: 108rem;
  margin-left: auto;
}


.talkArea {
  width: 60rem;
}


.talk {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-top: 4rem;
}

.talk .img {
  width: 10rem;
  text-align: center;
}

.talk .img span {
  font-size: 1.2rem;
  margin-top: 1rem;
  display: block;
}

.talk .txt {
  font-size: 1.5rem;
  width: calc(100% - 13rem);
}

.talk .txt span{
	color: red;
}

.p_outer-img {
  position: absolute;
}

.hataraki_img {
  right: 0;
  top: 5rem;
  width: 41rem;
}


#miryoku .p_inner,
#career .p_inner {
  margin-left: 0;
}

#career .p_inner {
  padding-bottom: 13rem;
}


#career .talkArea,
#miryoku .talkArea {
  margin-left: auto;
}

.miryoku_img {
  left: -3rem;
  top: 5rem;
  width: 45rem;
}

.kankyo_img {
  right: 0;
  top: 5rem;
  width: 41rem;
}


.career_img {
  left: 0;
  top: 5rem;
  width: 41rem;
}

.career_img02 {
  width: 88rem;
  margin: 3rem auto 0;
  position: relative;
  z-index: 2;
}



.y_kankyo .kankyo_img {
  top: 21rem;
}

.y_career .career_img {
  top: 10rem;
}

.s_hatarak .hataraki_img {
  top: 10rem;
}

@media screen and (max-width: 767px) {
  #kankyo {
    padding-bottom: 10rem;
  }

  #kankyo::after {
    content: none;
  }

  #career {
    padding-bottom: 44vw;
  }

  #career::after {
    position: absolute;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    display: inline-block;
    background-image: url(../../images/cross/w_kankyou-bg.png);
    width: 100vw;
    height: 61vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }

  #career.y_career::after {
    background-image: url(../../images/cross/y_kankyou-bg.png);
  }

  #career.s_career::after {
    background-image: url(../../images/cross/s_kankyou-bg.png);
  }

  #career .p_inner,
  #miryoku .p_inner,
  .p_inner {
    width: 55rem;
    margin-right: auto;
    margin-left: auto;
  }

  #career .p_inner {
    padding-bottom: 0rem;
  }

  .talkArea {
    width: 100%;
  }

  .talk .img {
    width: 8rem;
  }

  .talk .img span {
    font-size: 1.6rem;
    margin-top: 1rem;
    display: block;
  }

  .talk .txt {
    font-size: 1.9rem;
    width: calc(100% - 10rem);
  }

  .p_outer-img {
    position: static;
    width: 55rem;
    margin: 4rem auto 0;
  }

  .career_img,
  .career_img02 {
    display: none;
  }
}

/*================================================
 *  other
 ================================================*/
#other {
  z-index: 1;
}

#other::before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% + 18rem);
  top: -18rem;
  background: #4569FF;
  left: 0;
  z-index: -1;
}

#other::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/cross/o_arrow.png);
  width: 0.6rem;
  height: 26rem;
  top: -19rem;
  left: 30%;
  transform: translateX(-50%);
}

#other h2 {
  text-align: center;
  font-size: 3.5rem;
  color: var(--color-white);
  letter-spacing: 0.14em;
}

#other h2 span {
  display: block;
  width: 25.5rem;
  margin: 0 auto;
}

#other ul {
  display: grid;
  gap: 0 7rem;
  grid-template-columns: repeat(2, 1fr);
  width: 75rem;
  margin: 5rem auto 0;
  position: relative;
}

#other ul li {
  padding-bottom: 5rem;
}

#other ul::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  left: 50%;
  top: 0;
  background: var(--color-white);
}

#other ul li p {
  color: #E8F773;
  font-size: 1.6rem;
  margin: 2rem 0;
}

#other ul li a * {
  transition: .2s;
}

/* #other ul li a>img {
  transition: .2s;
} */

#other ul li a:hover>img {
  transform: scale(1.1);
}

#other ul li a .btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.3rem;
  background: #D8E445;
  color: var(--color-white);
  padding: 1rem 2rem;
}

#other ul li a:hover .btn {
  background: var(--color-white);
  color: var(--color-black);
}

#other ul li a .btn i {
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/cross/arrow01.png);
  width: 5.1rem;
  height: 2.6rem;
}

#other ul li a:hover .btn i {
  background-image: url(../../images/cross/arrow02.png);
}




@media screen and (max-width: 767px) {
  #other {
    padding-top: 5rem;
  }

  #other::before {
    height: 100%;
    top: 0;
  }

  #other ul::before,
  #other::after {
    content: none;
  }

  #other ul {
    grid-template-columns: repeat(1, 1fr);
    width: 34rem;
    margin: 5rem auto 0;
  }
}

/*================================================
 *  joho
 ================================================*/
#joho h2 span::before {
  background: #705CFF;
}

#joho ul {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3rem;
}



#joho ul li {
  background: url(../../images/cross/joho_bg01.jpg) no-repeat center top/cover;
  color: var(--color-white);
}

#joho ul li:nth-child(2) {
  background: url(../../images/cross/joho_bg02.jpg) no-repeat center top/cover;
}

#joho ul li:nth-child(3) {
  background: url(../../images/cross/joho_bg03.jpg) no-repeat center top/cover;
}

#joho ul li a {
  padding: 3rem 2rem;
}

#joho ul li a * {
  transition: .4s;
}

#joho ul li a:hover img {
  transform: scale(1.1);
}

#joho ul li span {
  display: block;
  width: 22rem;
  margin: 0 auto;
  padding: 1rem 0;
  background: var(--color-white);
  border-radius: 100000000000px;
}

#joho ul li a:hover span {
  background: var(--color-black);
}

#joho ul li span img {
  width: 14rem;
  margin: 0 auto;
}

#joho ul li p {
  color: var(--color-white);
  font-size: 2rem;
  text-align: center;
  margin: 2rem 0;
}

@media screen and (max-width: 767px) {
  #joho ul {
    gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
  }

  #joho ul li {
    text-align: left;
    background: url(../../images/cross/joho_bg01_sp.jpg) no-repeat center top/cover;
  }

  #joho ul li:nth-child(2) {
    background: url(../../images/cross/joho_bg02_sp.jpg) no-repeat center top/cover;
  }

  #joho ul li:nth-child(3) {
    background: url(../../images/cross/joho_bg03_sp.jpg) no-repeat center top/cover;
  }

  #joho ul li a {
    padding-left: 5rem;
  }

  #joho ul li>a>img {
    display: none;
  }

  #joho ul li p {
    width: 14rem;
  }

  #joho ul li span {
    margin-left: 0;
    width: 14rem;
  }

  #joho ul li span img {
    width: 10rem;
  }
}

/*================================================
 *  
 ================================================*/

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

/*================================================
 *  
 ================================================*/

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

/*================================================
 *  
 ================================================*/

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

/*================================================
 *  
 ================================================*/

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

/*================================================
 *  
 ================================================*/

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

/*================================================
 *  
 ================================================*/

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