@charset "UTF-8";

/* ========================================
@media screen and (min-width: 768px),print {
======================================== */
@media screen and (min-width: 768px), print {
  #life-design {
    background-color: #fffffc; /* 背景色を指定 */
    background-image: url(../images/life-design/fv_bg.jpg); /* 画像を指定 */
    background-position: top center; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: contain; /* 画像のサイズ調整（必要に応じて変更） */
  }

  .p-fv {
    margin-block: 112px 191px;
  }

  .p-fv .p-fv__txt {
    font-size: 26px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.6153846154;
    margin-bottom: 42px;
    text-align: center;
  }

  .p-fv .p-fv__txt02 {
    text-align: center;
  }

  .p-fv .p-fv__txt02 p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.7142857143;
    margin-bottom: 38px;
  }

  .p-fv .p-fv__txt02 p:last-child {
    margin-bottom: 0;
  }

  .p-design01 {
    margin-bottom: 180px;
  }

  .p-design01 .l-design {
    margin-inline: auto;
    width: min(95%, 1600px);
  }

  .p-design01 .p-design01__ttl {
    background: url(../images/life-design/design01_bg.jpg) no-repeat top center/cover;
    color: #ffffff;
    margin-bottom: 80px;
    margin-inline: auto;
    padding-block: 142px;
    text-align: center;
    width: 100%;
  }

  .p-design01 .p-design01__ttl p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 7px;
  }

  .p-design01 .p-design01__ttl h2 {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.2857142857;
  }

  .p-design01 .p-design01__con {
    display: grid;
    gap: 0 5.6%;
    grid-template-columns: 47.2% 31.9%;
    margin-bottom: 149px;
    margin-inline: auto;
    width: min(95%, 1440px);
    align-items: center;
  }

  .p-design01 .p-design01__con-left img {
    height: auto;
    width: 100%;
  }

  .p-design01 .p-design01__con-right {
    position: relative;
    top: -3px;
  }

  .p-design01 .p-design01__con-right p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 24px;
  }

  .p-design01 .p-design01__con-right p:last-child {
    margin-bottom: 0;
  }

  .p-design01 .p-design01__con02 {
    display: grid;
    gap: 0 7.9%;
    grid-template-columns: 53% 45.3%;
    margin-inline: auto;
    width: min(95%, 965px);
  }

  .p-design01 .p-design01__con02-left p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 24px;
  }

  .p-design01 .p-design01__con02-left p:last-child {
    margin-bottom: 0;
  }

  .p-design01 .p-design01__con02-right img {
    height: auto;
    width: 100%;
  }

  .p-design02 {
    margin-bottom: 148px;
  }

  .p-design02 .p-design02__ttl {
    background: url(../images/life-design/design02_bg.jpg) no-repeat top center/cover;
    color: #ffffff;
    margin-bottom: 80px;
    margin-inline: auto;
    padding-block: 139px;
    text-align: center;
    width: min(95%, 1600px);
  }

  .p-design02 .p-design02__ttl p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 12px;
  }

  .p-design02 .p-design02__ttl h2 {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.2857142857;
  }

  .p-design02 .p-design02__con {
    display: grid;
    gap: 0 3.5%;
    grid-template-columns: 31.4% 63%;
    justify-content: flex-end;
    margin-bottom: 60px;
    margin-left: auto;
    width: min(100%, 1460px);
    align-items: center;
  }

  .p-design02 .p-design02__con-left {
    position: relative;
    top: -7px;
  }

  .p-design02 .p-design02__con-left p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 24px;
  }

  .p-design02 .p-design02__con-left p:last-child {
    margin-bottom: 0;
  }

  .p-design02 .p-design02__con-right img {
    height: auto;
    width: 100%;
  }

  .p-design02 .p-design02__con02 {
    display: grid;
    gap: 0 6.8%;
    grid-template-columns: 36.5% 34.4%;
    margin-inline: auto;
    width: min(95%, 1440px);
    align-items: center;
  }

  .p-design02 .p-design02__con02-left img {
    height: auto;
    width: 100%;
  }

  .p-design02 .p-design02__con02-right {
    position: relative;
    top: 11px;
  }

  .p-design02 .p-design02__con02-right p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 28px;
  }

  .p-design02 .p-design02__con02-right p:last-child {
    margin-bottom: 0;
  }

  .p-design03 {
    margin-bottom: 188px;
  }

  .p-design03 .p-design03__ttl {
    background: url(../images/life-design/design03_bg.jpg) no-repeat top center/cover;
    color: #ffffff;
    margin-bottom: 97px;
    margin-inline: auto;
    padding-block: 141px;
    text-align: center;
    width: min(95%, 1600px);
  }

  .p-design03 .p-design03__ttl p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 10px;
  }

  .p-design03 .p-design03__ttl h2 {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.2857142857;
  }

  .p-design03 .p-design03__con {
    display: grid;
    gap: 0 8.5%;
    grid-template-columns: 45.7% 57.2%;
    margin-bottom: 82px;
    margin-inline: auto;
    width: min(95%, 1042px);
    align-items: center;
  }

  .p-design03 .p-design03__con-left img {
    height: auto;
    width: 100%;
  }

  .p-design03 .p-design03__con-right p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 24px;
  }

  .p-design03 .p-design03__con-right p:last-child {
    margin-bottom: 0;
  }

  .p-design03 .p-design03__con02 {
    display: grid;
    gap: 0 16.7%;
    grid-template-columns: 42% 41%;
    margin-inline: auto;
    width: min(95%, 840px);
    align-items: center;
  }

  .p-design03 .p-design03__con02-left p {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 24px;
  }

  .p-design03 .p-design03__con02-left p:last-child {
    margin-bottom: 0;
  }

  .p-design03 .p-design03__con02-right img {
    height: auto;
    width: 100%;
  }

  .p-link {
    margin-bottom: 132px;
  }

  .p-link .l-inner.l-link {
    margin-inline: auto;
    width: min(95%, 1028px);
  }

  .p-link .p-link__items {
    display: grid;
    gap: 0 75px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-link .p-link__item a {
    display: block;
  }

  .p-link .p-link__item a img {
    height: auto;
    width: 100%;
  }
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
=========================== */
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .p-design03 .p-design03__con {
    grid-template-columns: 45.7% 45.7%;
  }
}

/* ========================================
@media screen and (max-width: 767px) {
======================================== */
@media screen and (max-width: 767px) {
  #life-design {
    background-color: #fffffc; /* 背景色を指定 */
    background-image: url(../images/life-design/fv_bg_sp.jpg); /* 画像を指定 */
    background-position: top center; /* 画像の位置を指定 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    background-size: contain; /* 画像のサイズ調整（必要に応じて変更） */
  }

  .p-fv {
    margin-block: 14vw 15.155vw;
  }

  .p-fv .l-inner.l-fv {
    margin-inline: auto;
    width: min(95%, 83.1vw);
  }

  .p-fv .p-fv__txt {
    font-size: 4.831vw;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.9;
    margin-bottom: 7.145vw;
    text-align: left;
  }

  .p-fv .p-fv__txt02 {
    text-align: left;
  }

  .p-fv .p-fv__txt02 p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.7142857143;
    margin-bottom: 8.797vw;
  }

  .p-fv .p-fv__txt02 p:last-child {
    margin-bottom: 0;
  }

  .p-design01 {
    margin-bottom: 8.213vw;
  }

  .p-design01 .l-design {
    width: 100%;
  }

  .p-design01 .p-design01__ttl {
    background: url(../images/life-design/design01_bg_sp.jpg) no-repeat top
      center/cover;
    color: #ffffff;
    margin-bottom: 9.662vw;
    margin-inline: auto;
    padding-block: 20.531vw;
    text-align: center;
    width: 100%;
  }

  .p-design01 .p-design01__ttl p {
    font-size: 2.899vw;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 0.797vw;
  }

  .p-design01 .p-design01__ttl h2 {
    font-size: 5.797vw;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.25;
  }

  .p-design01 .p-design01__con {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 8.246vw;
    margin-inline: auto;
    width: min(95%, 88.4057971014vw);
  }

  .p-design01 .p-design01__con-left {
    height: auto;
    width: 100%;
  }

  .p-design01 .p-design01__con-right {
    width: min(95%, 82.1vw);
    margin-inline: auto;
  }

  .p-design01 .p-design01__con-right p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 5.797vw;
  }

  .p-design01 .p-design01__con-right p:last-child {
    margin-bottom: 0;
  }

  .p-design01 .p-design01__con02 {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 82.1vw);
  }

  .p-design01 .p-design01__con02-left {
    order: 2;
  }

  .p-design01 .p-design01__con02-left p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 6.5vw;
  }

  .p-design01 .p-design01__con02-left p:last-child {
    margin-bottom: 0;
  }

  .p-design01 .p-design01__con02-right {
    order: 1;
  }

  .p-design01 .p-design01__con02-right img {
    height: auto;
    width: 100%;
  }

  .p-design02 {
    margin-bottom: 13.213vw;
  }

  .p-design02 .p-design02__ttl {
    background: url(../images/life-design/design02_bg_sp.jpg) no-repeat top
      center/cover;
    color: #ffffff;
    margin-bottom: 9.662vw;
    margin-inline: auto;
    padding-block: 20.531vw;
    text-align: center;
    width: 100%;
  }

  .p-design02 .p-design02__ttl p {
    font-size: 2.899vw;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 0.797vw;
  }

  .p-design02 .p-design02__ttl h2 {
    font-size: 5.797vw;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.25;
  }

  .p-design02 .p-design02__con {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 7.246vw;
    margin-inline: auto;
    width: min(95%, 88.4057971014vw);
  }

  .p-design02 .p-design02__con-left {
    order: 2;
    width: min(95%, 82.1vw);
    margin-inline: auto;
  }

  .p-design02 .p-design02__con-left p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 5.797vw;
  }

  .p-design02 .p-design02__con-left p:last-child {
    margin-bottom: 0;
  }

  .p-design02 .p-design02__con-right img {
    height: auto;
    width: 100%;
  }

  .p-design02 .p-design02__con-right {
    order: 1;
  }

  .p-design02 .p-design02__con02 {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 82.1vw);
    margin-inline: auto;
  }

  .p-design02 .p-design02__con02-left img {
    height: auto;
    width: 100%;
  }

  .p-design02 .p-design02__con02-right p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 6.797vw;
  }

  .p-design02 .p-design02__con02-right p:last-child {
    margin-bottom: 0;
  }

  .p-design03 {
    margin-bottom: 13.213vw;
  }

  .p-design03 .p-design03__ttl {
    background: url(../images/life-design/design03_bg_sp.jpg) no-repeat top
      center/cover;
    color: #ffffff;
    margin-bottom: 9.662vw;
    margin-inline: auto;
    padding-block: 21.531vw;
    text-align: center;
    width: 100%;
  }

  .p-design03 .p-design03__ttl p {
    font-size: 2.899vw;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: -0.203vw;
  }

  .p-design03 .p-design03__ttl h2 {
    font-size: 5.797vw;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 2.25;
  }

  .p-design03 .p-design03__con {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 88.4057971014vw);
    margin-bottom: 9vw;
  }

  .p-design03 .p-design03__con-left img {
    height: auto;
    width: 100%;
  }

  .p-design03 .p-design03__con-right {
    width: min(95%, 82.1vw);
    margin-inline: auto;
  }

  .p-design03 .p-design03__con-right p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 5.797vw;
  }

  .p-design03 .p-design03__con-right p:last-child {
    margin-bottom: 0;
  }

  .p-design03 .p-design03__con02 {
    display: grid;
    gap: 7.246vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-inline: auto;
    width: min(95%, 88.4057971014vw);
  }

  .p-design03 .p-design03__con02-left {
    order: 2;
    width: min(95%, 82.1vw);
    margin-inline: auto;
  }

  .p-design03 .p-design03__con02-left p {
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.1428571429em;
    line-height: 1.8571428571;
    margin-bottom: 5.797vw;
  }

  .p-design03 .p-design03__con02-left p:last-child {
    margin-bottom: 0;
  }

  .p-design03 .p-design03__con02-right {
    order: 1;
    text-align: center;
  }

  .p-design03 .p-design03__con02-right img {
    height: auto;
    width: 70.048vw;
  }

  .p-link {
    margin-bottom: 24.155vw;
  }

  .p-link .l-inner.l-link {
    margin-inline: auto;
    width: min(95%, 91.7vw);
  }

  .p-link .p-link__items {
    display: grid;
    gap: 3.662vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .p-link .p-link__item a {
    display: block;
  }

  .p-link .p-link__item a img {
    height: auto;
    width: 100%;
  }
}
