@charset "utf-8";

*,
*::before,
*::after {
   margin: 0;
   padding: 0;
   outline: 0;
   border: none;
   text-decoration: none;
   list-style: none;
   font-style: normal;
   box-sizing: border-box;
   -webkit-box-sizing: border-box;
}


body {
   color: #000;
   font-size: 16px;
   font-weight: 500;
   font-family: Arial,
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      "Meiryo",
      sans-serif;
}


.event_none {
   pointer-events: none;
}

/* header css */
header {
   position: fixed;
   top: 0;
   left: 0;
   z-index: 100;
   width: 100%;
   transform: translateY(0%);
   transition: transform .4s ease;
   -webkit-overflow-scrolling: auto;
}

.header__unpinned {
   transform: translateY(-150%);
}

.header_wrapper {
   max-width: 1200px;
   margin: 0 auto;
   padding: 10px 20px;
}

.header_wrapper,
.nav_area,
.nav_menu,
.footer_wrapper,
.footer_nav,
.pickup_contents,
.pickup_item,
.service_contents,
.area_box.access,
.phone_form_box,
.company_info_box,
.exterior_box {
   display: flex;
   align-items: center;
}

.pickup_item {
   flex-direction: column;
   justify-content: center;
}

.logo_area {
   width: 100px;
}

.logo {
   width: 100%;
}

.nav_area {
   margin: 0 0 0 auto;
}

.nav_menu_item,
.access_item {
   margin-left: 20px;
}

.menu_item_link {
   color: inherit;
   font-size: inherit;
}

.access_icon {
   font-size: 2.0rem;
}

/* bottom navigation css */
.global_menu_area {
   display: none;
}

/* first view css */
.fv_area {
   position: relative;
   width: 100%;
}

.slider {
   position: relative;
   z-index: 1;
   height: 100vh;
}

.slider-item {
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}

.slider-item01 {
   background-image: url("../img/fv/fv04.jpg");
}

.slider-item02 {
   background-image: url("../img/fv/fv02.jpg");
}

.slider-item03 {
   background-image: url("../img/fv/fv03.jpg");
}

.slider-item04 {
   background-image: url("../img/fv/fv04.jpg");
}

.slider-item05 {
   background-image: url("../img/fv/recruit_img_fv.jpg");
}

.slider-item06 {
   background-position: bottom;
   background-image: url("../img/fv/contact_img_fv.jpg");
}

.fv_title {
   position: absolute;
   z-index: 2;
   top: 50%;
   left: 10%;
   transform: translate(-10%, -50%);
   background-color: rgba(0, 86, 157, .25);
   padding: 30px;
}

.fv_title.sub_page {
   position: absolute;
   z-index: 2;
   top: 50%;
   left: 0;
   transform: translate(0, -50%);
   background-color: rgba(0, 86, 157, .25);
   padding: 30px 100px;
}

.fv_title_text {
   white-space: nowrap;
   font-size: 4rem;
   letter-spacing: 10px;
   color: #fff;
   text-align: center;
}

.fv_sub_text {
   font-size: 1.5rem;
   letter-spacing: 2px;
   color: #fff;
   text-align: center;
   padding-bottom: 10px;
}

/* main container css */
.main_wrapper {
   width: 100%;
   max-width: 1300px;
   margin: 0 auto;
   padding: 0 10px;
}

section {
   margin-top: 80px;
}

.title {
   padding: 0 0 10px 30px;
   border-bottom: 3px solid #000;
   border-left: 3px solid #000;
}

/* infomation css */
.top_message {
   width: 80%;
   margin: 60px auto;
}

.top_message_text {
   font-weight: 100;
   font-size: 14px;
   text-align: center;
   text-decoration: underline;
   text-decoration-color: #00569D;
   text-decoration-thickness: 3px;
}


.infomation_area {
   width: 80%;
   border: 2px solid rgb(248, 165, 165);
   border-radius: 20px;
   margin: 80px auto;
}

.infomation_title {
   width: 100%;
   background-color: rgb(248, 165, 165);
   border-radius: 20px 20px 0 0;
   padding: 10px 20px;
   color: #fff;
   font-size: 1.2rem;
   font-weight: 700;
}

.infomation_contents {
   padding: 30px;
}

.content_wrapper {
   margin-bottom: 30px;
}

.content_wrapper:last-child {
   margin-bottom: 0;
}

.content_day {
   font-size: .8rem;
   padding-bottom: 10px;
}

.content_title {
   font-size: 1.0rem;
   padding-bottom: 10px;
}

.content_text {
   font-size: .9rem;
}

@media screen and (max-width:780px) {

   /* infomation css */
   .infomation_area {
      width: 90%;
   }

   .infomation_contents {
      padding: 15px;
   }

   .content_day {
      font-size: .7rem;
   }
}

/* pickup css */
.area_box {
   margin: 30px 0;
}

.phone_form_box {
   flex-wrap: wrap;
   justify-content: center;
}

.pickup_contents {
   justify-content: center;
}

.pickup_item {
   width: 250px;
   padding: 10px;
   margin: 0 10px;
}

.content_img {
   width: 100%;
   height: 200px;
   object-fit: cover;
}

.text_box {
   width: 100%;
   margin-top: 10px;
}

.content_type_text span {
   border-radius: 20px;
   padding: 5px 10px;
}

.type_rent {
   color: rgb(248, 165, 165);
   border: 1px solid rgb(248, 165, 165);

}

.type_buy {
   color: #00569D;
   border: 1px solid #00569D;
}

.content_type_text,
.content_name,
.content_cost,
.content_station {
   padding: 5px 0;
   font-size: .8rem;
}

.timestamp {
   font-size: .8rem;
   text-align: right;
   padding-top: 5px;
}

.btn_link {
   width: 100%;
   text-align: center;
}

.tosite_btn {
   width: 200px;
   margin: 10px auto;
   height: 30px;
   background-color: #fff;
   border: 2px solid #00569D;
   border-radius: 20px;
   padding: 5px;
   color: #00569D;
   cursor: pointer;
   font-size: 1.0rem;
   font-weight: 600;
   line-height: 15px;
}

/* service css */
.service_contents {
   justify-content: center;
}

.service_item {
   position: relative;
   width: 45%;
   padding: 10px;
   margin: 10px 20px;
}

.service_title_en {
   width: 100px;
   height: 100px;
   background-color: #00569D;
   position: absolute;
   top: 70px;
   left: 10px;
   color: #fff;
   text-align: center;
   line-height: 100px;
}

.service_img {
   width: 80%;
   height: 200px;
   margin: auto;
   background-repeat: no-repeat;
   background-size: cover;
}

.service_img.rent {
   background-image: url("../img/girl_rent_apartment.jpg");
   background-position: top;
}

.service_img.buy {
   background-image: url("../img/family_buy_house.jpg");
   background-position: top;
}

.service_img.lease {
   background-image: url("../img/owner_lease_apartment.jpg");
   background-position: bottom;
}

.service_img.sell {
   background-image: url("../img/owner_buy_house.jpg");
   background-position: center;
}

.black_bg {
   width: 100%;
   height: 100%;
   background-color: rgb(0, 0, 0, .3);
}

.service_title {
   color: #fff;
   font-size: 1.3rem;
   font-weight: 600;
   padding: 60px 0 0 100px;
   z-index: 1;
}

.service_text {
   color: #fff;
   font-size: .8rem;
   font-weight: 500;
   padding: 10px 30px 0 100px;
   z-index: 1;
}

.to_corporate {
   width: 100%;
   text-align: center;
   margin-top: 30px;
}

.to_corporate_btn {
   width: 250px;
   background-color: #00569D;
   padding: 10px 20px;
   color: #fff;
   font-weight: 700;
   text-align: center;
   line-height: 30px;
   cursor: pointer;
}

/* access css */
.area_box.access {
   justify-content: center;
}

.access_info {
   width: 50%;
   padding: 20px;
}

.gmap_box {
   width: 50%;
   height: 350px;
   padding: 20px;
}

.exterior_item {
   width: 50%;
   margin: 0 auto;
   text-align: center;
}

.exterior_img {
   width: 100%;
   height: 400px;
   object-fit: contain;
}

@media screen and (max-width:780px) {
   .exterior {
      width: 100%;
   }

   .exterior_item {
      width: 100%;
      padding: 20px;
      margin: 0 auto;
   }

   .sp_none {
      display: none;
   }

   .exterior_img {
      height: 350px;
   }

   .area_box.access {
      margin: 30px 0 10px 0;
   }
}



.access_table,
.company_table {
   width: 100%;
   border-collapse: collapse;
}

.access_table tr,
.company_table tr {
   border-bottom: solid 2px white;
}

.access_table tr:last-child,
.company_table tr:last-child {
   border-bottom: none;
}

.access_table th,
.company_table th {
   font-size: .8rem;
   position: relative;
   width: 25%;
   background-color: #00569D;
   color: white;
   text-align: center;
   padding: 20px;
}

.access_table th:after,
.company_table th:after {
   display: block;
   content: "";
   width: 0px;
   height: 0px;
   position: absolute;
   top: calc(50% - 10px);
   right: -10px;
   border-left: 10px solid #00569D;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
}

.access_table td,
.company_table td {
   font-size: .8rem;
   text-align: left;
   width: 75%;
   background-color: #eee;
   padding: 20px 10px 20px 30px;
}

.blod_text {
   font-size: .7rem;
   font-weight: 600;
}

/* contact css */
.phone_num,
.open_close,
.contact_to_form {
   text-align: center;
}

.contact_msg {
   color: #000;
   font-size: 1.1rem;
   font-weight: 500;
   width: 70%;
   margin: 0 auto 30px;
   text-align: center;
}

.phone_num a,
.contact_to_form a {
   color: #00569D;
   font-size: 1.3rem;
   letter-spacing: 3px;
   font-weight: 700;
   padding: 0 30px;
}

.open_close {
   color: #000;
   font-size: .6rem;
}

/* footer css */
footer {
   width: 100%;
   max-width: 1300px;
   margin: 0 auto;
   height: 70px;
}

.footer_wrapper {
   padding: 20px;
   border-top: 3px solid #000;
}

.footer_title,
.nav_item_link {
   color: #666;
   font-size: 1.0rem;
   font-weight: 500;
}

.footer_nav {
   margin: 0 0 0 auto;
}

.footer_nav_item {
   padding: 0 20px;
}

.footer_nav_item:last-child {
   border-left: 1px solid rgb(180, 180, 180);
}

/* company info css */
.company_info_box {
   margin-top: 30px;
}

.company_info {
   width: 60%;
   padding: 20px;
}

.picture_box {
   width: 40%;
   padding: 20px;
   text-align: center;
}

.office_img {
   width: 70%;
   padding: 20px;
}

/* message css */
.owner_msg,
.owner_name {
   color: #000;
   font-size: 1.0rem;
   font-weight: 500;
   width: 60%;
   margin: 30px auto;
   line-height: 1.8;
}

.owner_name {
   text-align: right;
}

/* recruit css */
.recruit_box {
   width: 80%;
   margin: 0 auto;
}

.new_recruit,
.mid_recruit {
   margin: 50px 0;
}

.recruit_title {
   width: 150px;
   margin-bottom: 20px;
   padding: 10px;
   color: #fff;
   font-size: 1.1rem;
   white-space: nowrap;
   border-radius: 10px;
   font-weight: 700;
   text-align: center;
}

.recruit_title.new {
   background-color: #FFB1B1;
}

.recruit_title.mid_recruit {
   background-color: #00569D;
}

.recruit_table {
   width: 100%;
   border-collapse: collapse;
}

.recruit_table tr {
   border-bottom: solid 2px #666;
}

.recruit_table tr:first-child {
   border-top: solid 2px #666;
}

.recruit_table th {
   font-size: .8rem;
   position: relative;
   width: 25%;
   background-color: #fff;
   color: #000;
   text-align: center;
   padding: 20px;
}


.recruit_table td {
   font-size: .8rem;
   text-align: left;
   width: 75%;
   background-color: #fff;
   padding: 20px 10px 20px 30px;
}


@media screen and (min-width:780px) and (max-width:1080px) {

   /* pickup css */
   .pickup_contents {
      flex-wrap: wrap;
   }

   .pickup_item {
      width: 330px;
      margin: 0 20px;
   }

   .text_box {
      width: 100%;
      height: 150px;
   }

}


@media screen and (max-width:780px) {

   /* header css */
   .logo_area {
      width: 70px;
   }

   .nav_menu {
      display: none;
   }

   .access_icon {
      color: #000;
      font-size: 1.5rem;
   }

   /* bottom navigation css */
   .global_menu_area {
      display: block;
   }

   /* flexbox */
   .global_menu_left,
   .global_menu_right,
   .bottom_menu_area,
   .picture_box {
      display: flex;
      align-items: center;
   }

   .global_menu_right,
   .company_info_box {
      flex-direction: column;
      justify-content: center;
   }

   .global_menu_area {
      position: relative;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      z-index: 150;
   }

   .bottom_menu_area {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 60px;
      background-color: #00569D;
      padding: 10px;
      z-index: 200;
   }

   /* global left */
   .global_menu_left {
      margin-left: 20px;
   }

   .menu_title_text {
      color: #fff;
      font-size: .8rem;
      font-weight: 600;
   }

   /* global right */
   .global_menu_right {
      width: 60px;
      margin-left: auto;
   }

   .nav_line {
      position: relative;
      width: 30px;
      height: 20px;
      cursor: pointer;
   }

   .menu_text {
      color: #fff;
      font-size: .6rem;
      margin-top: 5px;
   }

   .line {
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: #fff;
      border-radius: 20px;
   }

   .line_up {
      animation: line_up .75s forwards;
   }

   .line_center {
      top: 9px;
      opacity: 1;
   }

   .line_bottom {
      bottom: 0;
      animation: line_bottom .75s forwards;
   }

   .active .line_up {
      animation: active_line_up .75s forwards;
   }

   .active .line_center {
      opacity: 0;
      transition: opacity .5s;
   }

   .active .line_bottom {
      animation: active_line_bottom .75s forwards;
   }

   /* global menu */
   .global_menu_navi {
      position: fixed;
      top: 0;
      right: -100%;
      width: 100%;
      height: 100%;
      background-color: #00569D;
      opacity: 0;
      z-index: 150;
      transition: .5s;
   }

   .active .global_menu_navi {
      right: 0;
      opacity: 1;
   }

   .global_menu {
      text-align: center;
      padding-top: 20%;
      margin: 0 30px;
   }

   .global_menu_item {
      box-sizing: border-box;
      width: 100%;
      padding: 30px 0;
      border-bottom: 1px solid #fff;
   }

   .menu_item_link {
      color: #fff;
      font-size: 1.2rem;
      font-weight: 800;
      letter-spacing: 10px;
   }

   /* first view */
   .fv_title {
      left: 50%;
      transform: translate(-50%, -50%);
      padding: 20px;
   }

   .fv_title_text {
      font-size: 1.5rem;
      letter-spacing: 5px;
      color: #fff;
   }

   .fv_title.sub_page {
      left: 50%;
      transform: translate(-50%, -50%);
   }

   .fv_sub_text {
      font-size: .8rem;
   }

   /* pickup css */
   .pickup_item {
      width: 230px;
      padding: 0px;
      margin: 10px;
   }

   .content_img {
      height: 150px;
   }

   .text_box {
      width: 100%;
      height: 150px;
   }

   .content_type_text span {
      font-size: .8rem;
   }

   .timestamp {
      font-size: .7rem;
   }

   .tosite_btn {
      width: 100px;
      margin: 10px auto;
      background-color: #fff;
      border: 2px solid #00569D;
      border-radius: 10px;
      padding: 5px;
      color: #00569D;
      font-size: .8rem;
      font-weight: 600;
      line-height: 10px;
   }

   /* service css */
   .service_contents,
   .area_box.access,
   .pickup_contents {
      flex-wrap: wrap;
   }

   .service_title_en,
   .service_title {
      font-size: 1.0rem;
   }

   .service_item {
      position: relative;
      width: 100%;
      padding: 0;
      margin: 20px 0;
   }

   /* access css */
   .contact_msg {
      width: 90%;
   }

   .contact_msg br {
      display: none;
   }

   .access_info,
   .gmap_box {
      width: 100%;
   }

   .contact_to_form {
      margin-top: 20px;
   }

   /* contact css */
   .contact_area {
      margin-bottom: 80px;
   }

   .contact_msg {
      font-size: 1.0rem;
   }

   .phone_num a,
   .contact_to_form a {
      font-size: 1.1rem;
   }

   /* footer css */
   footer {
      display: none;
   }

   /* company info css */
   .company_info_box {
      margin-top: 30px;
   }

   .company_info {
      width: 100%;
      padding: 0 20px;
   }

   .picture_box {
      width: 100%;
      padding: 0;
      text-align: center;
   }

   .office_img {
      width: 50%;
      padding: 20px;
   }

   .owner_msg {
      width: 100%;
      padding: 20px;
      margin-bottom: 0;
   }

   .owner_name {
      width: 100%;
      padding: 0 20px;
      margin: 0;
   }

   /* recruit css */
   .recruit_box {
      width: 100%;
   }

   .recruit_table th {
      padding: 10px;
   }

   .recruit_table td {
      padding: 20px 10px 20px 20px
   }

   .recruit_title {
      margin: 0 auto;
      margin-bottom: 20px;
      font-size: 1.0rem;
   }

   .recruit_text {
      text-align: center;
   }
}

@media screen and (max-width:499px) {
   .pickup_item {
      width: 140px;
      padding: 0px;
      margin: 10px;
   }

   .text_box {
      width: 100%;
      height: 200px;
   }
}