@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: .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 .8s ease 0s 1 normal both;
          animation: section_ttl .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 .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;
}

#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_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 .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: 76%;
  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._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 .05s 1 normal both;
          animation: map_pin 1s ease .05s 1 normal both;
}

#office .map.on .map_pin[data-pin="2"]{
  -webkit-animation: map_pin 1s ease .1s 1 normal both;
          animation: map_pin 1s ease .1s 1 normal both;
}

#office .map.on .map_pin[data-pin="3"]{
  -webkit-animation: map_pin 1s ease .15s 1 normal both;
          animation: map_pin 1s ease .15s 1 normal both;
}

#office .map.on .map_pin[data-pin="4"]{
  -webkit-animation: map_pin 1s ease .2s 1 normal both;
          animation: map_pin 1s ease .2s 1 normal both;
}

#office .map.on .map_pin[data-pin="5"]{
  -webkit-animation: map_pin 1s ease .25s 1 normal both;
          animation: map_pin 1s ease .25s 1 normal both;
}

#office .map.on .map_pin[data-pin="6"]{
  -webkit-animation: map_pin 1s ease .3s 1 normal both;
          animation: map_pin 1s ease .3s 1 normal both;
}

#office .map.on .map_pin[data-pin="7"]{
  -webkit-animation: map_pin 1s ease .35s 1 normal both;
          animation: map_pin 1s ease .35s 1 normal both;
}

#office .map.on .map_pin[data-pin="8"]{
  -webkit-animation: map_pin 1s ease .4s 1 normal both;
          animation: map_pin 1s ease .4s 1 normal both;
}

#office .map.on .map_pin[data-pin="9"]{
  -webkit-animation: map_pin 1s ease .45s 1 normal both;
          animation: map_pin 1s ease .45s 1 normal both;
}

#office .map.on .map_pin[data-pin="10"]{
  -webkit-animation: map_pin 1s ease .5s 1 normal both;
          animation: map_pin 1s ease .5s 1 normal both;
}

#office .map.on .map_pin[data-pin="11"]{
  -webkit-animation: map_pin 1s ease .55s 1 normal both;
          animation: map_pin 1s ease .55s 1 normal both;
}

#office .map.on .map_pin[data-pin="12"]{
  -webkit-animation: map_pin 1s ease .6s 1 normal both;
          animation: map_pin 1s ease .6s 1 normal both;
}

#office .map.on .map_pin[data-pin="13"]{
  -webkit-animation: map_pin 1s ease .65s 1 normal both;
          animation: map_pin 1s ease .65s 1 normal both;
}

#office .map.on .map_pin[data-pin="14"]{
  -webkit-animation: map_pin 1s ease .7s 1 normal both;
          animation: map_pin 1s ease .7s 1 normal both;
}
#office .map.on .map_pin[data-pin="15"]{
  -webkit-animation: map_pin 1s ease .75s 1 normal both;
          animation: map_pin 1s ease .75s 1 normal both;
}
#office .map.on .map_pin[data-pin="16"]{
  -webkit-animation: map_pin 1s ease .8s 1 normal both;
          animation: map_pin 1s ease .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;
  line-height: 1.4;
  background: #ffffff;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  transition: all .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%;
  right: 15.5%;
}

#office .map .map_pin_name._ibaraki{
  top: 60.5%;
  right: 15.5%;
}

#office .map .map_pin_name._kitakanto{
  top: 56%;
  right: 31%;
}

#office .map .map_pin_name._tokyo{
/*   top: 66.5%;
  right: 22%; */
top: 70.5%;
    right: 31.5%;
}

#office .map .map_pin_name._chubu{
/*   top: 72%;
  right: 39%; */
    top: 76%;
    right: 44%;

}

#office .map .map_pin_name._hokuriku{
  top: 64%;
  left: 37%;
}

#office .map .map_pin_name._osaka{
  top: 76%;
  right: 56%;
}

#office .map .map_pin_name._takamatsu{
  top: 81%;
  right: 64%;
}

#office .map .map_pin_name._hiroshima{
  top: 70.2%;
  right: 70%;
}

#office .map .map_pin_name._honsya{
  /* top: 68%; */
  bottom: 25%;
	left: 20px;
	z-index:10;
}

#office .map .map_pin_name._kyusyu{
  top: 75.5%;
  left: -2%;
}

#office .map .map_pin_name._fukuoka{
    top: 81%;
    left: -11%;
}

#office .map .map_pin_name._kagoshima{
  top: 93%;
  left: -9.5%;
}

#office .map .map_pin_name._china{
  top: 9%;
  right: 50%;
  text-align: left;
}

#office .map .map_pin_name._america{
	bottom: 10.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: .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;
  }
}
