@charset "utf-8";

* {
  box-sizing: border-box;
}

.top-hero {
  overflow: hidden;
}

.top-hero-photo {
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}

.top-hero-gradient {
  background-image: linear-gradient(90deg, rgba(30, 38, 24, 0.93) 0%, rgba(35, 44, 28, 0.75) 32%, rgba(40, 50, 32, 0.18) 62%, rgba(40, 50, 32, 0) 100%);
  pointer-events: none;
  z-index: 1;
}

.top-hero-content {
  z-index: 2;
}

.concept-photo,
.concept-accent,
.features-main-photo,
.feature-thumb,
.service-photo,
.home-photo,
.ohana-main-photo,
.instagram-photo {
  object-fit: cover;
}

.features-section .features-main-photo {
  aspect-ratio: 1183 / 1025;
  display: block;
  height: auto;
  margin-left: -22px;
  max-height: none;
  max-width: none;
  -webkit-mask-image: url("https://masakenchiku.jp/system_panel/uploads/images/20260721135152166337.png");
  mask-image: url("https://masakenchiku.jp/system_panel/uploads/images/20260721135152166337.png");
  -webkit-mask-position: left bottom;
  mask-position: left bottom;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  width: calc(100% + 22px);
}

.feature-number {
  z-index: 2;
}

.feature-thumb {
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
}

.features-list,
.instagram-grid {
  gap: 0;
}

.instagram-column .instagram-grid {
  gap: 8px;
}

.instagram-grid .instagram-photo {
  aspect-ratio: 4 / 3;
  border-radius: 4px;
  height: auto;
  width: calc(50% - 4px);
}

.instagram-grid .webgene-blog {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.instagram-grid .instagram-post {
  margin: 0;
  min-width: 0;
}

.instagram-grid .instagram-post-link {
  display: block;
}

.instagram-grid .instagram-post-link img {
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.features-button,
.top-hero-button,
.top-hero-button-light,
.service-button,
.ohana-button,
.ohana-button-light,
.instagram-button,
.news-button,
.company-button,
.homes-more a {
  text-decoration: none;
}

.home-card:first-child {
  margin-left: 0;
}

.home-card {
  border: 1px solid rgb(230, 229, 227);
  border-radius: 6px;
  box-sizing: border-box;
  margin-left: 1.5%;
  padding-bottom: 18px;
  position: relative;
}

.home-photo {
  border-radius: 6px;
  display: block;
  height: 150px;
  object-fit: cover;
  width: 100%;
}

.home-tag {
  background-color: rgb(244, 240, 233);
  border-radius: 3px;
  color: rgb(59, 58, 54);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  text-align: center;
  width: auto;
}

.home-name {
  color: rgb(44, 44, 43);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  margin: 12px 14px 0;
}

.homes-cms {
  margin: 0 auto;
  max-width: 1100px;
}

.homes-cms .webgene-blog {
  display: block;
}

.home-tag {
  left: 10px;
  margin: 0;
  position: absolute;
  top: 10px;
  z-index: 2;
}

.flow-symbol {
  height: 40px;
  margin: 0 0 10px;
  object-fit: contain;
  width: 40px;
}

.flow-name { overflow-wrap: anywhere; word-break: keep-all; }

.service-button-gold:hover {
  background-color: rgb(255, 255, 255);
  border-color: rgb(160, 109, 44);
  color: rgb(160, 109, 44);
}

.ohana-button:hover,
.instagram-button-orange:hover {
  background-color: rgb(255, 255, 255);
  border-color: rgb(201, 130, 47);
  color: rgb(201, 130, 47);
}

.ohana-text-secondary {
  margin-top: -14px;
}

.news-item {
  border-bottom: 1px solid #e3e1dc;
}

.news-item:first-child {
  border-top: 1px solid #e3e1dc;
}

.news-mark,
.company-phone {
  text-decoration: none;
}

.top-hero {
  min-height: 610px;
  padding: 190px 22px 50px;
}

.top-hero-title,
.top-hero-title-second {
  font-size: 34px;
}

.top-hero-copy {
  font-size: 13px;
}

.top-hero-actions,
.concept-section,
.services-list,
.features-bottom,
.flow-list,
.news-content,
.company-section {
  display: block;
}

.top-hero-button,
.top-hero-button-light {
  display: flex;
  margin: 12px 0 0;
  max-width: 290px;
}

.concept-photo,
.concept-copy,
.company-info,
.company-map {
  width: 100%;
}

.concept-photo {
  height: 260px;
}

.concept-copy {
  padding: 42px 22px;
}

.concept-title,
.concept-title-second,
.features-title {
  font-size: 28px;
}

.features-section,
.services-section,
.homes-section,
.flow-section,
.news-section {
  padding: 52px 22px;
}

.feature-item {
  width: 100%;
}

.features-bottom {
  margin-top: 18px;
}

.features-button {
  margin-top: 22px;
}

.service-card {
  width: 100%;
}

.service-card-gold {
  margin: 22px 0 0;
}

.home-card {
  margin: 0 0 20px;
  width: 100%;
}

.home-photo {
  height: 230px;
}

.flow-step {
  margin: 0 auto 24px;
  width: 70%;
}

.flow-arrow {
  display: none;
}

.ohana-bakery {
  display: block;
  overflow: hidden;
  padding: 48px 22px;
  position: relative;
}

.ohana-copy {
  width: 100%;
}

.ohana-bakery .ohana-main-photo {
  height: 300px;
  margin: 30px 0 0;
  width: 100%;
}

.ohana-bakery .ohana-main-photo-second {
  margin-top: 100px;
}

.instagram-area {
  padding: 48px 22px;
}

.instagram-columns {
  display: block;
}

.instagram-column {
  width: 100%;
}

.instagram-column + .instagram-column {
  margin: 38px 0 0;
}

.instagram-photo {
  height: 110px;
}

.news-list {
  width: 100%;
}

.news-item {
  align-items: flex-start;
  flex-wrap: wrap;
}

.news-date {
  width: 100px;
}

.news-title {
  margin-top: 10px;
  width: 80%;
}

.news-button {
  margin: 28px 0 0;
}

.company-map {
  height: 320px;
}

.company-actions {
  display: block;
}

.company-button {
  display: flex;
  margin: 10px 0 0;
}

@media (max-width: 480px) {
  .top-hero {
    min-height: 650px;
    padding: 220px 22px 50px;
  }
}

@media (min-width: 768px) {
  .top-hero {
    min-height: 640px;
    padding: 120px 34px 60px;
  }

  .top-hero-title,
  .top-hero-title-second {
    font-size: 44px;
  }

  .top-hero-copy {
    font-size: 15px;
  }

  .top-hero-actions {
    display: flex;
  }

  .top-hero-button,
  .top-hero-button-light {
    display: inline-flex;
    margin: 0;
    max-width: none;
  }

  .top-hero-button-light {
    margin-left: 14px;
  }

  .concept-copy {
    padding: 44px 30px;
    width: 64%;
  }

  .concept-photo {
    height: auto;
    width: 36%;
  }

  .concept-section {
    display: flex;
  }

  .concept-accent {
    display: none;
  }

  .features-section,
  .features-list {
    display: block;
  }

  .features-section,
  .services-section,
  .homes-section,
  .flow-section,
  .news-section {
    padding: 70px 6%;
  }

  .features-intro,
  .features-list {
    width: 100%;
  }

  .features-main-photo {
    max-height: 420px;
  }

  .features-section .features-main-photo {
    margin-left: -6vw;
    max-height: none;
    width: calc(100% + 6vw);
  }

  .features-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 38px;
  }

  .service-card {
    display: block;
    width: 49%;
  }

  .services-list {
    display: flex;
  }

  .service-card-gold {
    margin: 0 0 0 2%;
  }

  .service-photo,
  .service-body {
    width: 100%;
  }

  .service-photo {
    height: 240px;
  }

  .homes-list {
    flex-wrap: wrap;
  }

  .homes-cms .webgene-blog {
    display: flex;
    flex-wrap: wrap;
  }

  .home-card {
    margin: 0 1% 20px;
    width: 31.333%;
  }

  .ohana-section {
    display: block;
  }

  .ohana-bakery,
  .instagram-area {
    width: 100%;
  }

  .ohana-bakery {
    display: flex;
    min-height: 430px;
    overflow: hidden;
    padding: 60px 4%;
    position: relative;
  }

  .ohana-copy {
    position: relative;
    width: 58%;
    z-index: 2;
  }

  .ohana-bakery .ohana-main-photo {
    border-radius: 50%;
    height: 330px;
    margin: 63px 19px 0 0;
    position: absolute;
    right: -98px;
    top: -98px;
    width: 330px;
    z-index: 1;
  }

  .ohana-bakery .ohana-main-photo-second {
    margin-top: 140px;
    top: 2px;
  }

  .instagram-area {
    padding: 58px 3%;
  }

  .instagram-columns {
    display: flex;
  }

  .instagram-column {
    width: 50%;
  }

  .instagram-column + .instagram-column {
    margin: 0 0 0 28px;
  }

  .instagram-photo {
    height: 82px;
  }

  .flow-list,
  .news-content,
  .company-section {
    display: flex;
  }

  .features-bottom {
    display: flex;
  }

  .features-button {
    margin-top: 0;
  }

  .flow-step {
    margin: 0;
    width: 14%;
  }

  .flow-arrow {
    display: block;
    margin-top: 42px;
  }

  .news-list {
    width: 76%;
  }

  .news-item {
    align-items: center;
    flex-wrap: nowrap;
  }

  .news-title {
    margin-top: 0;
    width: auto;
  }

  .news-button {
    margin: 0 0 0 40px;
  }

  .company-info,
  .company-map {
    width: 50%;
  }

  .company-map {
    height: auto;
  }

  .company-actions {
    display: flex;
  }

  .company-button {
    display: inline-flex;
    margin: 0 12px 0 0;
  }
}

@media (min-width: 1024px) {
  .top-hero {
    min-height: 720px;
    padding: 130px 56px 70px;
  }

  .top-hero-title,
  .top-hero-title-second {
    font-size: 56px;
  }

  .concept-copy {
    padding: 60px 48px;
    width: 46%;
  }

  .concept-accent {
    display: block;
    width: 18%;
  }

  div.features-section {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: max(6%, calc(50vw - 590px));
    padding-right: max(6%, calc(50vw - 590px));
  }

  div.services-section,
  div.homes-section,
  div.flow-section,
  div.news-section {
    padding-left: max(6%, calc(50vw - 590px));
    padding-right: max(6%, calc(50vw - 590px));
  }

  .features-section .features-main-photo {
    height: min(36.6vw, 528px);
    margin-bottom: -37px;
    margin-left: calc(min(-6vw, calc(590px - 50vw)) - 31px);
    margin-right: -26px;
    margin-top: -107px;
    width: calc(100% + max(6vw, calc(50vw - 590px)) + 31px);
  }

  .features-intro {
    width: 38%;
  }

  .features-list {
    margin-top: 0;
    width: 56%;
  }

  div.company-info {
    padding-left: max(6%, calc(50vw - 590px));
    padding-right: 40px;
  }

  .feature-item {
    width: 48%;
  }

  .features-bottom {
    margin-top: 36px;
  }

  .service-card {
    display: flex;
  }

  .service-photo {
    height: auto;
    width: 42%;
  }

  .service-body {
    width: 58%;
  }

  .home-card {
    margin: 0 0 0 1.5%;
    width: 18.8%;
  }

  .home-card:first-child {
    margin-left: 0;
  }

  .home-photo {
    height: 150px;
  }

  .ohana-section {
    display: flex;
  }

  .ohana-bakery,
  .instagram-area {
    width: 50%;
  }

  .concept-title,
  .concept-title-second {
    font-size: 30px;
  }
}

/* 2026-07 content-width, typography, and interaction adjustments */
@media (min-width: 768px) {
  .features-section .features-main-photo { margin-left: -30px; width: calc(100% + 30px); }
  .concept-section, .features-section, .services-section, .homes-section, .flow-section, .news-section, .ohana-section, .company-section { padding-left: max(22px, calc((100% - 1100px) / 2)); padding-right: max(22px, calc((100% - 1100px) / 2)); }
}
.top-hero-title, .top-hero-title-second, .top-hero h1 { font-size: 42px; }
.concept-section h2, .features-section h2, .services-section h2, .homes-section h2, .flow-section h2, .ohana-section h2, .news-section h2, .company-section h2 { font-size: 30px; }
.top-hero h3, .concept-section h3, .features-section h3, .services-section h3, .homes-section h3, .flow-section h3, .ohana-section h3, .news-section h3, .company-section h3 { font-size: 20px; }
.top-hero h4, .concept-section h4, .features-section h4, .services-section h4, .homes-section h4, .flow-section h4, .ohana-section h4, .news-section h4, .company-section h4 { font-size: 18px; }
.top-hero p, .concept-section p, .features-section p, .services-section p, .homes-section p, .flow-section p, .ohana-section p, .news-section p, .company-section p { font-size: 16px; }
.masa-button { font-size: 16px; }
.features-section .feature-number, .flow-section .flow-number, .flow-section .flow-name, .flow-section .flow-note, .homes-section .home-tag, .news-section .news-date, .news-section .news-tag, .company-section .company-label, .company-section .company-value { font-size: 14px; }
.home-card-link { color: inherit; display: block; height: 100%; text-decoration: none; }
.home-card, .news-item { transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.home-card:hover { box-shadow: 0 8px 22px rgba(38, 38, 31, .12); transform: translateY(-4px); }
.home-card:hover .home-photo { transform: scale(1.03); }
.home-photo { transition: transform .25s ease; }
.news-item:hover { background-color: #f4efe6; }
.news-item:hover .news-mark { transform: translateX(4px); }
.news-mark { transition: transform .25s ease; }
.news-content { display: block; }
.news-list { width: 100%; }
.news-button { display: flex; margin: 32px auto 0; width: fit-content; }
@media (max-width: 767px) {
  .top-hero-title, .top-hero-title-second, .top-hero h1 { font-size: 32px; }
  .concept-section h2, .features-section h2, .services-section h2, .homes-section h2, .flow-section h2, .ohana-section h2, .news-section h2, .company-section h2 { font-size: 24px; }
}

/* 2026-07-28 top page layout corrections */
@media (min-width: 768px) {
  .top-hero-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
    width: 100%;
  }

  .concept-section {
    padding-left: 0;
    padding-right: 0;
  }

  .concept-photo {
    width: calc(36% + max(22px, calc((100vw - 1100px) / 2)));
  }

  .concept-copy {
    width: calc(46% - max(22px, calc((100vw - 1100px) / 2)));
  }

  .features-section .features-main-photo {
    margin-left: calc(-1 * max(6%, calc(50vw - 590px)));
    width: calc(100% + max(6%, calc(50vw - 590px)));
  }

  .ohana-section,
  .company-section {
    padding-left: 0;
    padding-right: 0;
  }

  .ohana-bakery {
    padding-left: max(22px, calc((100vw - 1100px) / 2));
    padding-right: 40px;
  }

  .instagram-area {
    padding-left: 40px;
    padding-right: max(22px, calc((100vw - 1100px) / 2));
  }

  .company-info {
    padding-left: max(22px, calc((100vw - 1100px) / 2));
    padding-right: 40px;
  }
}

.features-section .feature-number {
  font-size: 42px;
}

.news-list .masa-news-list {
  border-top: 1px solid #e3e1dc;
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-list .masa-news-row {
  align-items: center;
  border-bottom: 1px solid #e3e1dc;
  color: rgb(59, 58, 54);
  display: grid;
  gap: 0;
  grid-template-columns: 110px 90px minmax(0, 1fr) 24px;
  min-height: 0;
  padding: 14px 4px;
  text-decoration: none;
}

.news-list .masa-news-row time {
  color: inherit;
  font-size: 14px;
  letter-spacing: normal;
}

.news-list .masa-news-tag {
  background-color: rgb(155, 152, 144);
  border-radius: 14px;
  color: rgb(255, 255, 255);
  font-size: 12px;
  padding: 4px 14px;
  width: 90px;
}

.news-list .masa-news-title {
  color: inherit;
  font-size: 14px;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.news-list .masa-news-arrow {
  color: rgb(124, 122, 115);
  font-size: 16px;
}

.news-list .masa-news-row:hover {
  background-color: #f4efe6;
}

@media (max-width: 767px) {
  .news-list .masa-news-row {
    gap: 8px 10px;
    grid-template-areas: "date tag" "title title";
    grid-template-columns: 100px minmax(0, 1fr);
    padding: 14px 32px 14px 4px;
    position: relative;
  }

  .news-list .masa-news-row time { grid-area: date; }
  .news-list .masa-news-tag { grid-area: tag; }
  .news-list .masa-news-title { grid-area: title; }
  .news-list .masa-news-arrow { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); }
}

*{box-sizing:border-box}

.service-card .service-text{line-break:auto;overflow-wrap:normal;white-space:normal;word-break:normal}

@media (min-width:768px){.company-section{align-items:stretch}.company-map{align-self:stretch;display:flex;height:auto}.company-map-component{display:flex;flex:1;min-height:0}.company-map-frame{flex:1}}

.service-card{border-width:1px;border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-style:solid;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-color:rgb(166,123,67);border-top-color:rgb(166,123,67);border-right-color:rgb(166,123,67);border-bottom-color:rgb(166,123,67);border-left-color:rgb(166,123,67);border-top:1px solid rgb(166,123,67);border-right:1px solid rgb(166,123,67);border-bottom:1px solid rgb(166,123,67);border-left:1px solid rgb(166,123,67);border-image:none;border-radius:4px;display:flex;width:49%}

.service-card-green{border-color:rgb(63,74,55);border-top-color:rgb(63,74,55);border-right-color:rgb(63,74,55);border-bottom-color:rgb(63,74,55);border-left-color:rgb(63,74,55)}

.service-button-gold{background-color:rgb(160,109,44);border-color:rgb(160,109,44);border-top-color:rgb(160,109,44);border-right-color:rgb(160,109,44);border-bottom-color:rgb(160,109,44);border-left-color:rgb(160,109,44)}

.ohana-button{background-color:rgb(201,130,47);border-color:rgb(201,130,47);border-top-color:rgb(201,130,47);border-right-color:rgb(201,130,47);border-bottom-color:rgb(201,130,47);border-left-color:rgb(201,130,47);font-size:12px;margin-top:10px;width:230px}

.ohana-button-light{background-color:rgb(201,130,47);border-color:rgb(201,130,47);border-top-color:rgb(201,130,47);border-right-color:rgb(201,130,47);border-bottom-color:rgb(201,130,47);border-left-color:rgb(201,130,47);font-size:12px;margin-top:10px;width:230px}

.instagram-button-orange{background-color:rgb(201,130,47);border-color:rgb(201,130,47);border-top-color:rgb(201,130,47);border-right-color:rgb(201,130,47);border-bottom-color:rgb(201,130,47);border-left-color:rgb(201,130,47)}

.company-map-frame{border-width:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;border-color:currentcolor;border-top-color:currentcolor;border-right-color:currentcolor;border-bottom-color:currentcolor;border-left-color:currentcolor;border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;border-image:none;display:block;height:100%;width:100%}

@media (min-width:768px) and (max-width:1023px){.top-hero{min-height:640px;padding-top:120px;padding-right:34px;padding-bottom:60px;padding-left:34px;padding:120px 34px 60px}.top-hero-title{font-size:44px}.top-hero-title-second{font-size:44px}.top-hero-copy{font-size:15px}.top-hero-actions{display:flex}.concept-section{display:flex}.services-list{display:flex}.flow-list{display:flex}.news-content{display:flex}.company-section{display:flex}.top-hero-button{display:inline-flex;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:0px;max-width:none}.top-hero-button-light{display:inline-flex;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:0px;max-width:none}.top-hero-button-light{margin-left:14px}.concept-copy{padding-top:44px;padding-right:30px;padding-bottom:44px;padding-left:30px;padding:44px 30px;width:64%}.concept-photo{height:auto;width:36%}.concept-accent{display:none}.features-section{display:block}.features-list{display:block}.ohana-section{display:block}.features-section{padding-top:70px;padding-right:6%;padding-bottom:70px;padding-left:6%;padding:70px 6%}.services-section{padding-top:70px;padding-right:6%;padding-bottom:70px;padding-left:6%;padding:70px 6%}.homes-section{padding-top:70px;padding-right:6%;padding-bottom:70px;padding-left:6%;padding:70px 6%}.flow-section{padding-top:70px;padding-right:6%;padding-bottom:70px;padding-left:6%;padding:70px 6%}.news-section{padding-top:70px;padding-right:6%;padding-bottom:70px;padding-left:6%;padding:70px 6%}.features-intro{width:100%}.features-list{width:100%}.ohana-bakery{width:100%}.instagram-area{width:100%}.features-list{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:38px}.service-card{display:block;width:49%}.service-card-gold{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:2%;margin:0px 0px 0px 2%}.service-photo{width:100%}.service-body{width:100%}.service-photo{height:240px}.homes-list,.homes-cms .webgene-blog{display:flex;flex-wrap:wrap}.ohana-bakery{display:flex;min-height:430px;overflow:hidden;padding-top:60px;padding-right:4%;padding-bottom:60px;padding-left:4%;padding:60px 4%;position:relative}.ohana-copy{position:relative;width:58%;z-index:2}.ohana-bakery .ohana-main-photo{border-radius:50%;height:330px;margin-top:63px;margin-right:19px;margin-bottom:0px;margin-left:0px;margin:63px 19px 0px 0px;position:absolute;right:-98px;top:-98px;width:330px;z-index:1}.ohana-bakery .ohana-main-photo-second{margin-top:140px;top:2px}.instagram-area{padding-top:58px;padding-right:3%;padding-bottom:58px;padding-left:3%;padding:58px 3%}.instagram-columns{display:flex}.instagram-column{width:50%}.instagram-column+.instagram-column{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:28px;margin:0px 0px 0px 28px}.instagram-photo{height:82px}.features-bottom{display:flex}.features-button{margin-top:0px}.flow-step{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:0px;width:14%}.flow-arrow{display:block;margin-top:42px}.news-list{width:76%}.news-item{align-items:center;flex-wrap:nowrap}.news-title{margin-top:0px;width:auto}.news-button{margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;margin:0px 0px 0px 40px}.company-info{width:50%}.company-map{width:50%}.company-map{height:auto}.company-actions{display:flex}.company-button{display:inline-flex;margin-top:0px;margin-right:12px;margin-bottom:0px;margin-left:0px;margin:0px 12px 0px 0px}}

@media (max-width:767px){.top-hero{min-height:610px;padding-top:190px;padding-right:22px;padding-bottom:50px;padding-left:22px;padding:190px 22px 50px}.top-hero-title{font-size:34px}.top-hero-title-second{font-size:34px}.top-hero-copy{font-size:13px}.top-hero-actions{display:block}.concept-section{display:block}.services-list{display:block}.features-bottom{display:block}.flow-list{display:block}.ohana-section{display:block}.news-content{display:block}.company-section{display:block}.top-hero-button{display:flex;margin-top:12px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:12px 0px 0px;max-width:290px;width:100%}.top-hero-button-light{display:flex;margin-top:12px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:12px 0px 0px;max-width:290px;width:100%}.concept-photo{width:100%}.concept-copy{width:100%}.features-intro{width:100%}.features-list{width:100%}.service-card{width:100%}.service-photo{width:100%}.service-body{width:100%}.ohana-bakery{width:100%}.ohana-copy{width:100%}.instagram-area{width:100%}.news-list{width:100%}.company-info{width:100%}.company-map{width:100%}.concept-photo{height:260px}.concept-copy{padding-top:42px;padding-right:22px;padding-bottom:42px;padding-left:22px;padding:42px 22px}.concept-accent{display:none}.concept-title{font-size:28px}.concept-title-second{font-size:28px}.features-title{font-size:28px}.features-section{padding-top:52px;padding-right:22px;padding-bottom:52px;padding-left:22px;padding:52px 22px}.services-section{padding-top:52px;padding-right:22px;padding-bottom:52px;padding-left:22px;padding:52px 22px}.homes-section{padding-top:52px;padding-right:22px;padding-bottom:52px;padding-left:22px;padding:52px 22px}.flow-section{padding-top:52px;padding-right:22px;padding-bottom:52px;padding-left:22px;padding:52px 22px}.news-section{padding-top:52px;padding-right:22px;padding-bottom:52px;padding-left:22px;padding:52px 22px}.feature-item{width:100%}.feature-item{align-items:flex-start;column-gap:16px;display:flex;min-width:0px}.feature-thumb{flex-grow:0;flex-shrink:0;flex-basis:118px;flex:0 0 118px}.feature-body{flex-grow:1;flex-shrink:1;flex-basis:0%;flex:1 1 0%;min-width:0px;padding-left:0px;width:auto}.feature-name{max-width:100%;writing-mode:horizontal-tb}.feature-description{max-width:100%;writing-mode:horizontal-tb}.features-list{margin-top:32px;margin-right:auto;margin-bottom:0px;margin-left:auto;margin:32px auto 0px;max-width:470px}.features-bottom{margin-top:18px}.features-button{margin-top:22px}.service-card{display:block}.service-card-gold{margin-top:22px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:22px 0px 0px}.service-photo{height:220px}.flow-step{margin-top:0px;margin-right:auto;margin-bottom:24px;margin-left:auto;margin:0px auto 24px;width:70%}.flow-arrow{display:none}.ohana-bakery{overflow:hidden;padding-top:48px;padding-right:22px;padding-bottom:48px;padding-left:22px;padding:48px 22px;position:relative}.ohana-bakery .ohana-main-photo{height:300px;margin-top:30px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:30px 0px 0px;width:100%}.ohana-bakery .ohana-main-photo-second{margin-top:100px}.instagram-area{padding-top:48px;padding-right:22px;padding-bottom:48px;padding-left:22px;padding:48px 22px}.instagram-columns{display:block}.instagram-column{width:100%}.instagram-column+.instagram-column{margin-top:38px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:38px 0px 0px}.instagram-photo{height:110px}.news-item{align-items:flex-start;flex-wrap:wrap}.news-date{width:100px}.news-title{margin-top:10px;width:80%}.news-button{margin-top:28px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:28px 0px 0px}.company-value{flex-grow:1;flex-shrink:1;flex-basis:0%;flex:1 1 0%;min-width:0px}.company-map{height:320px}.company-actions{display:block}.company-button{display:flex;margin-top:10px;margin-right:0px;margin-bottom:0px;margin-left:0px;margin:10px 0px 0px}}

@media (max-width:480px){.top-hero{min-height:650px;padding-top:220px;padding-right:22px;padding-bottom:50px;padding-left:22px;padding:220px 22px 50px}}

*{box-sizing:border-box}

@media (max-width:767px){
  body .top-hero{padding-left:16px;padding-right:16px}
  body .top-hero-copy{font-size:16px}
  body .top-hero-actions{display:flex;flex-direction:column;gap:12px}
  body .top-hero-button,body .top-hero-button-light{margin:0;max-width:none;width:100%}
  body .ohana-bakery{display:flex;flex-direction:column;padding:48px 22px}
  body .ohana-bakery .ohana-main-photo{align-self:flex-end;border-radius:50%;height:190px;margin:0 0 28px;object-fit:cover;order:1;width:190px}
  body .ohana-bakery .ohana-copy{order:2}
  body .ohana-bakery .ohana-main-photo-second{display:none}
}

/* 2026-07-28 final desktop layout precedence */
@media (min-width:768px){
  .top-hero-content{margin-left:auto;margin-right:auto;max-width:1100px;width:100%}
  .concept-section{padding-left:0;padding-right:0}
  .concept-photo{width:calc(36% + max(22px, calc((100vw - 1100px) / 2)))}
  .concept-copy{width:calc(46% - max(22px, calc((100vw - 1100px) / 2)))}
  .features-section .features-main-photo{margin-left:calc(-1 * max(6%, calc(50vw - 590px)));width:calc(100% + max(6%, calc(50vw - 590px)))}
  .ohana-section,.company-section{padding-left:0;padding-right:0}
  .ohana-bakery{padding-left:max(22px, calc((100vw - 1100px) / 2));padding-right:40px}
  .instagram-area{padding-left:40px;padding-right:max(22px, calc((100vw - 1100px) / 2))}
  .company-info{padding-left:max(22px, calc((100vw - 1100px) / 2));padding-right:40px}
}

.features-section .feature-number{font-size:42px}

body:has(.top-hero) .top-header{background-color:transparent;transition:background-color 180ms ease}
body:has(.top-hero) .top-header.is-scrolled{background-color:rgba(110,108,102,0.7)}

body:has(.top-hero) .top-hero-content{flex:0 1 1100px;margin-left:auto;margin-right:auto;max-width:1100px;width:100%}

.news-list .masa-news-row{grid-template-columns:110px 96px minmax(0,1fr) 24px}
.news-list .masa-news-tag{align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;justify-self:center;line-height:1.2;margin:0;padding:4px 8px;text-align:center;width:82px}
.news-list .masa-news-title{padding-left:8px}
.news-list .masa-news-arrow{justify-self:end}

.news-list .masa-news-row>time,.news-list .masa-news-row>.masa-news-tag,.news-list .masa-news-row>.masa-news-title,.news-list .masa-news-row>.masa-news-arrow{align-self:center}

.news-list .masa-news-title{align-items:center;display:flex;height:100%;margin:0}

.news-button{white-space:nowrap}
.text-wrap-browser-default{line-break:auto;overflow-wrap:normal;white-space:normal;word-break:normal}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

@media (max-width:767px){body .ohana-section{display:block}body .ohana-bakery,body .instagram-area{width:100%}body .instagram-columns{display:block}body .instagram-column{width:100%}body .instagram-column+.instagram-column{margin-top:38px;margin-left:0}body .news-content{display:block}body .news-list{width:100%}body .news-button{margin:28px 0px 0px}}

@media (max-width:767px){body .flow-note{text-align:left}}

@media (max-width:767px){body .top-hero-title{font-size:26px;letter-spacing:0.03em;line-height:1.5}}

@media (max-width:767px){body .concept-section{display:block}body .concept-photo,body .concept-copy{width:100%}body .concept-photo{height:260px}body .concept-copy{padding:42px 22px}body .concept-accent{display:none}}

@media (max-width:767px){body .features-section{display:block;padding:52px 22px}body .features-intro,body .features-list,body .features-bottom{width:100%}body .features-list{margin:32px auto 0;max-width:470px}body .feature-item{align-items:flex-start;column-gap:16px;display:flex;margin-bottom:32px;min-width:0;width:100%}body .feature-thumb{flex:0 0 118px}body .feature-body{flex:1 1 0;min-width:0;padding-left:0;width:auto}body .feature-name,body .feature-description{max-width:100%;writing-mode:horizontal-tb}body .features-bottom{display:block;margin-top:18px}body .features-button{margin-top:22px}}

@media (max-width:767px){body .services-section{padding:52px 22px}body .services-list{display:block;width:100%}body .service-card{display:block;width:100%}body .service-card-gold{margin:22px 0 0}body .service-photo{height:220px;width:100%}body .service-body{width:100%}}

@media (max-width:767px){body .flow-section{padding:52px 22px}body .flow-list{display:block}body .flow-step{margin:0 auto 24px;width:70%}body .flow-arrow{display:none}}

/* On narrow screens, keep each consultation step as one horizontal row. */
@media (max-width:767px){
  body .flow-step{align-items:center;column-gap:13px;display:flex;flex-direction:row;justify-content:flex-start;margin:0 0 18px;width:100%}
  body .flow-step .flow-number,.flow-step .flow-name{margin:0}
  body .flow-step .flow-name{text-align:left}
}

.home-card-link:hover,.home-card-link:hover .home-name{text-decoration:none}

@media (max-width:767px){body .company-section{display:block}body .company-info{padding:46px 22px;width:100%}body .company-value{flex:1 1 0;min-width:0}body .company-map{height:320px;width:100%}body .company-actions{display:block}body .company-button{display:flex;margin:10px 0 0}}

@media (max-width:767px){
  body .ohana-bakery{display:block;min-height:0;overflow:hidden;padding:240px 22px 48px;position:relative}
  body .ohana-bakery .ohana-copy{position:relative;width:100%;z-index:2}
  body .ohana-bakery .ohana-main-photo{border-radius:50%;height:380px;margin:0;object-fit:cover;position:absolute;right:-113px;top:-153px;width:380px;z-index:1}
  body .ohana-bakery .ohana-main-photo-second{display:none}
  body .news-list .masa-news-row{column-gap:12px;grid-template-areas:"date tag ." "title title title";grid-template-columns:max-content max-content minmax(0,1fr)}
  body .news-list .masa-news-tag{justify-self:start}
  body .services-section .masa-section-heading{font-size:22px}
}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}

*{box-sizing:border-box}
