h2,
h2 span {
  padding: 0;
  margin: 0; }

/*-------------------------------
	fview
-------------------------------*/
#fview {
  width: 100%;
  margin: 0;
  position: relative; }

.fview_inner {
  width: 100%;
  padding: 3.3% 0 4.026% 0;
  position: relative; }

.fview_title {
  width: 50.5124%;
  margin: 0 auto 0;
  position: relative;
  filter: blur(15px);
  opacity: 0; }

.fview_title.blur {
  animation: fadeIn 1.25s cubic-bezier(0.33, 1, 0.68, 1) forwards; }

@keyframes fadeIn {
  0% {
    opacity: 0;
    filter: blur(15px); }
  100% {
    opacity: 1;
    filter: blur(0); } }
/* end fadeIn */
.fview_title h2 {
  display: inline-block;
  font-size: 1.464128843338214vw;
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 500;
  transform: scale(1.15, 1);
  transform-origin: left center;
  position: absolute;
  bottom: 1em;
  left: 51%; }

.fimg {
  position: absolute;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

.fimg_01 {
  left: 0;
  top: 11.420204978038067vw;
  width: 24.158125915080527vw;
  border-radius: 0 10px 10px 0;
  transform: translate(80px, 0);
  transition-delay: 0.3s; }

.fimg_02 {
  right: 4.026354319180088vw;
  top: 5.490483162518302vw;
  width: 25.622254758418741vw;
  transform: translate(0, 80px);
  transition-delay: 0.6s; }

.fimg_03 {
  right: 0;
  bottom: 0;
  width: 16.837481698389458vw;
  border-radius: 10px 0 0 10px;
  transform: translate(-80px, 0);
  transition-delay: 0.9s; }

.fimg.action {
  opacity: 1;
  transform: translate(0, 0); }

/*-------------------------------
	fthoughts
-------------------------------*/
#fthoughts {
  margin-top: 140px;
  margin-bottom: 100px; }

.fthoughts_txt {
  position: relative; }

.fthoughts_txt h2 {
  font-size: 150%;
  line-height: 2.083;
  margin-bottom: 2.5em;
  font-weight: 600;
  letter-spacing: 0.05em; }

.fthoughts_txt p {
  font-size: 112.5%;
  font-weight: 500;
  line-height: 2.22;
  letter-spacing: 0.04em; }

.fthoughts_txt p:not(:last-of-type) {
  margin-bottom: 2em; }

#fthoughts .sec_inner_wide {
  position: relative;
  padding: 0; }

.fthoughts_img {
  position: absolute;
  right: 48px;
  bottom: 0;
  width: 396px; }

.fthoughts_img01 {
  width: 85%;
  max-width: 336px;
  margin: 0; }

.fthoughts_img02 {
  width: 60%;
  max-width: 235px;
  margin: -35px 0 0 auto; }

/*-------------------------------
	top message
-------------------------------*/
#topmessage {
  position: relative;
  padding: 80px 0 100px;
  background: linear-gradient(180deg, white 0%, white 50%, #f0f0f0 50%, #f0f0f0 100%); }

#topmessage::before,
#jobs::before {
  content: "";
  display: block;
  width: calc(100% - 200px);
  height: 100%;
  background: #008bff;
  background: linear-gradient(90deg, #008bff 0%, #3064f6 100%);
  position: absolute;
  left: 0;
  top: 0; }

#topmessage .sec_inner_wide,
#topmessage .sec_inner,
#jobs .sec_inner_wide {
  position: relative; }

#topmessage .h_title {
  margin-bottom: 1.5em; }

.topmessage_txt {
  width: 320px; }

.topmessage_txt p {
  font-size: 112.5%;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
  color: #fff; }

.topmessage_img {
  width: calc(100% - 270px - 100px);
  max-width: 430px;
  margin-left: 100px; }

/*-------------------------------
	project story
-------------------------------*/
#projectstory {
  padding: 80px 0 60px;
  background: #F0F0F0; }

.project_list {
  margin-top: 40px; }

.project_list::after {
  width: 31%; }

.project_list li {
  width: 31%;
  max-width: 390px;
  margin-bottom: 40px; }

.project_list li a {
  text-decoration: none !important;
  position: relative;
  padding-bottom: 80px;
  height: 100%;
  display: block; }

.project_list li figure {
  margin-bottom: 30px;
  transition: opacity .3s; }

.project_list li figure img {
  transition: transform .3s; }

.project_txt h4 {
  font-weight: 500;
  letter-spacing: 0.025em;
  transform: scale(1.15, 1);
  transform-origin: left center;
  display: inline-block;
  margin-bottom: 1.5em; }

.project_txt h3 {
  color: #231815;
  line-height: 1.65;
  font-size: 150%;
  font-weight: 500;
  letter-spacing: 0.05em; }

.project_list li .btn_more {
  position: absolute;
  right: 0;
  bottom: 0; }

/*
.project_list li a:hover figure {
	opacity:0.7;
}
*/
.project_list li a:hover figure img {
  transform: scale(1.1); }

.project_list li a:hover h3 {
  text-decoration: underline; }

.project_list li a:hover .btn_more::before {
  opacity: 0; }

/*-------------------------------
	jobs
-------------------------------*/
#jobs {
  padding: 80px 0 0;
  background: #F0F0F0; }

#jobs .sec_innner_wide,
.jobs_wrap {
  position: relative; }

#jobs .h_title {
  margin-bottom: 3em; }

.jobs_block {
  width: 50%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column; }

.jobs_block figure {
  width: 100%; }

.jobs_txt {
  max-width: 637.5px;
  padding: 40px; }

.jobs_block:nth-of-type(2n+1) {
  align-items: flex-end; }

.jobs_block:nth-of-type(2n+1) .jobs_txt {
  padding: 40px 40px 40px 15px; }

.jobs_block:nth-of-type(2n) .jobs_txt {
  padding: 40px 15px 40px 40px; }

.jobs_txt h3 {
  font-size: 150%;
  letter-spacing: 0.05em;
  line-height: 1.65;
  margin-bottom: 1em;
  color: #fff;
  font-weight: 600; }

.jobs_txt p {
  color: #fff; }

.jobs_block01 {
  background: #138DFF; }

.jobs_block02 {
  background: #3064F6; }

.jobs_block03 {
  background: #00A9C5; }

.jobs_block04 {
  background: #009AC1; }

/*-------------------------------
	voice
-------------------------------*/
#voice {
  padding: 70px 0 90px; }

.voice_wrap {
  position: relative;
  padding-bottom: 10px; }

.voice_img_wrap {
  width: 53%;
  max-width: 510px;
  position: absolute;
  right: 0;
  bottom: 0; }

.voice_img_wrap .voice_img01 {
  width: 88.3%;
  max-width: 450px; }

.voice_img_wrap .voice_img02 {
  width: 47.1%;
  max-width: 230px;
  /* margin:-75px 0 0 25px; */
  margin: -14.706% 0 0 4.902%; }

.voice_img_wrap .voice_img03 {
  width: 32.4%;
  max-width: 160px;
  position: absolute;
  right: 0;
  /* bottom:52px; */
  bottom: 12%; }

.voice_txt {
  width: 45%;
  max-width: 430px;
  text-align: justify; }

.voice_txt .btn_more {
  margin-top: 40px; }

/*-------------------------------
	culture
-------------------------------*/
#culture {
  padding: 80px 0 100px;
  background: url("../../../recruit/img/top/bg_culture.jpg") no-repeat center/cover; }

#culture .h_title {
  margin-bottom: 5.5em; }

/*-------------------------------
	
-------------------------------*/
/*-------------------------------
	responsive
-------------------------------*/
@media screen and (max-width: 1304px) {
  .jobs_txt {
    padding: 40px 15px; } }
/* end 1304px */
@media screen and (max-width: 994px) {
  #fthoughts {
    margin-top: 100px; }

  .fthoughts_img {
    right: 15px;
    width: 40%; }

  .fthoughts_txt p {
    font-size: 112.5%; }

  .link_block a {
    padding: 20px 60px 20px 15px; }

  .link_block a::after {
    right: 20px; } }
/* end 994px */
/*-------------------------------
	ver sp
-------------------------------*/
@media screen and (max-width: 767px) {
  .JS h2,
  .JS .LV1LinkSet {
    margin: 0; }

  /*-------------------------------
  	fview
  -------------------------------*/
  .fview_inner {
    padding: 10vw 0 60vw 0; }

  .fview_title {
    width: 92%; }

  .fview_title h2 {
    display: inline-block;
    font-size: 3.733333333333333vw;
    position: relative;
    bottom: auto;
    left: auto;
    margin: 4vw 0 0 0; }

  .fimg_01 {
    top: auto;
    bottom: 6.666666666666667vw;
    width: 44vw;
    z-index: 1;
    transform: translate(40px, 0); }

  .fimg_02 {
    right: 11.733333333333333vw;
    top: auto;
    bottom: 18.666666666666667vw;
    width: 46.666666666666667vw;
    transform: translate(0, 40px); }

  .fimg_03 {
    right: 0;
    bottom: 0;
    width: 30.666666666666667vw;
    z-index: 1;
    transform: translate(-40px, 0); }

  /*-------------------------------
  	fthoughts
  -------------------------------*/
  #fthoughts {
    margin-top: 70px;
    margin-bottom: 50px; }

  .fthoughts_txt h2 {
    font-size: 100%;
    margin-bottom: 2em;
    line-height: 2; }

  .fthoughts_txt p {
    font-size: 87.5%;
    line-height: 2.1428571428; }

  .fthoughts_txt p:not(:last-of-type) {
    margin-bottom: 2em; }

  #fthoughts .sec_inner_wide {
    position: relative;
    padding: 0; }

  .fthoughts_img {
    position: relative;
    right: auto;
    bottom: auto;
    width: 78%;
    margin: 45px 0 0 auto;
    padding-top: 12vw; }

  .fthoughts_img01 {
    width: 63%;
    max-width: 100%;
    margin: 0; }

  .fthoughts_img02 {
    width: 44%;
    max-width: 100%;
    margin: 0;
    position: absolute;
    right: 0;
    top: 0; }

  /*-------------------------------
  	top message
  -------------------------------*/
  #topmessage {
    padding: 40px 0 50px;
    background: none; }

  #topmessage::before,
  #jobs::before {
    width: 100%;
    height: 100%; }

  #topmessage .sec_inner_wide,
  #topmessage .sec_inner,
  #jobs .sec_inner_wide {
    position: relative; }

  .topmessage_txt {
    width: 100%;
    order: 1; }

  .topmessage_txt p {
    font-size: 87.5%;
    margin-bottom: 20px; }

  .topmessage_img {
    width: 100%;
    max-width: 100%;
    margin-left: 0px;
    margin-bottom: 10px; }

  /*-------------------------------
  	project story
  -------------------------------*/
  #projectstory {
    padding: 40px 0 0px; }

  .project_list {
    margin-top: 20px; }

  .project_list::after {
    display: none; }

  .project_list li {
    width: 100%;
    max-width: 100%;
    margin-bottom: 50px; }

  .project_list li a {
    text-decoration: none !important;
    padding-bottom: 0px;
    height: auto; }

  .project_list li figure {
    margin-bottom: 15px; }

  .project_txt h4 {
    font-size: 75%;
    margin-bottom: 0.5em; }

  .project_txt h3 {
    font-size: 100%;
    margin-bottom: 1.25em; }

  .project_list li .btn_more {
    position: relative;
    right: auto;
    bottom: auto; }

  /*-------------------------------
  	jobs
  -------------------------------*/
  #jobs {
    padding: 40px 0 0; }

  #jobs .h_title {
    margin-bottom: 1.5em; }

  .jobs_block {
    width: 100%; }

  .jobs_txt {
    max-width: 100%;
    padding: 20px 15px; }

  .jobs_block:nth-of-type(2n+1) {
    align-items: flex-start; }

  .jobs_block:nth-of-type(2n+1) .jobs_txt {
    padding: 20px 15px; }

  .jobs_block:nth-of-type(2n) .jobs_txt {
    padding: 20px 15px; }

  .jobs_txt h3 {
    font-size: 100%;
    margin-bottom: 0.5em; }

  /*-------------------------------
  	voice
  -------------------------------*/
  #voice {
    padding: 35px 0 50px; }

  .voice_wrap {
    padding-bottom: 0px; }

  .voice_img_wrap {
    width: 100%;
    max-width: 100%;
    margin-bottom: 25px;
    position: relative;
    right: auto;
    bottom: auto; }

  .voice_img_wrap .voice_img01 {
    width: 88.3%;
    max-width: 100%; }

  .voice_img_wrap .voice_img02 {
    width: 47.1%;
    max-width: 100%;
    /* margin:-75px 0 0 25px; */
    margin: -14.706% 0 0 4.902%; }

  .voice_img_wrap .voice_img03 {
    width: 32.4%;
    max-width: 100%;
    position: absolute;
    right: 0;
    /* bottom:52px; */
    bottom: 12%; }

  .voice_txt {
    width: 100%;
    max-width: 100%; }

  .voice_txt .btn_more {
    margin-top: 20px; }

  /*-------------------------------
  	culture
  -------------------------------*/
  #culture {
    padding: 40px 0 50px; }

  #culture .h_title {
    margin-bottom: 1.5em; } }
/* end 767px */
#culture .link_block span {
  color: #0C0C0C; }
