@charset "UTF-8";
/* st-PageIntro
-----------------------------------*/
.is-service .st-PageIntro {
  background-image: url("../img/bg_service_01_sp.jpg");
}

@media screen and (min-width: 700px) {
  .is-service .st-PageIntro {
    background-image: url("../img/bg_service_01_pc.jpg");
  }
}
/* service-Intro
-----------------------------------*/
.service-Intro {
  margin-top: 50px;
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 20px;
}
.service-Intro_Text {
  font-size: 1.25rem;
  font-weight: 500;
}
.service-Intro_Text_Item {
  display: block;
}
.service-Intro_Text + .service-Intro_SubText {
  margin-top: 17px;
}
.service-Intro_EnText {
  font-family: "EB Garamond", serif;
  font-size: 1.5rem;
  color: rgba(42, 42, 42, 0.2);
  line-height: 1.2;
}
.service-Intro_SubText + .service-Intro_EnText {
  margin-top: 24px;
}

@media screen and (min-width: 700px) {
  .service-Intro_SubText_Item {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .service-Intro {
    margin-top: 60px;
    padding-inline: 40px;
  }
  .service-Intro_Text {
    font-size: 1.5rem;
  }
  .service-Intro_Text_Item {
    display: inline;
  }
  .service-Intro_EnText {
    font-size: 1.875rem;
  }
}
/* service-Content01
-----------------------------------*/
.service-Content01:first-of-type {
  margin-top: 42px;
}
.service-Content02 + .service-Content01 {
  margin-top: 42px;
}
.service-Content01_Number {
  max-width: 1030px;
  margin-inline: auto;
  padding-inline: 20px;
  font-family: "EB Garamond", serif;
  text-transform: uppercase;
  font-size: 1.375rem;
  color: #003D6D;
}
.service-Content01_Number_Lg {
  font-size: 2.1875rem;
}
.service-Content01_Inner {
  position: relative;
  margin-top: 5px;
}
.service-Content01_Inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  z-index: -1;
}
.service-Content01_Item {
  max-width: 1000px;
  margin-inline: auto;
  padding: 40px 20px;
}
.service-Content01_Intro {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 30px;
}
.service-Content01_Col {
  flex: 1;
}
.service-Content01_Title_Ja_Item {
  display: block;
}
.service-Content01_Title_En {
  margin-top: 2px;
  display: block;
  font-family: "EB Garamond", serif;
  font-size: 0.875rem;
  text-transform: uppercase;
}
.service-Content01_Title + .service-Content01_Text {
  margin-top: 12px;
}
.service-Content01_Text + .service-Content01_Text {
  margin-top: 10px;
}
.service-Content01_Image {
  width: 100%;
  height: auto;
}
.service-Content01_Features {
  max-width: 800px;
  margin-inline: auto;
  margin-top: 30px;
  background-color: #F6F6F8;
  padding: 20px 20px 23px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  row-gap: 7px;
}
.service-Content01_Features_Title {
  margin-inline: auto;
  min-width: 100px;
  text-align: center;
  font-size: 1.25rem;
  color: #003D6D;
  font-weight: 500;
}
.service-Content01_Features_List_Item {
  border-bottom: 1px solid rgba(0, 61, 109, 0.1);
  padding-block: 8px 7px;
  list-style: none;
  padding-left: 24px;
  position: relative;
}
.service-Content01_Features_List_Item::before {
  content: "・";
  position: absolute;
  left: 4px;
  top: 7px;
}
.service-Content01_Catch {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}
.service-Content01_Catch_Text {
  font-size: 1.125rem;
}
.service-Content01_Catch_Text_Item {
  display: block;
}
.service-Content01_Catch_EnText {
  margin-top: 5px;
  font-family: "EB Garamond", serif;
  color: #003D6D;
}
.service-Content01_Features + .service-Content01_Catch {
  margin-top: 20px;
}
.service-Content01_Merit + .service-Content01_Catch {
  margin-top: 40px;
}
.service-Content01_Villa {
  margin-top: 30px;
  max-width: 800px;
  margin-inline: auto;
}
.service-Content01_Villa_List {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5px;
}
.service-Content01_Villa_List_Item {
  list-style: none;
  width: calc((100% - 10px) / 3);
}
.service-Content01_Villa_List_Image {
  width: 100%;
  height: auto;
}
.service-Content01_Villa_Text {
  margin-top: 8px;
  font-size: 0.75rem;
}
.service-Content01_Btn {
  margin-top: 30px;
  text-align: center;
}
.service-Content01_Btn .sw-Btn01 {
  max-width: 100%;
  width: 300px;
  text-align: left;
}
.service-Content01_Merit {
  max-width: 800px;
  margin-top: 20px;
  margin-inline: auto;
  padding-inline: 18px;
  display: flex;
  flex-direction: column;
}
.service-Content01_Merit_List {
  margin-inline: left;
  list-style: none;
  display: flex;
  flex-direction: row;
  column-gap: 10px;
  align-items: center;
}
.service-Content01_Merit_List_Item-text {
  flex: 1;
}
.service-Content01_Merit_Number {
  color: #003D6D;
  font-family: "EB Garamond", serif;
  text-transform: uppercase;
}
.service-Content01_Merit_Number_Bg {
  margin-left: 5px;
  font-size: 1.25rem;
}
.service-Content01_Merit_Number + .service-Content01_Merit_Text {
  margin-top: 3px;
}
.service-Content01-property .service-Content01_Item {
  padding-bottom: 50px;
}

@media screen and (min-width: 700px) {
  .service-Content01_Intro {
    flex-direction: row-reverse;
    align-items: center;
    column-gap: 30px;
  }
  .service-Content01_Title_Ja_Item {
    display: inline;
  }
  .service-Content01_Features {
    flex-direction: row;
    column-gap: 30px;
    align-items: center;
    padding: 20px 30px;
  }
  .service-Content01_Features_List {
    flex: 1;
  }
  .service-Content01_Catch_Text_Item {
    display: inline;
  }
}
@media screen and (min-width: 960px) {
  .service-Content01:first-of-type {
    margin-top: 50px;
  }
  .service-Content02 + .service-Content01 {
    margin-top: 60px;
  }
  .service-Content01_Number {
    padding-left: 50px;
    font-size: 1.625rem;
  }
  .service-Content01_Number_Lg {
    font-size: 2.5rem;
  }
  .service-Content01_Item {
    padding-block: 50px;
    padding-inline: 40px;
  }
  .service-Content01_Intro {
    column-gap: 60px;
  }
  .service-Content01_Features {
    margin-top: 40px;
    column-gap: 60px;
    padding: 12px 60px;
  }
  .service-Content01_Merit {
    margin-top: 27px;
    flex-direction: row;
    column-gap: 40px;
  }
  .service-Content01_Merit_List {
    flex: 1;
    column-gap: 15px;
    align-items: normal;
  }
  .service-Content01_Merit_Text_Item {
    display: block;
  }
  .service-Content01_Catch {
    margin-top: 25px;
  }
  .service-Content01_Features + .service-Content01_Catch {
    margin-top: 27px;
  }
  .service-Content01_Merit + .service-Content01_Catch {
    margin-top: 43px;
  }
  .service-Content01_Villa {
    margin-top: 40px;
  }
  .service-Content01_Btn {
    margin-top: 40px;
  }
  .service-Content01_Btn .sw-Btn01 {
    width: 360px;
  }
  .service-Content02 + .service-Content01-property {
    margin-top: 80px;
  }
  .service-Content01-property .service-Content01_Item {
    padding-bottom: 58px;
  }
}
@media screen and (min-width: 1100px) {
  .service-Content01_Inner::before {
    max-width: calc(50% + 550px);
    left: auto;
    right: 0;
  }
  .service-Content01_Item {
    padding-left: 50px;
  }
}
/* service-Content02
-----------------------------------*/
.service-Content02 {
  margin-top: 50px;
}
.service-Content02_Number {
  max-width: 1030px;
  margin-inline: auto;
  padding-inline: 20px;
  font-family: "EB Garamond", serif;
  text-transform: uppercase;
  font-size: 1.375rem;
  color: #003D6D;
  text-align: right;
}
.service-Content02_Number_Lg {
  font-size: 2.1875rem;
}
.service-Content02_Inner {
  position: relative;
  margin-top: 5px;
}
.service-Content02_Inner::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  z-index: -1;
}
.service-Content02_Item {
  max-width: 1000px;
  margin-inline: auto;
  padding: 40px 20px 50px;
}
.service-Content02_Intro {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 30px;
}
.service-Content02_Col {
  flex: 1;
}
.service-Content02_Title_Ja_Sm {
  display: block;
  font-size: 1.125rem;
}
.service-Content02_Title_En {
  margin-top: 2px;
  display: block;
  font-family: "EB Garamond", serif;
  font-size: 0.875rem;
  text-transform: uppercase;
}
.service-Content02_Title + .service-Content02_Text {
  margin-top: 12px;
}
.service-Content02_Text + .service-Content02_Text {
  margin-top: 10px;
}
.service-Content02_Text-Sm {
  font-size: 0.9375rem;
}
.service-Content02_Features {
  max-width: 800px;
  margin-inline: auto;
  margin-top: 40px;
  background-color: #F6F6F8;
  padding: 20px 20px 23px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  row-gap: 7px;
}
.service-Content02_Features_Title {
  margin-inline: auto;
  min-width: 100px;
  text-align: center;
  font-size: 1.25rem;
  color: #003D6D;
  font-weight: 500;
}
.service-Content02_Features_List_Item {
  border-bottom: 1px solid rgba(0, 61, 109, 0.1);
  padding-block: 8px 7px;
  list-style: none;
  padding-left: 24px;
  position: relative;
}
.service-Content02_Features_List_Item::before {
  content: "・";
  position: absolute;
  left: 4px;
  top: 7px;
}
.service-Content02_Merit {
  max-width: 800px;
  margin-top: 20px;
  margin-inline: auto;
  padding-inline: 18px;
  display: flex;
  flex-direction: column;
}
.service-Content02_Merit_List {
  margin-inline: left;
  list-style: none;
  display: flex;
  flex-direction: row;
  column-gap: 10px;
  align-items: center;
}
.service-Content02_Merit_List_Item-text {
  flex: 1;
}
.service-Content02_Merit_Number {
  color: #003D6D;
  font-family: "EB Garamond", serif;
  text-transform: uppercase;
}
.service-Content02_Merit_Number_Bg {
  margin-left: 5px;
  font-size: 1.25rem;
}
.service-Content02_Merit_Number + .service-Content02_Merit_Text {
  margin-top: 3px;
}
.service-Content02_Catch {
  max-width: 640px;
  margin-inline: auto;
  margin-top: 20px;
  text-align: center;
}
.service-Content02_Catch_Text {
  font-size: 1.125rem;
}
.service-Content02_Catch_Text_Item {
  display: block;
}
.service-Content02_Catch_EnText {
  margin-top: 5px;
  font-family: "EB Garamond", serif;
  color: #003D6D;
}
.service-Content01_Merit + .service-Content02_Catch {
  margin-top: 40px;
}
.service-Content02_Image {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 700px) {
  .service-Content02_Intro {
    flex-direction: row;
    align-items: center;
    column-gap: 30px;
  }
  .service-Content02_Features {
    flex-direction: row;
    column-gap: 30px;
    align-items: center;
    padding: 20px 30px;
  }
  .service-Content02_Features_List {
    flex: 1;
  }
  .service-Content02_Catch_Text_Item {
    display: inline;
  }
}
@media screen and (min-width: 960px) {
  .service-Content02 {
    margin-top: 60px;
  }
  .service-Content02_Number {
    padding-right: 50px;
    font-size: 1.625rem;
  }
  .service-Content02_Number_Lg {
    font-size: 2.5rem;
  }
  .service-Content02_Item {
    padding: 50px 40px 60px;
  }
  .service-Content02_Intro {
    column-gap: 60px;
  }
  .service-Content02_Features {
    margin-top: 40px;
    column-gap: 60px;
    padding: 12px 60px;
  }
  .service-Content02_Features_Title_Item {
    display: block;
  }
  .service-Content02_Merit {
    margin-top: 27px;
    flex-direction: row;
    column-gap: 40px;
  }
  .service-Content02_Merit_List {
    flex: 1;
    column-gap: 15px;
    align-items: normal;
  }
  .service-Content02_Catch {
    margin-top: 40px;
  }
  .service-Content01_Features + .service-Content02_Catch {
    margin-top: 27px;
  }
  .service-Content02-hospitality {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1100px) {
  .service-Content02_Inner::before {
    max-width: calc(50% + 550px);
    left: 0;
    right: auto;
  }
  .service-Content02_Item {
    padding-right: 50px;
  }
}
/* service-Value
-----------------------------------*/
.service-Value {
  margin-top: 61px;
}

@media screen and (min-width: 960px) {
  .service-Value {
    margin-top: 100px;
  }
}
/* service-Owners
-----------------------------------*/
.service-Owners {
  margin-top: 60px;
}

@media screen and (min-width: 960px) {
  .service-Owners {
    margin-top: 100px;
  }
}
/* service-Flow
-----------------------------------*/
.service-Flow {
  max-width: 1000px;
  margin-top: 65px;
  margin-inline: auto;
  padding-inline: 20px;
}
.service-Flow_Title {
  text-align: center;
}
.service-Flow_Image {
  margin-top: 34px;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 960px) {
  .service-Flow {
    margin-top: 80px;
  }
  .service-Flow_Image {
    margin-top: 60px;
  }
}
/* service-Menu
-----------------------------------*/
.service-Menu {
  margin-top: 80px;
  background-color: #fff;
  padding-block: 40px 60px;
}

@media screen and (min-width: 960px) {
  .service-Menu {
    margin-top: 120px;
    padding-block: 70px 100px;
  }
}
/* service-Contact
-----------------------------------*/
.service-Contact {
  margin-bottom: 50px;
}

@media screen and (min-width: 960px) {
  .service-Contact {
    margin-bottom: 70px;
  }
}