@charset "UTF-8";

/* -----------------------------------------------------
	common
----------------------------------------------------- */
* {
  /* 	display: none; */
}
.main_section {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
}

@media screen and (max-width: 1000px) {
  .main_section {
    padding: 12vw 0;
  }
}

@media screen and (max-width: 750px) {
  .main_section {
    padding: 10vw 0;
  }
}

.main_section .inner {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
}

.section_ttl {
  position: relative;
  z-index: 1;
  margin-bottom: 90px;
  font-weight: bold;
  opacity: 0;
}

@media screen and (max-width: 750px) {
  .section_ttl {
    margin-bottom: 12vw;
  }
}

.section_ttl .section_ttl_sub {
  margin-bottom: 24px;
  color: #e50019;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 750px) {
  .section_ttl .section_ttl_sub {
    margin-bottom: 3.2vw;
    font-size: 4.26667vw;
  }
}

.section_ttl .section_ttl_main {
  color: #444444;
  font-size: 33px;
  line-height: 1;
}

@media screen and (max-width: 750px) {
  .section_ttl .section_ttl_main {
    font-size: 5.6vw;
  }
}

.section_ttl.on {
  -webkit-animation: section_ttl 0.8s ease 0s 1 normal both;
  animation: section_ttl 0.8s ease 0s 1 normal both;
}

@-webkit-keyframes section_ttl {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes section_ttl {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

.section_big_txt {
  position: absolute;
  top: 0;
  transition: all 0.5s;
  opacity: 0;
}

/* -----------------------------------------------------
	office
----------------------------------------------------- */
#office {
  margin-top: -120px;
}

@media screen and (max-width: 750px) {
  #office {
    margin-top: -18.66667vw;
  }
}

#office .section_big_txt {
  top: 120px;
  left: -200px;
}

#office .section_big_txt.on {
  left: 0;
  opacity: 1;
}

@media screen and (max-width: 1600px) {
  #office .section_big_txt img {
    width: 7.6875vw;
  }
}

@media screen and (max-width: 750px) {
  #office .section_big_txt {
    top: 0;
    left: -78.8vw;
  }
  #office .section_big_txt img {
    width: 78.8vw;
  }
}

@media screen and (max-width: 750px) {
  #office .section_ttl {
    margin-bottom: 8vw;
  }
}

#office .catch_txt {
  color: #000000;
  font-size: 18px;
}

@media screen and (max-width: 750px) {
  #office .catch_txt {
    font-size: 3.73333vw;
    line-height: 1.85714;
  }
}

#office .map_wrapper {
  position: relative;
  max-width: 750px;
  padding: 0 10px;
  margin: 70px auto 0;
}
@media screen and (max-width: 840px) {
  #office .map_wrapper {
    display: none;
  }
}

#office .map_wrapper .map_line {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 1;
  display: none;
  pointer-events: none;
}

/* #office .map_wrapper .area_datas{
  position: absolute;
  top: 75px !important;
  left: 10px  !important;
  right: auto !important;
  bottom: auto  !important;
  z-index: 3;
  display: none;
  max-width: 330px;
  padding: 25px;
  font-size: 15px;
  line-height: 1.66667;
  text-align: left;
  background: #ffffff;
  border: 1px solid #e50019;
	max-height:300px;
	overflow-y:scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
} */

/*スクロールバー全体*/
#office .map_wrapper .area_datas::-webkit-scrollbar {
  width: 10px;
}

/*スクロールバーの軌道*/
#office .map_wrapper .area_datas::-webkit-scrollbar-track {
  /*   border-radius: 10px; */
  /*   box-shadow: inset 0 0 6px rgba(229,3,27, .1); */
}

/*スクロールバーの動く部分*/
#office .map_wrapper .area_datas::-webkit-scrollbar-thumb {
  background-color: rgba(229, 3, 27, 1);
  /*   border-radius: 10px; */
  /*   box-shadow:0 0 0 1px rgba(255, 255, 255, .3); */
}

#office .map_wrapper .area_datas::-webkit-scrollbar {
  /*     display:none; */
}

#office .map_wrapper .area_datas i {
  position: absolute;
  top: 15px;
  right: 15px;
  color: #e5131a;
  cursor: pointer;
}

#office .map_wrapper .area_datas.active {
  display: block;
}

#office .map_wrapper .area_datas .area_data + .area_data {
  margin-top: 25px;
}

#office .map_wrapper .area_datas .area_data .data_ttl {
  /* margin-bottom: 5px; */
  font-weight: bold;
}
#office .map_wrapper .area_datas .area_data .data_address {
  /* margin-bottom: 5px; */
  /* font-size: 13px; */
  font-size: 11px;
}

#office .map_wrapper .area_datas_hokkaido {
  top: 80px;
  left: 200px;
}

#office .map_wrapper .area_datas_touhoku {
  top: 150px;
  left: 310px;
}

#office .map_wrapper .area_datas_kitakantou {
  top: 160px;
  left: 210px;
}

#office .map_wrapper .area_datas_ibaraki {
  top: 168px;
  right: 0;
}

#office .map_wrapper .area_datas_kitakanto {
  top: 210px;
  left: 200px;
}

#office .map_wrapper .area_datas_tokyo {
  top: 150px;
  left: 180px;
}

#office .map_wrapper .area_datas_hokuriku {
  top: 150px;
  left: 160px;
}

#office .map_wrapper .area_datas_chubu {
  left: 100px;
  top: 160px;
}

#office .map_wrapper .area_datas_osaka {
  left: 100px;
  top: 160px;
}

#office .map_wrapper .area_datas_takamatsu {
  left: 100px;
  top: 160px;
}

#office .map_wrapper .area_datas_hiroshima {
  top: 210px;
  left: 145px;
}

#office .map_wrapper .area_datas_yamaguchi {
  top: -85px;
  left: 0;
  /*   left: 280px; */
}

#office .map_wrapper .area_datas_kyushu {
  top: 220px;
  left: 10px;
}

#office .map_wrapper .area_datas_fukuoka {
  top: 220px;
  left: 0;
}

#office .map_wrapper .area_datas_kagoshima {
  bottom: -85px;
  left: 270px;
}

#office .map_wrapper .area_datas_kumamoto{
  bottom: -85px;
  left: 270px;
}

#office .map_wrapper .area_datas_america {
  top: 130px;
  left: 170px;
}
.page-office_mainbox_flex_info_link {
  font-size: 12px;
}

#office .map_wrapper .area_datas {
  position: absolute;
  bottom: auto !important;
  top: 75px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 3;
  display: none;
  max-width: 330px;
  padding: 25px;
  font-size: 15px;
  line-height: 1.66667;
  text-align: left;
  background: #ffffff;
  border: 1px solid #e50019;
  max-height: 300px;
  overflow-y: scroll;
  scrollbar-base-color: rgb(229, 3, 27);
  scrollbar-arrow-color: rgb(229, 3, 27);
  /* 	scrollbar-3dlight-color: black; */
  scrollbar-track-color: white;
  /* 	-ms-overflow-style: none;
	scrollbar-width: none; */
}

#office .map {
  position: relative;
  width: 542px;
  height: 618px;
  margin-left: auto;
  background: url(../../image/map/map.png) no-repeat center/100% 100%;
}

#office .map .map_pin {
  position: absolute;
  display: block;
  width: 19px;
  height: 28px;
  background: url(../../image/map/map_pin.png) no-repeat center/100% 100%;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  transition: all 0.2s;
  cursor: pointer;
  opacity: 0;
}

#office .map .map_pin.hover {
  -webkit-transform: scale(1.5) !important;
  transform: scale(1.5) !important;
  opacity: 1;
}

#office .map .map_pin._hokkaido {
  top: 15%;
  right: 27.5%;
}

#office .map .map_pin._touhoku {
  top: 45.5%;
  right: 26%;
}

#office .map .map_pin._ibaraki {
  top: 59.5%;
  right: 29%;
}

#office .map .map_pin._kitakanto {
  top: 59%;
  right: 36.5%;
}

#office .map .map_pin._tokyo {
  top: 65.5%;
  right: 35%;
}

#office .map .map_pin._chubu {
  top: 71%;
  right: 52%;
}

#office .map .map_pin._hokuriku {
  top: 59%;
  left: 42.5%;
}

#office .map .map_pin._osaka {
  top: 71%;
  right: 60%;
}

#office .map .map_pin._takamatsu {
  top: 74.7%;
  right: 69%;
}

#office .map .map_pin._hiroshima {
  top: 73%;
  right: 78%;
}

#office .map .map_pin._honsya {
  top: 75%;
  right: 85.5%;
  z-index: 10;
}

#office .map .map_pin._kyusyu {
  top: 79%;
  right: 91.5%;
}
#office .map .map_pin._fukuoka {
  top: 80%;
  right: 94.5%;
}

#office .map .map_pin._kagoshima {
  top: 92%;
  right: 90%;
}

#office .map .map_pin._kumamoto{
  top: 84%;
  right: 94%;
}

#office .map .map_pin._china {
  top: 4%;
  right: 60%;
}

#office .map .map_pin._america {
  bottom: 6%;
  right: 26%;
}

#office .map.on .map_pin[data-pin="1"] {
  -webkit-animation: map_pin 1s ease 0.05s 1 normal both;
  animation: map_pin 1s ease 0.05s 1 normal both;
}

#office .map.on .map_pin[data-pin="2"] {
  -webkit-animation: map_pin 1s ease 0.1s 1 normal both;
  animation: map_pin 1s ease 0.1s 1 normal both;
}

#office .map.on .map_pin[data-pin="3"] {
  -webkit-animation: map_pin 1s ease 0.15s 1 normal both;
  animation: map_pin 1s ease 0.15s 1 normal both;
}

#office .map.on .map_pin[data-pin="4"] {
  -webkit-animation: map_pin 1s ease 0.2s 1 normal both;
  animation: map_pin 1s ease 0.2s 1 normal both;
}

#office .map.on .map_pin[data-pin="5"] {
  -webkit-animation: map_pin 1s ease 0.25s 1 normal both;
  animation: map_pin 1s ease 0.25s 1 normal both;
}

#office .map.on .map_pin[data-pin="6"] {
  -webkit-animation: map_pin 1s ease 0.3s 1 normal both;
  animation: map_pin 1s ease 0.3s 1 normal both;
}

#office .map.on .map_pin[data-pin="7"] {
  -webkit-animation: map_pin 1s ease 0.35s 1 normal both;
  animation: map_pin 1s ease 0.35s 1 normal both;
}

#office .map.on .map_pin[data-pin="8"] {
  -webkit-animation: map_pin 1s ease 0.4s 1 normal both;
  animation: map_pin 1s ease 0.4s 1 normal both;
}

#office .map.on .map_pin[data-pin="9"] {
  -webkit-animation: map_pin 1s ease 0.45s 1 normal both;
  animation: map_pin 1s ease 0.45s 1 normal both;
}

#office .map.on .map_pin[data-pin="10"] {
  -webkit-animation: map_pin 1s ease 0.5s 1 normal both;
  animation: map_pin 1s ease 0.5s 1 normal both;
}

#office .map.on .map_pin[data-pin="11"] {
  -webkit-animation: map_pin 1s ease 0.55s 1 normal both;
  animation: map_pin 1s ease 0.55s 1 normal both;
}

#office .map.on .map_pin[data-pin="12"] {
  -webkit-animation: map_pin 1s ease 0.6s 1 normal both;
  animation: map_pin 1s ease 0.6s 1 normal both;
}

#office .map.on .map_pin[data-pin="13"] {
  -webkit-animation: map_pin 1s ease 0.65s 1 normal both;
  animation: map_pin 1s ease 0.65s 1 normal both;
}

#office .map.on .map_pin[data-pin="14"] {
  -webkit-animation: map_pin 1s ease 0.7s 1 normal both;
  animation: map_pin 1s ease 0.7s 1 normal both;
}
#office .map.on .map_pin[data-pin="15"] {
  -webkit-animation: map_pin 1s ease 0.75s 1 normal both;
  animation: map_pin 1s ease 0.75s 1 normal both;
}
#office .map.on .map_pin[data-pin="16"] {
  -webkit-animation: map_pin 1s ease 0.8s 1 normal both;
  animation: map_pin 1s ease 0.8s 1 normal both;
}
#office .map.on .map_pin[data-pin="17"] {
  -webkit-animation: map_pin 1s ease 0.8s 1 normal both;
  animation: map_pin 1s ease 0.8s 1 normal both;
}


@-webkit-keyframes map_pin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes map_pin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#office .map .map_pin_name {
  position: absolute;
  z-index: 2;
  display: block;
  /* font-size: 13px; */
  font-size: 11px;
  line-height: 1.4;
  /*   background: #ffffff; */
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  transition: all 0.2s;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#office .map .map_pin_name.hover {
  color: #e50019;
}

#office .map .map_pin_name.hover.hover_up {
  -webkit-transform: translateY(-15px);
  transform: translateY(-15px);
}

#office .map .map_pin_name._hokkaido {
  top: 19.7%;
  right: 21%;
}

#office .map .map_pin_name._touhoku {
  /* top: 46.5%; */
  top: 42.5%;
  right: 15.5%;
}

#office .map .map_pin_name._ibaraki {
  top: 60.5%;
  /* right: 15.5%; */
  right: 13.5%;
}

#office .map .map_pin_name._kitakanto {
  top: 56%;
  /* right: 31%; */
  right: 22%;
}

#office .map .map_pin_name._tokyo {
  /*   top: 66.5%;
  right: 22%; */
  top: 70.5%;
  right: 23.5%;
}

#office .map .map_pin_name._chubu {
  /*   top: 72%;
  right: 39%; */
  top: 76%;
  right: 38%;
}

#office .map .map_pin_name._hokuriku {
  top: 64%;
  /* left: 37%; */
  left: 32%;
}

#office .map .map_pin_name._osaka {
  /* top: 76%;
  right: 56%; */
  top: 68%;
  right: 51%;
}

#office .map .map_pin_name._takamatsu {
  top: 80%;
  right: 55%;
}

#office .map .map_pin_name._hiroshima {
  /* top: 70.2%;
  right: 70%; */
  top: 70.2%;
  right: 65%;
}

#office .map .map_pin_name._honsya {
  /* top: 68%; */
  bottom: 25%;
  /* left: 20px;
	z-index:10; */
  left: -17px;
  z-index: 1;
}

#office .map .map_pin_name._kyusyu {
  top: 76.5%;
  left: -9%;
}

#office .map .map_pin_name._fukuoka {
  top: 82%;
  left: -21%;
}

#office .map .map_pin_name._kagoshima {
  top: 93%;
  left: -13.5%;
}

#office .map .map_pin_name._kumamoto{
  top: 89%;
  left: -15.5%;
}

#office .map .map_pin_name._china {
  top: 9%;
  right: 50%;
  text-align: left;
}

#office .map .map_pin_name._america {
  bottom: 11.5%;
  right: 0%;
  /*   text-align: left; */
}

#office .map_wrapper_sp {
  display: none;
}

@media screen and (max-width: 840px) {
  #office .map_wrapper_sp {
    position: relative;
    display: block;
    padding-bottom: 21.33333vw;
    margin-top: 13.33333vw;
    text-align: left;
    background: url(../../image/map/sp/map_wrapper_bg.png) no-repeat center
      top/contain;
  }
  #office .map_wrapper_sp .area_wrapper {
    padding: 0 5.33333vw;
  }
  #office .map_wrapper_sp .area_wrapper + .area_wrapper {
    margin-top: 6rem;
  }
  #office .map_wrapper_sp .area_wrapper .area_ttl {
    padding-bottom: 2.4rem;
    margin-bottom: 2rem;
    color: #e50019;
    font-size: 26px;
    font-weight: bold;
    border-bottom: 1px solid #bfbfbf;
  }
  #office .map_wrapper_sp .base_box + .base_box {
    margin-top: 2.4rem;
  }
  #office .map_wrapper_sp .base_box .base_name {
    margin-bottom: 1.33333vw;
    color: #000000;
    font-size: 18px;
    font-weight: bold;
  }
  #office .map_wrapper_sp .base_box .base_address {
    font-size: 14px;
  }
  #office .map_wrapper_sp .accord_content {
    display: none;
    padding-top: 3.73333vw;
  }
  #office .map_wrapper_sp .accord_btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    /* width: 89.33333vw; */
    width: 100%;
    max-width: 360px;
    padding: 16px;
    color: #ffffff;
    /* font-size: 4.26667vw; */
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    background: #e50019;
    border-radius: 10rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    cursor: pointer;
  }
  #office .map_wrapper_sp .accord_btn::hover {
    cursor: pointer;
  }
  #office .map_wrapper_sp .accord_btn .close {
    display: inline;
  }
  #office .map_wrapper_sp .accord_btn .open {
    display: none;
  }
  #office .map_wrapper_sp .accord_btn.open .close {
    display: none;
  }
  #office .map_wrapper_sp .accord_btn.open .open {
    display: inline;
  }
  #office .map_wrapper_sp .accord_btn.open::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  #office .map_wrapper_sp .accord_btn::after {
    position: absolute;
    top: 50%;
    right: 5.33333vw;
    display: block;
    width: 5.6vw;
    height: 3.33333vw;
    content: "";
    background: url(../../image/map/sp/accord_arrow.png) no-repeat center/100%
      100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: 0.3s;
  }
}

@media screen and (max-width: 480px) {
  #office .map_wrapper_sp .accord_btn {
    font-size: 16px;
  }
}

/* -----------------------------------------------------
	modal
----------------------------------------------------- */
.modal_wrapper .modal_content_wrapper {
  max-height: 80vh;
  padding: 60px 50px;
  overflow: auto;
}

@media screen and (max-width: 1176px) {
  .modal_wrapper .modal_content_wrapper {
    padding: 5.10204vw 4.2517vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content_wrapper {
    padding: 0 5.33333vw 0 0;
  }
}

.modal_wrapper .modal_content {
  text-align: left;
}

.modal_wrapper .modal_content .coming_soon {
  color: #e50019;
  font-size: 48px;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .coming_soon {
    font-size: 8.53333vw;
  }
}

.modal_wrapper .modal_content .coming_soon_txt {
  margin-top: 30px;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .coming_soon_txt {
    margin-bottom: 6.66667vw;
    font-size: 4.26667vw;
  }
}

.modal_wrapper .modal_content .modal_content_sub_ttl {
  color: #333333;
  font-size: 16px;
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_sub_ttl {
    font-size: 3.2vw;
  }
}

.modal_wrapper .modal_content .modal_content_ttl {
  font-size: 33px;
}

.modal_wrapper .modal_content .modal_content_ttl .ruby {
  font-size: 16px;
  vertical-align: middle;
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_ttl {
    font-size: 5.6vw;
  }
  .modal_wrapper .modal_content .modal_content_ttl .ruby {
    font-size: 3.2vw;
  }
}

.modal_wrapper .modal_content .modal_content_box {
  align-items: center;
  display: flex;
  margin-top: 70px;
}

@media screen and (max-width: 1176px) {
  .modal_wrapper .modal_content .modal_content_box {
    margin-top: 5.95238vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box {
    flex-wrap: wrap;
    margin-top: 5.33333vw;
  }
}

.modal_wrapper .modal_content .modal_content_box .box_img {
  width: 460px;
}

@media screen and (max-width: 1176px) {
  .modal_wrapper .modal_content .modal_content_box .box_img {
    width: 39.11565vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box .box_img {
    order: 0;
    width: 100%;
    margin-bottom: 5.33333vw;
  }
  .modal_wrapper .modal_content .modal_content_box .box_img img {
    width: 100%;
  }
}

.modal_wrapper .modal_content .modal_content_box .box_txt_wrapper {
  flex: 1;
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box .box_txt_wrapper {
    flex: 0 1 auto;
    order: 1;
    width: 100%;
  }
}

.modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_ttl {
  margin-bottom: 10px;
  color: #e50019;
  font-size: 25px;
}

@media screen and (max-width: 1000px) {
  .modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_ttl {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_ttl {
    margin-bottom: 1.33333vw;
    font-size: 4vw;
  }
}

.modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_txt {
  font-size: 16px;
  line-height: 2.125;
}

.modal_wrapper
  .modal_content
  .modal_content_box
  .box_txt_wrapper
  .box_txt
  .big {
  font-size: 20px;
  font-weight: bold;
  line-height: 2.5;
}

.modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_txt .q {
  color: #e50019;
  font-size: 18px;
}

@media screen and (max-width: 1000px) {
  .modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_txt {
    font-size: 1.6vw;
  }
  .modal_wrapper
    .modal_content
    .modal_content_box
    .box_txt_wrapper
    .box_txt
    .big {
    font-size: 2vw;
  }
  .modal_wrapper
    .modal_content
    .modal_content_box
    .box_txt_wrapper
    .box_txt
    .q {
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box .box_txt_wrapper .box_txt {
    font-size: 3.46667vw;
  }
  .modal_wrapper
    .modal_content
    .modal_content_box
    .box_txt_wrapper
    .box_txt
    .big {
    font-size: 4.26667vw;
  }
  .modal_wrapper
    .modal_content
    .modal_content_box
    .box_txt_wrapper
    .box_txt
    .q {
    font-size: 3.86667vw;
  }
}

.modal_wrapper .modal_content .modal_content_box div + div {
  margin-left: 40px;
}

@media screen and (max-width: 1176px) {
  .modal_wrapper .modal_content .modal_content_box div + div {
    margin-left: 3.40136vw;
  }
}

@media screen and (max-width: 750px) {
  .modal_wrapper .modal_content .modal_content_box div + div {
    margin-left: 0;
  }
}
