/*default*/
main {
  width: 100%;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .int_visual {
    margin: 60px 0 2rem 0;
  }
}
.int_visual .inner {
  padding: 8vw 5vw;
  z-index: 99;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .int_visual .inner {
    padding: 0;
  }
}
.int_visual .image {
  width: 70%;
  position: relative;
  margin: 1em 0 0 0;
}
@media only screen and (max-width: 768px) {
  .int_visual .image {
    width: 100%;
  }
}
.int_visual .image img {
  min-height: 80vh;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 768px) {
  .int_visual .image img {
    min-height: 0;
  }
}
.int_visual .bar {
  top: 46%;
  left: 100%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 0;
  height: 94%;
}
@media only screen and (max-width: 768px) {
  .int_visual .bar {
    top: 50%;
    height: 100%;
  }
}
.int_visual {
  position: relative;
}
.int_visual .bgb {
  width: 60%;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  position: absolute;
  width: 100%;
  height: 70%;
  top: 0;
  left: 0;
  content: "";
  z-index: 0;
  background: linear-gradient(145deg, #cfcfeb 11.79%, #144B9D 87.14%);
  background: linear-gradient(145deg, #EDE2E1 11.79%, #C4A15D 87.14%);
}
.int_visual .bgb.bgb02 {
  background: linear-gradient(145deg, #B3B4BC 11.79%, #4476C3 87.14%);
}
.int_visual .bgb.bgb03 {
  background: linear-gradient(145deg, #F6E1E7 11.79%, #B97D5C 87.14%);
}
.int_visual .bgb:after {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: "";
  z-index: 3;
  background: url("/career/img/noise.png");
}
@media only screen and (max-width: 768px) {
  .int_visual .bgb {
    height: 30%;
  }
}
.int_visual .txt {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .int_visual .txt {
    position: static;
    transform: none;
  }
}
.int_visual .txt .title {
  margin: 0 0 3rem 0;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .title {
    padding: 2rem 2rem 0 2rem;
    margin: 0;
  }
}
.int_visual .txt .title p.en {
  font-size: 2.4rem;
  line-height: 1.6;
  color: #000;
}
.int_visual .txt .title p.en.white {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .title p.en.white {
    color: #000;
  }
}
.int_visual .txt .title p.en {
  letter-spacing: 1px;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .title p.en {
    font-size: 1.6rem;
  }
}
.int_visual .txt .title h1 {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 0 0.2rem;
}
.int_visual .txt .profbox {
  background: rgba(255, 255, 255, 0.9);
  padding: 4rem;
  color: #333;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox {
    background: none;
    padding: 2rem;
    color: #000;
  }
}
.int_visual .txt .profbox h2 {
  font-size: 1.6rem;
  margin: 0 0 2em 0;
  line-height: 1.6;
  letter-spacing: 2px;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox h2 {
    font-size: 1.4rem;
    margin: 0 0 1em 0;
  }
  .int_visual .txt .profbox h2 br {
    display: none;
  }
}
.int_visual .txt .profbox .prof_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox .prof_flex {
    display: block;
  }
}
.int_visual .txt .profbox .prof_flex .name {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox .prof_flex .name {
    width: 100%;
  }
}
.int_visual .txt .profbox .prof_flex .name p.jp {
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox .prof_flex .name p.jp {
    font-size: 1rem;
  }
}
.int_visual .txt .profbox .prof_flex .profile {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox .prof_flex .profile {
    width: 100%;
    margin: 1em 0 0 0;
  }
}
.int_visual .txt .profbox .prof_flex .profile p {
  display: inline-block;
  background: url("/career/img/noise.png") #eeeeee;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  font-weight: 500;
  padding: 0.3rem 1rem;
}
@media only screen and (max-width: 768px) {
  .int_visual .txt .profbox .prof_flex .profile p {
    margin: 0;
  }
}
.int_visual .txt .profbox .note {
  font-size: 0.75rem;
  margin-top: 2rem;
}

.int_main {
  margin: 0 0 10rem 0;
}
@media only screen and (max-width: 768px) {
  .int_main {
    margin: 0 0 3rem 0;
  }
}
.int_main.bg {
  padding: 10rem 0;
  position: relative;
}
.int_main.bg .bgbs {
  display: block;
  position: absolute;
  width: 100%;
  height: 140%;
  top: -20%;
  left: 0;
  content: "";
  z-index: 0;
  background: #000;
}
@media only screen and (max-width: 768px) {
  .int_main.bg .bgbs {
    height: 100%;
    top: 0;
  }
}
.int_main.bg {
  color: #fff;
}
.int_main.bg h3::before {
  background: #fff;
}
.int_main .inner {
  max-width: 1400px;
  margin: auto;
  padding: 0 8vw;
  position: relative;
  z-index: 10;
}
.int_main h3 {
  font-weight: 500;
  position: relative;
  display: flex;
  font-size: 1.1rem;
  margin: 0 0 1em 0;
}
@media only screen and (max-width: 768px) {
  .int_main h3 {
    font-size: 1rem;
  }
}
.int_main h3::before {
  content: "";
  width: 3rem;
  height: 1px;
  display: block;
  background: #000;
  margin: 1em 1em 0 0;
}
.int_main .single_txt {
  width: 640px;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .int_main .single_txt {
    width: 100%;
  }
}
.int_main .int_txt p {
  letter-spacing: 1px;
  margin: 0 0 1em 0;
}

.mid_photo {
  position: relative;
  margin: 0 0 10rem 0;
}
@media only screen and (max-width: 768px) {
  .mid_photo {
    margin: 0 0 3rem 0;
  }
}
.mid_photo.rv {
  transform: translateY(-8rem);
  margin: 0 0 0rem 0;
}
.mid_photo.rv .image {
  margin: 0 auto 0 0;
}
.mid_photo.rv .bgb2 {
  right: 5%;
  width: 50%;
  position: absolute;
  bottom: -2em;
  z-index: 0;
}
.mid_photo .image {
  width: 70%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 10;
}
.mid_photo .bgb {
  width: 50%;
  position: absolute;
  left: 0;
  bottom: -2em;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .mid_photo .bgb {
    width: 60%;
    bottom: -1rem;
  }
}

.mid_photo_two {
  display: flex;
  justify-content: space-between;
  padding: 0 8vw;
  position: relative;
  z-index: 300;
}
.mid_photo_two.mb {
  margin: 0 0 10rem 0;
}
.mid_photo_two .image {
  width: 50%;
}
.mid_photo_two .image:first-child {
  margin: 0;
  transform: translateY(0.1rem);
}
.mid_photo_two .image {
  transform: translateY(3rem);
}

.txt_flex {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .txt_flex {
    display: block;
  }
}
.txt_flex .int_txt {
  width: 46%;
}
@media only screen and (max-width: 768px) {
  .txt_flex .int_txt {
    width: 100%;
  }
}