/* ------------------------------------------
  sub_mv
------------------------------------------ */
.sub_mv {
  background-image: url(../img/company/company_mv_back.jpg);
}

.sub_page_title_wrapper {
  background-image: url(../img/sub/sub_mv_title_back.png);
}

@media screen and (max-width: 767px) {
  .sub_mv {
    background-image: url(../img/company/company_mv_back_sp.jpg);
  }
}

/* ------------------------------------------
  company_sec_title
------------------------------------------ */
.company_sec_title_wrapper {
  text-align: center;
}

.company_sec_title_en {
  color: #ff9f1c;
  font-family: 'Yellowtail', cursive;
  font-size: 8.3rem;
  line-height: 0;
  line-height: 115px;
  text-align: center;
}

.company_sec_title {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 50px;
}

@media screen and (max-width: 767px) {
  .company_sec_title_en {
    font-size: 4.1rem;
    line-height: 75px;
  }

  .company_sec_title {
    font-size: 2rem;
    line-height: 25px;
  }
}
/* ------------------------------------------
  greeting
------------------------------------------ */
.greeting {
  margin: 110px 0 0;
}

.greeting_desc_container {
  overflow-x: hidden;
}

.greeting_desc {
  max-width: 1090px;
  margin-top: 85px;
}

.greeting_desc_text {
  background-color: #FF9F1C;
  color: #fff;
  padding: 105px 345px 110px 190px;
  position: relative;
}

.greeting_desc_text_catchcopy {
  font-size: 2.2rem;
  font-weight: bold;
}

.greeting_desc_text p {
  font-size: 1.6rem;
  line-height: 36px;
  margin-top: 25px;
}

.greeting_desc_text_name {
  font-size: 2.4rem;
  margin-top: 50px;
  text-align: right;
}

.greeting_desc_text_name span {
  font-size: 1.6rem;
  padding-right: 36px;
}

.greeting_desc_img {
  width: 500px;
  position: absolute;
  top: 50%;
  right: -275px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .greeting {
    margin: 60px 0 0;
  }

  .greeting_desc {
    margin-top: 40px;
  }

  .greeting_desc_text {
    padding: 30px 30px 50px;
  }

  .greeting_desc_text_catchcopy {
    font-size: 1.8rem;
    margin-top: 15px;
  }

  .greeting_desc_text p {
    font-size: 1.4rem;
    line-height: 30px;
    margin-top: 20px;
  }

  .greeting_desc_text_name {
    font-size: 1.8rem;
    margin-top: 20px;
  }

  .greeting_desc_text_name span {
    font-size: 1.3rem;
  }

  .greeting_desc_img {
    width: auto;
    position: static;
    transform: translateY(0);
  }

  .greeting_link {
    font-size: 1.6rem;
    line-height: 70px;
    margin-top: 40px;
    vertical-align: middle;
    text-align: center;
  }

  .greeting_link span {
    display: inline-block;
    vertical-align: middle;
  }

  .greeting_link span::before {
    height: 50px;
    margin-right: 10px;
    width: 50px;
  }
}

/* ------------------------------------------
  staff
------------------------------------------ */
.staff {
  margin-top: 120px;
}

.staff_main {
  margin-top: 60px;
}

.staff_main_item {
  height: 600px;
  background-size: 1366px 600px;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
}

.staff_main_item:first-child {
  background-image: url(../img/company/staff_img1.jpg);
}

.staff_main_item:last-child {
  background-image: url(../img/company/staff_img2.jpg);
}

.staff_main_item_inner {
  width: 985px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  color: #fff;
}

.staff_main_item_name_box1 {
  width: 445px;
  height: 250px;
  background-image: url(../img/company/staff_main_name_box_back1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  position: relative;
}

.staff_main_item_name_box2 {
  width: 445px;
  height: 250px;
  background-image: url(../img/company/staff_main_name_box_back2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  position: relative;
}

.staff_main_item_name_en {
  display: inline-block;
  transform: rotate(-5deg);
  padding-top: 37px;
  font-size: 4rem;
  letter-spacing: .1em;
  font-family: 'Yellowtail', cursive;
}

.staff_main_item_name_ja_small {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .2em;
}

.staff_main_item_name_ja_small1 {
  margin-left: -129px;
}

.staff_main_item_name_ja_small2 {
  margin-left: -150px;
}

.staff_main_item_name_ja {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 1.5;
}

.staff_main_item_desc {
  width: 320px;
  font-size: 1.8rem;
  letter-spacing: .1em;
  line-height: 36px;
}

@media screen and (max-width: 767px) {
  .staff_main_item {
    height: 549px;
    background-size: contain;
  }

  .staff_main_item:first-child {
    background-image: url(../img/company/staff_img1_sp.jpg);
  }

  .staff_main_item:last-child {
    background-image: url(../img/company/staff_img2_sp.jpg);
  }

  .staff_main_item_inner {
    width: auto;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    color: #fff;
  }

  .staff_main_item_inner2 {
    flex-direction: column-reverse;
  }

  .staff_main_item_name_box1 {
    width: 356px;
    height: 200px;
  }

  .staff_main_item_name_box2 {
    width: 356px;
    height: 200px;
  }

  .staff_main_item_name_en {
    padding-top: 37px;
    font-size: 3rem;
    letter-spacing: .1em;
    font-family: 'Yellowtail', cursive;
  }

  .staff_main_item_name_ja_small {
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: .2em;
  }

  .staff_main_item_name_ja_small1 {
    margin-left: -85px;
  }

  .staff_main_item_name_ja_small2 {
    margin-left: -99px;
  }

  .staff_main_item_name_ja {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: .2em;
    line-height: 1.5;
  }

  .staff_main_item_desc {
    width: 320px;
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 30px;
    padding-bottom: 20px;
  }
}

/* ------------------------------------------
  staff_list
------------------------------------------ */
.staff_list {
  width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

.staff_list_item {
  width: calc((100% - 60px) / 3);
  padding: 27px 20px 50px;
  box-shadow: 5px 5px 15px 0 rgba(0, 0, 0, 0.16);

}

.staff_list_item_img_wrapper {
  overflow: hidden;
}

.staff_list_item_name {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .2em;
}

.staff_list_item_name span {
  font-size: 1.6rem;
  margin-right: 20px;
}

.staff_list_item_desc {
  font-size: 1.6rem;
  letter-spacing: .1em;
  line-height: 36px;
  margin-top: 10px;
}

.staff_list_item_date {
  color: #4b4b4b;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.4rem;
  line-height: 28px;
}

@media screen and (max-width: 767px) {
  .staff {
    margin-top: 100px;
  }

  .staff_title_text {
    font-size: 4.1rem;
    line-height: 75px;
  }

  .staff_title {
    font-size: 2rem;
    line-height: 25px;
  }

  .staff_list {
    width: auto;
    margin-top: 60px;
    flex-direction: column;
    padding: 0 17px;
  }

  .staff_list_item {
    width: 100%;
    margin-top: 20px;
  }

  .staff_list_item_img {
    max-width: 100%;
  }

  .staff_list_item:first-child {
    margin-top: 0;
  }

  .staff_list_item_desc {
    font-size: 1.5rem;
    line-height: 28px;
  }
}

/* ------------------------------------------
  company
------------------------------------------ */
.company {
  margin: 120px auto 0;
}

.company_main {
  width: 540px;
  margin: 0 auto;
}

.company_main dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: 55px;
}

.company_main dt {
  width: 150px;
  padding: 35px 0 15px 20px;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .2em;
  border-bottom: 0.5px solid #707070;
}

.company_main dd {
  width: 390px;
  padding: 35px 0 15px 20px;
  border-bottom: 0.5px solid #707070;
  font-size: 1.6rem;
  letter-spacing: .2em;
}

@media screen and (max-width: 767px) {
  .company {
    margin: 100px auto 0;
  }

  .company_main {
    margin: 0 auto;
    padding: 0 17px;
    width: 100%;
  }

  .company_main dl {
    display: flex;
    flex-wrap: wrap;
  }

  .company_main dt {
    width: 30%;
    padding: 20px 0 10px 10px;
    font-size: 1.4rem;
  }

  .company_main dd {
    width: 70%;
    padding: 20px 0 10px 10px;
    font-size: 1.4rem;
  }
}

/* ------------------------------------------
  access
------------------------------------------ */
.access {
  margin: 120px auto 0;
}

.access_main {
  width: 540px;
  margin: 45px auto 0;
}

.access_main span {
  font-size: 1.2rem;
  letter-spacing: .2em;
  margin-bottom: 10px;
}

.access_main iframe {
   width: 540px;
   height: 330px;
}

@media screen and (max-width: 767px) {
  .access {
    margin: 100px auto 0;
    padding: 0 17px;
  }

  .access_main {
    width: auto;
  }

  .access_main iframe {
     width: 100%;
     height: 330px;
  }
}
