/*backgroung_img_set*/
@media (min-width: 769px), print {
  #inside_ttl {
    background: url("../../img/service/overseas/kv_bg_pc.jpg") center center no-repeat;
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  #inside_ttl {
    background: url("../../img/service/overseas/kv_bg_sp.jpg") center center no-repeat;
    background-size: cover;
  }
}

@media (min-width: 769px), print {
  #individual_area {
    padding-bottom: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  #individual_area {
    padding-bottom: 8rem;
  }
}

/*overseas_section*/
#overseas_section {
  position: relative;
  background: #f1f1f1;
}
@media (min-width: 769px), print {
  #overseas_section {
    padding-top: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  #overseas_section {
    padding-top: 8rem;
  }
}

.overseas_section {
  position: relative;
}
@media (min-width: 769px), print {
  .overseas_section {
    padding-bottom: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  .overseas_section {
    padding-bottom: 8rem;
  }
}

.overseas_section .section_inner {
  max-width: 100% !important;
  padding: 0 !important;
}

.overseas_section .img_box {
  position: relative;
}
@media (min-width: 769px), print {
  .overseas_section .img_box {
    width: 57%;
    height: 412px;
  }
}
@media screen and (max-width: 768px) {
  .overseas_section .img_box {
    width: 59.4rem;
    height: 42rem;
  }
}

.overseas_section .img_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease-out 0.6s all;
}

@media (min-width: 769px), print {
  .overseas_section h3 {
    line-height: 1.334em;
    font-size: min(24px, 2.143vw);
  }
}
@media screen and (max-width: 768px) {
  .overseas_section h3 {
    line-height: 1.429em;
    font-size: 4.2rem;
    white-space: nowrap;
  }
}

@media (min-width: 769px), print {
  .r_img .img_box {
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .r_img .img_box {
    margin: 0 0 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .l_img .img_box {
    margin: 0;
  }
}

.overseas_section .img_box span {
  position: absolute;
  display: inline-block;
}
@media (min-width: 769px), print {
  .overseas_section .img_box span {
    bottom: 1rem;
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: 400;
    line-height: 1.125em;
    font-size: min(12.8px, 1.143vw);
  }
}
@media screen and (max-width: 768px) {
  .overseas_section .img_box span {
    bottom: 6rem;
    letter-spacing: 0.05em;
    font-weight: 400;
    line-height: 1.462em;
    font-size: 2.6rem;
  }
}

@media (min-width: 769px), print {
  .l_img .img_box span {
    right: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l_img .img_box span {
    right: 1rem;
    color: #fff;
    text-align: right;
  }
}

@media (min-width: 769px), print {
  .r_img .img_box span {
    left: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .r_img .img_box span {
    left: 2rem;
    color: #fff;
  }
}

@media (min-width: 769px), print {
  .overseas_section .transparent_box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 59.4rem;
    z-index: 5;
  }
}
@media screen and (max-width: 768px) {
  .overseas_section .transparent_box {
    position: relative;
    transform: translateY(-6.6vw);
    width: 59rem;
  }
}

@media (min-width: 769px), print {
  .r_img .transparent_box {
    transform: translate(-59.4rem, -50%);
  }
}
@media screen and (max-width: 768px) {
  .r_img .transparent_box {
    margin: 0 0 0 5.5rem;
  }
}

@media (min-width: 769px), print {
  .l_img .transparent_box {
    transform: translate(0rem, -50%);
  }
}
@media screen and (max-width: 768px) {
  .l_img .transparent_box {
    margin: 0 0 0 10.5rem;
  }
}

/**/
#achievement_section {
  text-align: center;
}
@media (min-width: 769px), print {
  #achievement_section {
    padding-bottom: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section {
    padding-bottom: 3rem;
  }
}

@media (min-width: 769px), print {
  #achievement_section .bg1 {
    padding-top: 6.4rem;
    background: url("../../img/service/overseas/map_bg01_pc.png") 0 3rem no-repeat;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section .bg1 {
    padding-top: 8rem;
    background: url("../../img/service/overseas/map_bg01_sp.png") 0 20vw no-repeat;
    background-size: contain;
  }
}

@media (min-width: 769px), print {
  #achievement_section .bg2 {
    padding-top: 6.4rem;
    background: url("../../img/service/overseas/map_bg02_pc.png") 0 3rem no-repeat;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section .bg2 {
    padding-top: 3rem;
    background: url("../../img/service/overseas/map_bg02_sp.png") 0 0 no-repeat;
    background-size: contain;
  }
}

@media (min-width: 769px), print {
  #achievement_section h2 {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section h2 {
    margin-bottom: 3rem;
  }
}

#achievement_section h3 {
  border-top: #000000 1px solid;
  border-bottom: #000000 1px solid;
}
@media (min-width: 769px), print {
  #achievement_section h3 {
    margin-top: 6.4rem;
    padding: 1rem 0;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section h3 {
    margin-top: 8rem;
    padding: 2rem 0;
  }
}

@media (min-width: 769px), print {
  #achievement_section h3 span {
    display: block;
    line-height: 1.667em;
    font-size: min(14.4px, 1.286vw);
  }
}
@media screen and (max-width: 768px) {
  #achievement_section h3 span {
    line-height: 1;
    font-size: 2.6rem;
    white-space: nowrap;
  }
}

@media (min-width: 769px), print {
  #achievement_section h3:nth-of-type(1) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  #achievement_section h3:nth-of-type(1) {
    margin-top: 0;
  }
}

@media (min-width: 769px), print {
  .achievement_section {
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section {
    margin-top: 8rem;
  }
}

@media (min-width: 769px), print {
  .achievement_section.mgn {
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section.mgn {
    margin-top: 3rem;
  }
}

.achievement_section .section_inner {
  overflow: visible;
}

.achievement_section .img_box {
  position: relative;
}
@media (min-width: 769px), print {
  .achievement_section .img_box {
    width: 51rem;
    height: 51rem;
    z-index: 10;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section .img_box {
    width: 50rem;
    height: 50rem;
  }
}

.achievement_section.large .img_box {
  position: relative;
}
@media (min-width: 769px), print {
  .achievement_section.large .img_box {
    width: 64rem;
    height: 38.7rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section.large .img_box {
    width: 64rem;
    height: 43.4rem;
  }
}

.achievement_section .img_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease-out 0.6s all;
}

@media (min-width: 769px), print {
  .achievement_section h4 {
    line-height: 1.455em;
    font-size: min(17.6px, 1.572vw);
    width: 49rem;
    color: #3dae35;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
    border-bottom: #a6aaab solid 1px;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section h4 {
    line-height: 1.648em;
    font-size: 3.4rem;
    color: #3dae35;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
    border-bottom: #a6aaab solid 1px;
  }
}

@media screen and (max-width: 768px) {
  .r_img_sp .img_box {
    margin: 0 0 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .l_img_sp .img_box {
    margin: 0;
  }
}

@media (min-width: 769px), print {
  .achievement_section .txt {
    max-width: 49rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section .txt {
    padding-left: 16rem;
    text-indent: -16rem;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

@media (min-width: 769px), print {
  .achievement_section .txt span {
    display: inline-block;
    width: 1.44rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section .txt span {
    display: inline-block;
    width: 3.2rem;
  }
}

.achievement_section .transparent_box {
  background: rgba(241, 241, 241, 0.8);
}
@media (min-width: 769px), print {
  .achievement_section .transparent_box {
    position: absolute;
    top: 50%;
    left: 40rem;
    width: 2000px;
    transform: translateY(-50%);
    z-index: 5;
    text-align: left;
    padding-left: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .achievement_section .transparent_box {
    position: relative;
    transform: translateY(-6.6vw);
    width: 59rem;
    text-align: left;
  }
}

.achievement_section.large .transparent_box {
  background: rgba(241, 241, 241, 0.8);
}
@media (min-width: 769px), print {
  .achievement_section.large .transparent_box {
    padding-left: 31rem;
  }
}
@media screen and (max-width: 768px) {
  .r_img_sp .transparent_box {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .l_img_sp .transparent_box {
    margin: 0 0 0 5.5rem;
  }
}

#group_section {
  /*background: #f1f1f1;*/
  text-align: center;
}
@media (min-width: 769px), print {
  #group_section {
    /*padding-top:divceil(80*0.8, 10, rem);*/
    padding-bottom: 6.4rem;
  }
}
@media screen and (max-width: 768px) {
  #group_section {
    /*padding-top:divceil(80, 10, rem);*/
    padding-bottom: 8rem;
  }
}

#group_section a {
  background: #fff;
  border: #000 1px solid;
}
@media (min-width: 769px), print {
  #group_section a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4rem 0;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  #group_section a {
    display: block;
    margin-top: 5rem;
    padding: 8rem 4rem 4rem;
  }
}

@media (min-width: 769px), print {
  #group_section a figure {
    width: 40%;
  }
}
@media screen and (max-width: 768px) {
  #group_section a figure {
    width: 100%;
  }
}

#group_section a figure img {
  transition: ease 0.4s all;
}
@media (min-width: 769px), print {
  #group_section a figure img {
    height: 4.4rem;
    width: auto !important;
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #group_section a figure img {
    height: 6.5rem;
    width: auto !important;
    display: block;
    margin: 0 auto;
  }
}

#group_section a div {
  text-align: left;
}
@media (min-width: 769px), print {
  #group_section a div {
    width: 60%;
    padding: 4rem 4rem 4rem 0;
  }
}
@media screen and (max-width: 768px) {
  #group_section a div {
    width: 100%;
    padding: 8rem 0 0;
  }
}

#group_section a h4 {
  display: table;
  position: relative;
  letter-spacing: 0.05em;
  transition: ease 0.4s all;
  font-weight: 700;
}
@media (min-width: 769px), print {
  #group_section a h4 {
    line-height: 1.334em;
    font-size: min(24px, 2.143vw);
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  #group_section a h4 {
    line-height: 1.429em;
    font-size: 4.2rem;
  }
}

#group_section a:hover h4 {
  color: #3dae35;
}

#group_section a .txt {
  transition: ease 0.4s all;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 768px) {
  #group_section a .txt {
    padding-top: 3rem;
  }
}

#group_section a:hover .txt {
  opacity: 0.5;
}

#group_section a:hover figure img {
  transform: scale(1.15);
}

#group_section a h4::after {
  content: "";
  position: absolute;
  background-color: #fff;
  background-image: url("../../img/service/icon_window_black.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
  margin: 0;
  transition: ease 0.4s all;
}
@media (min-width: 769px), print {
  #group_section a h4::after {
    top: 0.6rem;
    width: 1.4rem;
    height: 1.4rem;
    right: -2rem;
  }
}
@media screen and (max-width: 768px) {
  #group_section a h4::after {
    bottom: 2.4rem;
    width: 2.2rem;
    height: 2.2rem;
    right: -3.2rem;
  }
}

#group_section a:hover h4::after {
  background-color: #fff;
  background-image: url("../../img/service/icon_window.svg") !important;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}