/*
Theme Name: Twenty Twenty-one Child
Version: 1.6
Template: twentytwentyone
*/
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

#family #trouble {
  background: #fff;
}
#family #trouble .trouble__wrapper {
  padding-top: max(12.5rem, 80px);
}
#family #trouble .trouble__wrapper .trouble__list {
  display: grid;
  gap: max(1.5rem, 10px);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  #family #trouble .trouble__wrapper .trouble__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
#family #trouble .trouble__wrapper .trouble__list .trouble__item img {
  aspect-ratio: 62/39;
}
#family #trouble .trouble__wrapper .trouble__list .trouble__item:nth-of-type(2) img {
  animation-delay: 0.2s;
}
#family #trouble .trouble__wrapper .trouble__list .trouble__item:nth-of-type(3) img {
  animation-delay: 0.4s;
}
#family #trouble .trouble__wrapper .trouble__list .trouble__item:nth-of-type(4) img {
  animation-delay: 0.6s;
}
#family #trouble .trouble__wrapper .trouble__list .trouble__item figcaption {
  margin-top: max(1rem, 10px);
  line-height: 1.5;
}
#family #trouble .trouble__wrapper .trouble__arrow {
  padding: max(4rem, 30px) 0;
  text-align: center;
}
#family #trouble .trouble__wrapper .trouble__arrow img {
  width: 37px;
}
#family #trouble .trouble__wrapper .trouble__commit {
  padding: max(3rem, 30px);
  background: rgba(59, 49, 40, 0.1);
}
#family #trouble .trouble__wrapper .trouble__commit p {
  text-align: center;
  font-size: max(1.8rem, 16px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #family #trouble .trouble__wrapper .trouble__commit p {
    text-align: left;
  }
  #family #trouble .trouble__wrapper .trouble__commit p span {
    display: inline;
  }
}
#family #benefits {
  background: #fff;
}
#family #benefits .benefits__wrapper {
  padding-top: max(11rem, 50px);
}
#family #benefits .benefits__wrapper .benefits__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: max(1.5rem, 15px);
  padding: max(5rem, 30px) max(12rem, 50px);
  border: 1px solid #3b3128;
}
@media screen and (max-width: 768px) {
  #family #benefits .benefits__wrapper .benefits__content {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 550px) {
  #family #benefits .benefits__wrapper .benefits__content {
    padding: 30px;
  }
}
#family #benefits .benefits__wrapper .benefits__content .benefits__item {
  display: flex;
  align-items: center;
  gap: max(3rem, 15px);
}
#family #benefits .benefits__wrapper .benefits__content .benefits__item img {
  flex-shrink: 0;
  height: 1lh;
  width: auto;
}
#family #benefits .benefits__wrapper .benefits__content .benefits__item p {
  flex: 1;
  line-height: 1.5;
}
#family #plan {
  background: #fff;
}
#family #plan .plan__wrapper {
  padding-top: max(12.5rem, 80px);
}
#family #plan .plan__wrapper hgroup {
  margin-bottom: max(2rem, 15px);
}
#family #plan .plan__wrapper .plan__content {
  margin-top: max(6rem, 40px);
}
#family #plan .plan__wrapper .plan__content .plan__item {
  display: flex;
  align-items: center;
  gap: max(9rem, 30px);
}
#family #plan .plan__wrapper .plan__content .plan__item:not(:last-of-type) {
  padding-bottom: max(3rem, 20px);
  margin-bottom: max(3rem, 20px);
  border-bottom: 1px solid #c2c0bd;
}
@media screen and (max-width: 768px) {
  #family #plan .plan__wrapper .plan__content .plan__item {
    gap: 20px;
    flex-direction: column;
  }
  #family #plan .plan__wrapper .plan__content .plan__item:not(:last-of-type) {
    padding-bottom: max(10rem, 50px);
    margin-bottom: max(10rem, 50px);
  }
}
#family #plan .plan__wrapper .plan__content .plan__item .imageBox {
  flex-shrink: 0;
  width: max(28.5rem, 200px);
}
@media screen and (max-width: 768px) {
  #family #plan .plan__wrapper .plan__content .plan__item .imageBox {
    width: 100%;
  }
}
#family #plan .plan__wrapper .plan__content .plan__item .textBox {
  flex: 1;
}
#family #plan .plan__wrapper .plan__content .plan__item .textBox h3 {
  font-weight: 500;
  line-height: 2;
  margin-bottom: max(1rem, 5px);
}
#family #plan .plan__wrapper .plan__content .plan__item .textBox p {
  line-height: 2;
}
#family #works {
  background: #fff;
}
#family #works .works__wrapper {
  padding-top: max(10rem, 70px);
  padding-bottom: max(10rem, 70px);
  border-bottom: max(0.1rem, 1px) solid rgba(59, 49, 40, 0.15);
}
#family #works .works__wrapper .works__content .works__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: max(6rem, 60px) max(6rem, 30px);
}
@media screen and (max-width: 1000px) {
  #family #works .works__wrapper .works__content .works__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  #family #works .works__wrapper .works__content .works__list {
    row-gap: max(10rem, 30px);
    grid-template-columns: 1fr;
  }
}
#family #works .works__wrapper .works__content .works__list .works__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: max(3rem, 30px);
}
#family #works .works__wrapper .works__content .works__list .works__item:nth-of-type(2) a figure .imageBox img {
  animation-delay: 0.3s;
}
#family #works .works__wrapper .works__content .works__list .works__item:nth-of-type(3) a figure .imageBox img {
  animation-delay: 0.6s;
}
#family #works .works__wrapper .works__content .works__list .works__item:nth-of-type(4) {
  display: none;
}
@media screen and (max-width: 1000px) {
  #family #works .works__wrapper .works__content .works__list .works__item:nth-of-type(4) {
    display: grid;
  }
  #family #works .works__wrapper .works__content .works__list .works__item a figure .imageBox img {
    animation-delay: 0s !important;
  }
}
@media screen and (max-width: 768px) {
  #family #works .works__wrapper .works__content .works__list .works__item:not(:nth-of-type(1)) {
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    padding-top: max(10rem, 30px);
  }
  #family #works .works__wrapper .works__content .works__list .works__item:nth-of-type(4) {
    display: none;
  }
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure .imageBox {
  width: 100%;
  height: auto;
  aspect-ratio: 347/248;
  margin-bottom: max(2.5rem, 20px);
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure .imageBox img {
  width: 100%;
  height: 100%;
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure figcaption .works__item-meta {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: max(1rem, 10px);
       column-gap: max(1rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure figcaption .works__item-meta--num {
  font-family: YakuHanJP, "Jost", "Noto Sans JP", sans-serif;
  font-size: max(1.5rem, 13px);
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure figcaption .works__item-meta--place {
  font-size: max(1.4rem, 12px);
}
#family #works .works__wrapper .works__content .works__list .works__item--more figure figcaption h3.works__item-title {
  font-size: max(1.6rem, 14px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: max(1rem, 10px);
}
#family #works .works__wrapper .works__content .works__list .works__item--category {
  display: flex;
  flex-wrap: wrap;
  gap: max(1rem, 10px);
}
#family #works .works__wrapper .works__content .works__list .works__item--category li {
  line-height: 1;
}
#family #works .works__wrapper .works__content .works__list .works__item--category li a {
  display: inline-block;
  color: rgba(59, 49, 40, 0.4);
  font-size: max(1.3rem, 11px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
#family #works .works__wrapper .btn {
  text-align: center;
  margin-top: max(5.5rem, 50px);
}
#family #tax {
  background: #fff;
}
#family #tax .tax__wrapper {
  padding-top: max(10rem, 50px);
  padding-bottom: max(20rem, 100px);
}
#family #tax .tax__wrapper .tax__inner {
  display: flex;
  align-items: center;
  gap: max(7rem, 30px);
  margin-top: max(5rem, 30px);
}
@media screen and (max-width: 1300px) {
  #family #tax .tax__wrapper .tax__inner {
    gap: max(4rem, 30px);
  }
}
@media screen and (max-width: 1000px) {
  #family #tax .tax__wrapper .tax__inner {
    gap: 15px;
  }
}
#family #tax .tax__wrapper .tax__inner .imageBox {
  flex-shrink: 0;
  width: max(58.5rem, 300px);
}
@media screen and (max-width: 1000px) {
  #family #tax .tax__wrapper .tax__inner .imageBox {
    width: 100%;
  }
}
@media screen and (max-width: 1000px) {
  #family #tax .tax__wrapper .tax__inner:nth-of-type(1) {
    flex-direction: column;
  }
}
@media screen and (max-width: 1000px) {
  #family #tax .tax__wrapper .tax__inner:nth-of-type(2) {
    margin-top: max(10rem, 50px);
    flex-direction: column-reverse;
  }
}
#family #tax .tax__wrapper .tax__inner:nth-of-type(2) .imageBox {
  align-self: stretch;
}
@media screen and (max-width: 1000px) {
  #family #tax .tax__wrapper .tax__inner:nth-of-type(2) .imageBox {
    aspect-ratio: 21/10;
  }
}
#family #tax .tax__wrapper .tax__inner:nth-of-type(2) .imageBox img {
  height: 100%;
}/*# sourceMappingURL=two-family-home.css.map */