@charset "UTF-8";
/*--------------------------------------------------------

page_kv START

--------------------------------------------------------*/
.page_kv .kv_text {
  margin: 0;
  top: 170px;
  left: 10%;
}
@media only screen and (max-width: 768px) {
  .page_kv .kv_text {
    left: 10%;
    width: 80%;
  }
}
/*--------------------------------------------------------

menu START

--------------------------------------------------------*/
.menu {
  max-width: 1000px;
  margin: 70px auto 0;
  padding: 16px 60px;
  display: flex;
  justify-content: space-between;
  z-index: 999;
  position: relative;
  background: #fff;
  border-radius: 100px;
}
.menu_short {
  max-width: 900px;
  padding: 16px 100px;
}
@media only screen and (max-width: 768px) {
  .menu {
    margin: 80px auto 0;
    padding: 0;
    border-radius: 0;
    white-space: nowrap;
    overflow-x: scroll;
    scrollbar-width: none;
  }
  .menu li a {
    display: block;
    width: 100%;
    background: #fff;
    padding: 10px 20px;
    border-radius: 0;
    font-size: 14px;
  }
}
/*--------------------------------------------------------

page_nokv START

--------------------------------------------------------*/
.page_nokv {
  padding-top: 100px;
}
.page_nokv .menu {
  margin-top: 0;
  background: #f7f7f7;
}
@media only screen and (max-width: 768px) {
  .page_nokv {
    padding-top: 80px;
  }
  .page_nokv .menu {
    margin-top: 0;
    background: none;
  }
  .page_nokv .menu li a {
    background: #f7f7f7;
  }
}
/*--------------------------------------------------------

breadcrumb START

--------------------------------------------------------*/
ul.breadcrumb {
  max-width: 1200px;
  margin: 20px auto 0;
}
ul.breadcrumb li {
  display: inline-block;
  margin-right: 20px;
  font-size: 12px;
  position: relative;
}
ul.breadcrumb li a {
  color: #e37561;
  position: relative;
}
ul.breadcrumb li i {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 1px #555;
  border-right: solid 1px #555;
  transform: rotate(45deg);
  position: absolute;
  right: -14px;
  top: 1em;
  margin-top: -0.3em;
}
/* /////////// SP版 パンくず START /////////// */
@media only screen and (max-width: 768px) {
  ul.breadcrumb {
    max-width: 90%;
  }
}
/*--------------------------------------------------------
  
  jobs kv START
  
  --------------------------------------------------------*/
#page_jobs .intro_bg {
  background: #fff8e8;
}
#page_jobs .kv_bg_t {
  left: 5%;
  width: 45%;
  height: 49%;
  background: url(../img/jobs/kv_t.jpg) center/cover;
}
#page_jobs .kv_bg_b {
  top: 54%;
  left: 5%;
  width: 45%;
  height: 46%;
  background: url(../img/jobs/kv_b.jpg) center/cover;
}
#page_jobs .kv_bg_r {
  left: 52%;
  width: 45%;
  height: 100%;
  background: url(../img/jobs/kv_r.jpg) center/cover;
}
#page_jobs .kv_bg img {
  position: relative;
  left: 0px;
}
@media only screen and (max-width: 768px) {
  #page_jobs .deco_bg {
    height: 2736px;
    top: 460px;
  }
}
/*--------------------------------------------------------

jobs recruitment START

--------------------------------------------------------*/
#recruitment .inner_layout {
  padding-top: 60px;
}
.recruitment_wrap {
  background: #fff;
  padding: 60px;
  border-radius: 30px;
}
.recruitment_wrap .image_nomal {
  background: url(../img/jobs/recruitment_image.jpg) center/cover;
}

.recruitment_wrap .btn {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #recruitment .inner_layout {
    padding-top: 30px;
  }
  .recruitment_wrap {
    padding: 30px 30px;
  }
  .recruitment_wrap .image_nomal {
    margin-top: 30px;
  }
}
/*--------------------------------------------------------

jobs message START

--------------------------------------------------------*/
#message .inner_layout {
  padding-bottom: 0;
}
#message .col2_wrap {
  margin-bottom: 40px;
}
#message p {
  margin-bottom: 40px;
}
#message p:last-child {
  margin-bottom: 0;
}
#message .image_nomal {
  background: url(../img/jobs/message_01.jpg) top center/cover;
  width: 30%;
  height: 350px;
}
#message .message_text {
  width: 62%;
}
@media only screen and (max-width: 768px) {
  #message .image_nomal {
    width: 80%;
    margin: 0 auto 30px;
  }
  #message .message_text {
    width: 100%;
  }
}
/*--------------------------------------------------------

jobs charm START

--------------------------------------------------------*/
#page_jobs .icon_wrap .column_box:nth-of-type(1) img {
  width: 20%;
}
#page_jobs .icon_wrap .column_box:nth-of-type(2) img {
  width: 25%;
}
#page_jobs .icon_wrap .column_box:nth-of-type(4) img {
  width: 40%;
}
/*--------------------------------------------------------

jobs job START

--------------------------------------------------------*/
#job {
  background: #ffe5ae;
}
#job h2 {
  color: #333;
  margin-bottom: 60px;
}
#job .inner_layout {
  max-width: 1000px;
}
.job_wrap {
  background: #fff;
  padding: 60px;
  border-radius: 30px;
}
.job_wrap h3 {
  margin-bottom: 20px;
}
.job_wrap h4 {
  font-size: 18px;
  font-weight: 500;
  display: inline-block;
  background: #ffc7ae;
  padding: 1px 14px 1px;
  margin: 30px 0 10px;
  border-radius: 8px;
}
@media only screen and (max-width: 768px) {
  #job .inner_layout {
    max-width: 90%;
  }
  .job_wrap {
    padding: 30px;
  }
}
/*--------------------------------------------------------

jobs flow START

--------------------------------------------------------*/
#flow {
  background: #fff8e8;
}
#flow .col2_wrap {
  background: #fff;
  border-radius: 30px;
  padding: 60px;
  margin-bottom: 40px;
}
#flow .col2_wrap figure {
  max-height: 280px;
}
#flow h3 {
  margin: 20px 0;
}
#flow h3::before {
  display: none;
}
.step {
  font-size: 14px;
  font-style: normal;
  text-align: center;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  background: #f6a900;
  margin-right: 14px;
  border-radius: 50%;
  line-height: 1.2;
  flex-shrink: 0;
}
.step em {
  font-size: 22px;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  #flow .col2_wrap {
    padding: 30px;
  }
  #flow .col2_wrap:nth-last-of-type(2) {
    margin-bottom: 0;
  }
  #flow h3 {
    font-size: 20px;
  }
  .step {
    width: 60px;
    height: 60px;
  }
  .step em {
    font-size: 20px;
  }
}
/*--------------------------------------------------------

present START

--------------------------------------------------------*/
.present {
  width: 70%;
  margin: 0 auto;
  padding: 30px;
  background: #fdeecd;
  border-radius: 30px;
}
.present_wrap {
  display: flex;
  background: #fff;
  border-radius: 20px;
}
.present figure {
  width: 50%;
  border-radius: 20px 0 0 20px;
  background: url(../img/jobs/present_image.jpg) center/cover;
}
.present_text {
  font-weight: bold;
  font-size: 28px;
  line-height: 1.6;
  padding: 24px;
}
.present_text span {
  color: #ec6941;
}
@media only screen and (max-width: 768px) {
  .present {
    width: 90%;
  }
  .present_wrap {
    display: block;
  }
  .present figure {
    width: 100%;
    height: 230px;
    border-radius: 20px 0 0 20px;
  }
  .present_text {
    font-weight: bold;
    font-size: 20px;
    padding: 24px;
  }
}
/*--------------------------------------------------------

jods project START

--------------------------------------------------------*/
#page_jobs .project {
  margin: 120px auto;
}
@media only screen and (max-width: 768px) {
  #page_jobs .project {
    margin: 60px auto;
  }
}
/*--------------------------------------------------------

page_service kv START

--------------------------------------------------------*/
.page_service .kv_text2 {
  position: absolute;
  bottom: 100px;
  right: 100px;
  padding: 30px 40px;
  border-radius: 50%;
  background: #03b9d5;
  display: flex;
  align-items: center;
  min-height: 150px;
  z-index: 999;
}
.page_service .kv_text2 h2 {
  font-size: 20px;
  color: #fff;
  text-align: center;
  margin-bottom: 0;
}
.page_service .kv_text2 h2::after {
  display: none;
}
@media only screen and (max-width: 768px) {
  .page_service .kv_text2 {
    bottom: 20px;
    right: 20px;
    padding: 10px 20px;
    min-height: 100px;
  }
  .page_service .kv_text2 h2 {
    font-size: 16px;
  }
}
/*--------------------------------------------------------

page_service layout START

--------------------------------------------------------*/
.page_service .deco_bg {
  height: 1575px;
}
.intro_bg {
  background: #f7f7f7;
  margin-top: -50px;
  padding-top: 50px;
}
.page_service .intro .inner_layout {
  padding-top: 60px;
}
.page_service .intro .col2_wrap {
  margin-bottom: 60px;
}
.page_service .intro .col1_box {
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .intro_bg {
    margin-top: -240px;
    padding-top: 240px;
  }
  .page_service .intro .inner_layout {
    padding-top: 40px;
  }
}
/*--------------------------------------------------------

page_service service START

--------------------------------------------------------*/
.icon_wrap.icon_wrap_col4 .column_box {
  width: 22%;
}
.icon_wrap.icon_wrap_col4 .column_box:nth-of-type(3) img {
  width: 23%;
}
.icon_wrap.icon_wrap_col4 .column_box:nth-of-type(7) img {
  width: 22%;
}
.icon_wrap.icon_wrap_col4 .column_box:nth-last-of-type {
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .icon_wrap.icon_wrap_col4 .column_box {
    width: 48%;
  }
  .icon_wrap.icon_wrap_col4 .column_box:nth-last-of-type(1) {
    margin-bottom: 40px;
  }
}
/*--------------------------------------------------------

page_service plan START

--------------------------------------------------------*/
.page_service #plan {
  background: #f7f7f7;
}
/*--------------------------------------------------------

page_service fee START

--------------------------------------------------------*/
.page_service #fee .lead {
  margin-bottom: 0;
}
.page_service .mb_btn {
  margin-bottom: 60px;
}
.page_service #fee .col1_box h3 {
  margin-top: 0;
}
.page_service #fee .col1_box .btn {
  margin-bottom: 0;
}
/*--------------------------------------------------------

example START

--------------------------------------------------------*/
#example table {
  margin-top: 40px;
}
.page_service #example .image_nomal {
  background: url(../img/housekeeping/example_01.jpg) center/cover;
}
.page_example #example .image_nomal {
  background: url(../img/housekeeping/example_01.jpg) center/cover;
}
.page_example .step {
  font-size: 18px;
}
.page_example #example .inner_layout {
  padding-top: 60px;
}
.page_example .comfort .inner_layout {
  padding-top: 0;
}
#example table th,
#example table td {
  padding: 16px;
}
#example table th {
  background: #ffe5ae;
}
#example table td {
  background: #fff;
}
/*--------------------------------------------------------

housekeeping START

--------------------------------------------------------*/
.page_keeping .kv {
  background: url(../img/housekeeping/kv_bg.jpg) center/cover;
}
@media only screen and (max-width: 768px) {
  .page_keeping .intro .col1_box {
    margin-top: 40px;
  }
}
/*--------------------------------------------------------

housecleaning START

--------------------------------------------------------*/
.page_cleaning .kv {
  background: url(../img/housecleaning/kv_bg.jpg) center/cover;
}
.page_cleaning #plan .inner_layout {
  padding-top: 0;
}
@media only screen and (max-width: 768px) {
  .page_cleaning .intro .col1_box {
    margin-top: 30px;
  }
}

/*--------------------------------------------------------

vacation-rentals START

--------------------------------------------------------*/
.page_vacation .kv {
  background: url(../img/vacation/kv_bg.jpg) center/cover;
}
.page_vacation #service .inner_layout {
  padding-bottom: 0;
}
.page_vacation #fee .inner_layout {
  padding-bottom: 0;
}
/*--------------------------------------------------------

provided START

--------------------------------------------------------*/
.provided .inner_layout {
  padding-bottom: 0;
}
.provided .column_wrap {
  gap: 20px 4%;
}
.provided .column_box {
  width: 22%;
  background: #f7f7f7;
  padding: 14px 20px;
  border-radius: 30px;
}
.provided .column_box:last-child {
  background: none;
}
@media only screen and (max-width: 768px) {
  .provided .column_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 3%;
  }
  .provided .column_box {
    width: 48%;
    margin-bottom: 0;
  }
  .provided .column_box a {
    padding: 10px 20px;
  }
}
/*--------------------------------------------------------

page_plan intro START

--------------------------------------------------------*/
.page_nokv .intro .inner_layout {
  padding-top: 40px;
}
.icon_plan {
  padding: 2px 16px;
  background: #ffe5ae;
  font-weight: 500;
  display: inline-block;
  border-radius: 8px;
  margin-right: 10px;
}
.icon_plan:last-of-type {
  margin-right: 0;
}
.page_plan .intro h4 {
  margin-top: 20px;
}
.discount_wrap {
  display: flex;
  align-items: center;
  margin-top: 0;
}
.discount_bg {
  padding: 2px 16px;
  background: #ec6941;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  border-radius: 8px;
  margin-right: 10px;
}
.emphasis_text {
  font-weight: 600;
  font-size: 24px;
  color: #ec6941;
  margin-left: 5px;
}
.regular_price {
  text-decoration: line-through;
  margin-right: 7px;
}
.page_plan .intro p {
  margin-top: 20px;
}
.page_plan .intro .note {
  margin-top: 10px;
}
.page_first .image_nomal {
  background: url(../img/common/first_time_image.jpg) center/cover;
}
.page_deluxe .image_nomal {
  background: url(../img/common/deluxe_image.jpg) center/cover;
}
.page_spot .image_nomal {
  background: url(../img/common/spot_image.jpg) center/cover;
}
.mt_con {
  margin-top: 120px;
}
@media only screen and (max-width: 768px) {
  .discount_wrap {
    margin-top: 10px;
    display: block;
  }
  .page_plan .intro .image_nomal {
    margin-top: 30px;
  }
  .discount_bg {
    width: 100px;
    text-align: center;
    line-height: 1.4;
    padding: 6px 10px;
  }
}
/*--------------------------------------------------------

page_plan table_col3 START

--------------------------------------------------------*/
.table_col3 {
  width: 70%;
  margin: auto;
}
.col2_wrap .table_col3 {
  margin-top: 0;
  width: 48%;
}
.col2_wrap .table_col3 th {
  width: 25%;
}
@media only screen and (max-width: 768px) {
  .table_col3 {
    width: 100%;
    table-layout: fixed;
  }
  .table_col3 th,
  .table_col3 td {
    display: table-cell;
    width: 33%;
    padding: 20px 15px;
  }
  .table_col3 th {
    width: 33%;
  }
  .table_col3 tr:first-child th:first-child {
    border-radius: 20px 0 0 0;
  }
  .table_col3 tr:first-child td:last-child {
    border-radius: 0 20px 0 0;
  }
  .table_col3 tr:last-child th:first-child {
    border-radius: 0 0 0 20px;
  }
  .table_col3 tr:last-child td:last-child {
    border-radius: 0 0 20px 0;
  }
}
/*--------------------------------------------------------

page_plan planpricing START

--------------------------------------------------------*/
.planpricing .image_nomal.price_3h {
  background: url(../img/common/price_3h.jpg) center/cover;
}
.planpricing .image_nomal.price_2h {
  background: url(../img/common/price_2h.jpg) center/cover;
}
.planpricing .table_s {
  margin-top: 30px;
}
.table_s th {
  background: #ffe5ae;
}
.table_s td {
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .planpricing .image_nomal {
    margin-bottom: 30px;
  }
  .table_s th {
    width: 100%;
  }
}
/*--------------------------------------------------------

page_plan features START

--------------------------------------------------------*/
#features {
  background: #f7f7f7;
}
/*--------------------------------------------------------

page_plan comfort START

--------------------------------------------------------*/
.comfort {
  background: #fff8e8;
}
.comfort .image_nomal {
  background: url(../img/housekeeping/beginner_features_01.jpg) top left/cover;
}
.comfort_text .lead {
  text-align: left;
}
.comfort_text .emphasis_text {
  margin-left: 0;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .comfort .lead {
    margin-bottom: 0;
  }
}
/*--------------------------------------------------------

page_plan page_deluxe START

--------------------------------------------------------*/
.page_deluxe #price .price_01 {
  background: url(../img/housekeeping/deluxe_price_01.jpg) center/cover;
}
.page_deluxe #price .price_02 {
  background: url(../img/housekeeping/deluxe_price_02.jpg) center/cover;
}
.page_deluxe #price .price_03 {
  background: url(../img/housekeeping/deluxe_price_03.jpg) center/cover;
}
/*--------------------------------------------------------

page_plan page_spot START

--------------------------------------------------------*/
.page_spot #price .price_01 {
  background: url(../img/housekeeping/spot_price_01.jpg) center/cover;
}
.page_spot #price .price_02 {
  background: url(../img/housekeeping/spot_price_02.jpg) center/cover;
}
.page_spot #price .price_03 {
  background: url(../img/housekeeping/spot_price_03.jpg) center/cover;
}
.page_spot .provided .inner_layout {
  padding: 0;
}
.page_spot .planpricing .inner_layout {
  padding-top: 0;
}
.page_spot .comfort {
  background: #fff;
}
/*--------------------------------------------------------

page_price START

--------------------------------------------------------*/
.page_price table {
  margin: 30px 0 0;
}
.page_price table th {
  background: #ffe5ae;
}
.page_price table td {
  background: #fff;
}
.price_num {
  color: #ec6941;
  font-weight: 500;
  margin-top: 5px;
}
.page_price .table_s {
  margin: 0;
}
.page_price .table_s th,
.page_price .table_s td {
  font-size: 14px;
  padding: 10px;
}
.page_price .table_s th {
  width: 42%;
  font-weight: 500;
}
.page_price .table_s td {
  background: #f7f7f7;
}
.page_price .table_s tr:first-child th:first-child {
  border-radius: 10px 0 0 0;
}
.page_price .table_s tr:first-child td:last-child {
  border-radius: 0 10px 0 0;
}
.page_price .table_s tr:last-child th:first-child {
  border-radius: 0 0 0 10px;
}
.page_price .table_s tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.page_price .column_wrap {
  margin-top: 40px;
}
.page_price .box_title {
  margin-bottom: 0;
}
.page_price .column_wrap .table_s {
  margin-top: 10px;
}
.page_price .image_nomal.first_time_image {
  background: url(../img/common/first_time_image.jpg) center/cover;
  height: 250px;
}
/*--------------------------------------------------------

page_company START

--------------------------------------------------------*/
#page_company .kv {
  background: url(../img/company/intro_image.jpg) center/cover;
}
#page_company .intro .image_nomal {
  background: url(../img/company/intro_image.jpg) center/cover;
}
.company .inner_layout {
  padding-top: 0;
}
.philosophy {
  background: #fff8e8;
}
.philosophy .lead {
  font-size: 24px;
}
#page_company .recruit {
  margin-bottom: 120px;
}
@media only screen and (max-width: 768px) {
  #page_company .recruit {
    margin-bottom: 60px;
  }
}

/*--------------------------------------------------------

page_faq START

--------------------------------------------------------*/
.page_faq .inner_layout {
  padding-top: 60px;
}
.page_faq h3 {
  margin: 80px 0 30px;
}
.page_faq .faq_wrap h3 {
  margin: 0;
}
/*--------------------------------------------------------

page_text START

--------------------------------------------------------*/
.page_text h3 {
  margin: 60px 0 20px;
}
.page_text h3::before {
  display: none;
}
.page_text a {
  color: #e37561;
}
.page_text .note {
  margin-top: 60px;
}
/*--------------------------------------------------------

page_area kv START

--------------------------------------------------------*/
.page_honolulu .kv {
  background: url(../img/housekeeping/kv_honolulu_bg.jpg) center/cover;
}
.page_honolulu .lookingfor .image_nomal {
  background: url(../img/housekeeping/honolulu_lookingfor.jpg) center/cover;
}
.page_honolulu .inner_layout.lookingfor {
  padding: 60px 0;
}
@media only screen and (max-width: 768px) {
  .page_honolulu .inner_layout.lookingfor {
    padding: 60px 0 0;
  }
}
/*--------------------------------------------------------

page_area area START

--------------------------------------------------------*/
.page_area #area .inner_layout {
  padding-top: 60px;
}
.page_area #area2 .inner_layout {
  padding-top: 0;
}
.page_area #area2 .note {
  text-align: center;
  margin-bottom: 60px;
}
.page_area #features {
  background: #fff;
}
.page_area #faq .inner_layout {
  padding-top: 0;
}
