@charset "UTF-8";
/* 画像パス（HTMLファイル名 = img/sass/css のページ名）
   index.html   → img/top/   sass/pages/top.scss   css/top.css
   service.html → img/service/ sass/pages/service.scss css/service.css
--------------------------------------------------*/
/* 変数の定義
--------------------------------------------------*/
/* section bleed（下層ページ共通フルブリード背景）
--------------------------------------------------*/
/* 色の定義
--------------------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* page_main
--------------------------------------------------*/
.page_main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 80px 0 50px;
  box-sizing: border-box;
}
@media screen and (max-width: 1199px) {
  .page_main {
    padding: 0 50px;
  }
}
@media screen and (min-width: 1000px) {
  .page_main {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 50px;
    align-items: start;
  }
}
@media screen and (max-width: 768px) {
  .page_main {
    display: block;
    padding: 0 20px;
  }
}

.page_menu_wrap {
  padding-bottom: 100px;
}

.page_contents {
  min-width: 0;
  max-width: 1000px;
}
@media screen and (max-width: 999px) {
  .page_contents {
    max-width: none;
  }
}
@media screen and (min-width: 1000px) {
  .page_contents {
    grid-column: 2;
    grid-row: 1;
  }
}

/* sec_sub_kv（about）
--------------------------------------------------*/
.sec_sub_kv--about .sec_sub_kv__bg {
  background-color: #ffedc3;
}
.sec_sub_kv--about .sec_sub_kv__catch-ja {
  font-size: clamp(2.8rem, 2.857vw, 4rem);
}
@media screen and (max-width: 768px) {
  .sec_sub_kv--about .sec_sub_kv__catch-ja {
    font-size: 2.4rem;
  }
}

/* page_features
--------------------------------------------------*/
.page_features {
  position: relative;
  isolation: isolate;
  padding: 120px 0 60px;
}
.page_features::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 100vw;
  pointer-events: none;
  left: calc(50% - 50vw);
}
@media screen and (min-width: 1000px) {
  .page_features::before {
    left: calc(50% - 50vw - 125px);
  }
}
@media screen and (min-width: 1200px) {
  .page_features::before {
    left: calc(50% - 50vw - 110px);
  }
}
@media screen and (min-width: 1400px) {
  .page_features::before {
    left: calc(50% - 50vw - 100px);
  }
}
.page_features::before {
  background-color: #ffedc3;
}
@media screen and (max-width: 999px) {
  .page_features {
    padding: 60px 0 40px;
  }
}
.page_features__box {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .page_features__box {
    margin-top: 30px;
    gap: 20px;
  }
}
.page_features__item {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_features__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
.page_features__illust {
  flex-shrink: 0;
  width: 240px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .page_features__illust {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }
}
.page_features__illust img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page_features__text {
  flex: 1;
  min-width: 0;
}
.page_features__item-ttl {
  font-size: clamp(2rem, 1.714vw, 2.4rem);
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.4;
}
.page_features__item-desc {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .page_features__item-desc {
    margin-top: 14px;
    font-size: 1.5rem;
  }
}

/* page_philosophy
--------------------------------------------------*/
.page_philosophy {
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .page_philosophy {
    padding: 60px 0;
  }
}
.page_philosophy__box {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .page_philosophy__box {
    flex-direction: column;
    margin-top: 30px;
    gap: 20px;
  }
}
.page_philosophy__card {
  flex: 1;
  min-width: 0;
  padding: 20px;
  border-radius: 10px;
  background-color: #FFE7AF;
  text-align: center;
}
.page_philosophy__icon {
  width: 90px;
  height: 90px;
  margin: 0 auto;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page_philosophy__icon img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.page_philosophy__ttl {
  margin-top: 10px;
  font-size: clamp(2.4rem, 2.142vw, 3rem);
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.4;
}
.page_philosophy__desc {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .page_philosophy__desc {
    text-align: left;
  }
}

/* page_message
--------------------------------------------------*/
.page_message {
  position: relative;
  isolation: isolate;
  padding: 80px 0;
}
.page_message::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 100vw;
  pointer-events: none;
  left: calc(50% - 50vw);
}
@media screen and (min-width: 1000px) {
  .page_message::before {
    left: calc(50% - 50vw - 125px);
  }
}
@media screen and (min-width: 1200px) {
  .page_message::before {
    left: calc(50% - 50vw - 110px);
  }
}
@media screen and (min-width: 1400px) {
  .page_message::before {
    left: calc(50% - 50vw - 100px);
  }
}
.page_message::before {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_message {
    padding: 60px 0;
  }
}
.page_message__box {
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .page_message__box {
    padding-top: 30px;
  }
}
.page_message__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.6;
}
.page_message__sign {
  margin-top: 30px;
  font-size: clamp(2rem, 1.714vw, 2.4rem);
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.4;
  text-align: right;
}
.page_message__sign .small_txt {
  font-size: clamp(1.6rem, 1.285vw, 1.8rem);
  font-weight: 700;
}

/* page_company
--------------------------------------------------*/
.page_company {
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .page_company {
    padding: 60px 0;
  }
}
.page_company__table {
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .page_company__table {
    padding-top: 30px;
  }
}
.page_company__row {
  display: flex;
  align-items: flex-start;
  padding: 15px 20px;
  border-bottom: 2px solid #7fd67c;
  font-size: 1.8rem;
  font-weight: 500;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.65;
}
@media screen and (max-width: 768px) {
  .page_company__row {
    flex-direction: column;
    gap: 6px;
    font-size: 1.6rem;
    padding: 12px 0;
  }
}
.page_company__th {
  flex-shrink: 0;
  width: 200px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 8%;
}
@media screen and (max-width: 768px) {
  .page_company__th {
    width: 100%;
    font-size: 1.8rem;
  }
}
.page_company__td {
  flex: 1;
  min-width: 0;
}
.page_company__address-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
  -webkit-mask-image: url(../img/common/address-icon-pink.svg);
          mask-image: url(../img/common/address-icon-pink.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #7fd67c;
  vertical-align: middle;
}

/* page_access
--------------------------------------------------*/
.page_access {
  position: relative;
  isolation: isolate;
  padding: 80px 0 100px;
}
.page_access::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 100vw;
  pointer-events: none;
  left: calc(50% - 50vw);
}
@media screen and (min-width: 1000px) {
  .page_access::before {
    left: calc(50% - 50vw - 125px);
  }
}
@media screen and (min-width: 1200px) {
  .page_access::before {
    left: calc(50% - 50vw - 110px);
  }
}
@media screen and (min-width: 1400px) {
  .page_access::before {
    left: calc(50% - 50vw - 100px);
  }
}
.page_access::before {
  background-color: #ddf4dc;
}
@media screen and (max-width: 768px) {
  .page_access {
    padding: 60px 0;
  }
}
.page_access__inner {
  display: flex;
  gap: 50px;
  margin-top: 40px;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .page_access__inner {
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
    padding-top: 30px;
  }
}
.page_access__map {
  flex-shrink: 0;
  width: 47.5%;
  max-width: 475px;
  aspect-ratio: 600/450;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page_access__map {
    width: 100%;
    max-width: none;
  }
}
.page_access__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.page_access__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.page_access__name {
  font-size: 2.4rem;
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.4;
}
.page_access__address {
  margin-top: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.4;
}
.page_access__tel {
  display: flex;
  align-items: flex-end;
  gap: 5px;
  margin-top: 10px;
}
.page_access__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 5px 4px;
  border-radius: 2px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1;
  background-color: #7fd67c;
}
.page_access__num {
  font-size: 1.8rem;
  font-weight: 700;
  color: #3b2e1b;
  letter-spacing: 5%;
  line-height: 1.2;
}
.page_access__btn {
  margin-top: 30px;
}
.page_access__btn .c-icon-arrow::before {
  border-radius: 50%;
  background-color: #fff;
}
.page_access__btn .c-icon-arrow::after {
  background-color: #7fd67c;
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2019%2025%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.6875%2024.4129C10.3576%2024.8043%209.96181%2025%209.5%2025C9.03819%2025%208.64236%2024.8043%208.3125%2024.4129C7.42188%2023.3366%206.33333%2021.8852%205.04688%2020.0587C3.76042%2018.2648%202.6059%2016.4057%201.58333%2014.4814C0.59375%2012.5571%200.0659722%2010.8611%200%209.39335C0.0659722%206.71885%200.989583%204.50098%202.77083%202.73973C4.55208%200.978474%206.79514%200.0652316%209.5%200C12.2049%200.0652316%2014.4479%200.978474%2016.2292%202.73973C18.0104%204.50098%2018.934%206.71885%2019%209.39335C18.934%2010.8611%2018.4062%2012.5571%2017.4167%2014.4814C16.3941%2016.4057%2015.2396%2018.2648%2013.9531%2020.0587C12.6667%2021.8852%2011.5781%2023.3366%2010.6875%2024.4129ZM9.5%2012.5245C10.3906%2012.4918%2011.1328%2012.182%2011.7266%2011.5949C12.3203%2011.0078%2012.6337%2010.274%2012.6667%209.39335C12.6337%208.51272%2012.3203%207.77887%2011.7266%207.19178C11.1328%206.6047%2010.3906%206.29485%209.5%206.26223C8.60938%206.29485%207.86719%206.6047%207.27344%207.19178C6.67969%207.77887%206.36632%208.51272%206.33333%209.39335C6.36632%2010.274%206.67969%2011.0078%207.27344%2011.5949C7.86719%2012.182%208.60938%2012.4918%209.5%2012.5245Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 19px 25px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2019%2025%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.6875%2024.4129C10.3576%2024.8043%209.96181%2025%209.5%2025C9.03819%2025%208.64236%2024.8043%208.3125%2024.4129C7.42188%2023.3366%206.33333%2021.8852%205.04688%2020.0587C3.76042%2018.2648%202.6059%2016.4057%201.58333%2014.4814C0.59375%2012.5571%200.0659722%2010.8611%200%209.39335C0.0659722%206.71885%200.989583%204.50098%202.77083%202.73973C4.55208%200.978474%206.79514%200.0652316%209.5%200C12.2049%200.0652316%2014.4479%200.978474%2016.2292%202.73973C18.0104%204.50098%2018.934%206.71885%2019%209.39335C18.934%2010.8611%2018.4062%2012.5571%2017.4167%2014.4814C16.3941%2016.4057%2015.2396%2018.2648%2013.9531%2020.0587C12.6667%2021.8852%2011.5781%2023.3366%2010.6875%2024.4129ZM9.5%2012.5245C10.3906%2012.4918%2011.1328%2012.182%2011.7266%2011.5949C12.3203%2011.0078%2012.6337%2010.274%2012.6667%209.39335C12.6337%208.51272%2012.3203%207.77887%2011.7266%207.19178C11.1328%206.6047%2010.3906%206.29485%209.5%206.26223C8.60938%206.29485%207.86719%206.6047%207.27344%207.19178C6.67969%207.77887%206.36632%208.51272%206.33333%209.39335C6.36632%2010.274%206.67969%2011.0078%207.27344%2011.5949C7.86719%2012.182%208.60938%2012.4918%209.5%2012.5245Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 19px 25px;
}
.page_access__btn .c-btn-round:hover .c-icon-arrow::before {
  background-color: #7fd67c;
}
.page_access__btn .c-btn-round:hover .c-icon-arrow::after {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_access__btn {
    margin-top: 20px;
  }
  .page_access__btn .c-btn-round {
    width: 100%;
  }
}

.sec_contact__wave {
  background-color: #ddf4dc;
}
/*# sourceMappingURL=about.css.map */