@charset "UTF-8";
/* =====
 * INDEX
=================================================================== */
/* ===== ALL ===== */

/* block-index-01：SEARCH */
#Main .block-index-01 {padding: 4.125em 0 4.625em;margin-top: -33em;position: relative;z-index: 2;}
#Main .block-index-01 header {margin-bottom: 1.5625em;}
#Main .block-index-01 form {padding: 2.125em 3.0625em 2.125em 3.1875em;border: 1.5px solid var(--green);border-radius: .875em .875em 0 0;background: #ffffffaa;}
#Main .block-index-01 form h3 {display: flex;align-items: center;gap: 1.25em;margin-bottom: 1.75em;}
#Main .block-index-01 form h3 img {width: 2.9375em;}
#Main .block-index-01 form h3 span {font-size: 168.75%;letter-spacing: .1em;line-height: 1;}
#Main .block-index-01 form h3 small {color: var(--green);font-size: 118.75%;letter-spacing: .05em;line-height: 1;}
#Main .block-index-01 form h3 small::before {content: "/";display: inline-block;margin: 0 .75em 0 .5em;}
#Main .block-index-01 form legend {position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);}
#Main .block-index-01 form fieldset {display: flex;gap: 2.0625em;}
#Main .block-index-01 form label {position: relative;display: flex;flex-direction: column;align-items: center;width: calc((100% - 2.0625em * 3) / 4);height: 11em;padding-top: 1.625em;border: 1.5px solid var(--ink);border-radius: .375em;background: #fff;color: var(--green);cursor: pointer;}
#Main .block-index-01 form label input {position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: pointer;}
#Main .block-index-01 form label img {width: auto;height: 4.625em;}
#Main .block-index-01 form label span {margin-top: 1.0625em;font-size: 131.25%;font-weight: 700;letter-spacing: .1em;line-height: 1;}
#Main .block-index-01 form label:has(:checked) {border-color: var(--green);background: var(--green);color: #fff;}
#Main .block-index-01 form label:has(:checked) img {filter: brightness(0) invert(1);}
#Main .block-index-01 form label:has(:focus-visible) {outline: 2px solid var(--orange);outline-offset: 2px;}
#Main .block-index-01 .container > ul {display: flex;gap: .5em;margin: .6875em 0 0;}
#Main .block-index-01 .container > ul li {width: calc((100% - .5em) / 2);margin: 0;}
#Main .block-index-01 .container > ul li a {position: relative;display: flex;align-items: center;gap: .75em;height: 6.34375em;padding: 0 2.5em 0 2.25em;border: 1.5px solid var(--green);background: #fff;}
#Main .block-index-01 .container > ul li a img {width: auto;height: 2.8125em;margin-right: .5em;}
#Main .block-index-01 .container > ul li a span {font-size: 168.75%;font-weight: 700;letter-spacing: .08em;line-height: 1;}
#Main .block-index-01 .container > ul li a small {color: var(--green);font-size: 118.75%;font-weight: 700;letter-spacing: .02em;line-height: 1;white-space: nowrap;}
#Main .block-index-01 .container > ul li a small::before {content: "/";display: inline-block;margin-right: 1em;}
#Main .block-index-01 .container > ul li a::after {content: "";flex: none;width: 1.875em;height: 1.875em;margin-left: auto;background: url("../img/common/icon_arrow_01.svg") center / contain no-repeat;filter: var(--filter-green);}

/* block-index-02：NEW PROPERTY */
#Main .block-index-02 {padding: 5.3125em 0 4.4375em;}
#Main .block-index-02 header {margin-bottom: 1.1875em;}
#Main .block-index-02 .swiper {overflow: visible;}
#Main .block-index-02 .swiper-wrapper {display: flex;gap: .6875em;margin: 0;}
#Main .block-index-02 .swiper-pagination {display: none;}
#Main .block-index-02 .swiper-wrapper > li {width: calc((100% - .6875em * 2) / 3);height: auto;margin: 0;--cat: var(--green);}
#Main .block-index-02 .swiper-wrapper > li[data-category="mansion"] {--cat: #2468a8;}
#Main .block-index-02 .swiper-wrapper > li[data-category="house"] {--cat: #d7a01c;}
#Main .block-index-02 .swiper-wrapper > li[data-category="land"] {--cat: #21a893;}
#Main .block-index-02 .swiper-wrapper > li[data-category="tenant"] {--cat: #765b9a;}
#Main .block-index-02 .swiper-wrapper > li[data-category="rent"] {--cat: #cc5231;}
#Main .block-index-02 .swiper-wrapper > li a {display: block;height: 100%;padding-bottom: 1.125em;border: 1.5px solid var(--cat);border-radius: .75em;background: #fff;box-shadow: 0 .25em 1em rgba(0, 0, 0, .08);overflow: hidden;}
#Main .block-index-02 .swiper-wrapper > li a figure {position: relative;margin: 0;aspect-ratio: 358 / 247;background: #7986a1;}
#Main .block-index-02 .swiper-wrapper > li a figure .new {position: absolute;top: .625em;left: .625em;display: inline-flex;align-items: center;justify-content: center;min-width: 5.25em;height: 1.75em;padding: 0 .9em;border-radius: 100em;background: var(--new);color: #fff;font-family: var(--font-en);font-size: 87.5%;font-weight: 600;letter-spacing: .08em;line-height: 1;}   /* NEWマーク：写真の左上（公開日から30日。2026-10-08） */
#Main .block-index-02 .swiper-wrapper > li a figure img {height: 100%;object-fit: cover;}
#Main .block-index-02 .swiper-wrapper > li a .category {margin: .3125em 0 0 .6875em;line-height: 1;}
#Main .block-index-02 .swiper-wrapper > li a .category span {display: inline-flex;align-items: center;justify-content: center;width: 10.125em;height: 2.1667em;border-radius: 100em;background: var(--cat);color: #fff;font-size: 75%;font-weight: 700;letter-spacing: .1em;}
#Main .block-index-02 .swiper-wrapper > li a h3 {margin: .3em 1em 0;padding: 0 0 .35em .2105em;border-bottom: 1px solid var(--ink);font-size: 118.75%;letter-spacing: .08em;line-height: 1.5;}
#Main .block-index-02 .swiper-wrapper > li a dl {display: flex;flex-wrap: wrap;align-items: baseline;row-gap: .71875em;margin: .75em 0 0;padding: 0 1.4375em;}
#Main .block-index-02 .swiper-wrapper > li a dt {width: 5.0625em;margin: 0;font-size: 87.5%;font-weight: 700;letter-spacing: .08em;line-height: 1.5;}
#Main .block-index-02 .swiper-wrapper > li a dd {display: flex;align-items: baseline;gap: .5625em;width: calc(100% - 5.0625em);margin: 0;font-size: 87.5%;font-weight: 700;letter-spacing: .08em;line-height: 1.5;}
#Main .block-index-02 .swiper-wrapper > li a dd strong {color: var(--cat);font-family: var(--font-en);font-size: 212.5%;letter-spacing: .01em;line-height: 1;}
#Main .block-index-02 .swiper-wrapper > li a dd:has(strong) {font-size: 100%;}
#Main .block-index-02 .swiper-wrapper > li a dd:has(strong) span {font-size: 87.5%;font-weight: 700;letter-spacing: .08em;}
#Main .block-index-02 .swiper-wrapper > li a > p:last-child {display: -webkit-box;margin: 1.643em 0 0;padding: 0 .9286em 0 1.643em;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;font-size: 87.5%;font-weight: 500;letter-spacing: .08em;line-height: 1.5;}
#Main .block-index-02 .btn-area {margin: 2.9375em 0 0;}

/* block-index-03：NEWS */
#Main .block-index-03 {padding: 3.6875em 0 3.75em;background: var(--green-pale);}
#Main .block-index-03 header {margin-bottom: 1.0625em;}
#Main .block-index-03 .container > ul {margin: 0;border-bottom: 1px solid var(--ink);}
#Main .block-index-03 .container > ul li {margin: 0;border-top: 1px solid var(--ink);}
#Main .block-index-03 .container > ul li a {display: flex;align-items: center;height: 4.53125em;padding: 0 3.625em 0 2.375em;}
#Main .block-index-03 .container > ul li a time {flex: none;width: 7.4737em;color: var(--green);font-family: var(--font-en);font-size: 118.75%;font-weight: 500;line-height: 1;}
#Main .block-index-03 .container > ul li a .category {display: inline-flex;align-items: center;justify-content: center;flex: none;width: 6.34375em;height: 2em;margin-right: 2.625em;border: 1.5px solid var(--orange);border-radius: 100em;color: var(--orange);font-weight: 700;letter-spacing: .1em;line-height: 1;}
#Main .block-index-03 .container > ul li a > span:last-child {flex: 1;font-size: 118.75%;font-weight: 700;letter-spacing: .04em;line-height: 1.5;}
#Main .block-index-03 .container > ul li a::after {content: "";flex: none;width: .625em;height: .625em;margin-left: 1em;border-top: 1.5px solid var(--green-light);border-right: 1.5px solid var(--green-light);transform: rotate(45deg);}
#Main .block-index-03 .btn-area {margin: 3.0625em 0 0;}
/* block-index-03：INFORMATION（エールプロデュース専用のお知らせ。最新1件を全文表示・未入力時はセクションごと非表示。2026-10-08） */
#Main .block-index-03 .info {padding: 2.25em 3.125em 2.75em;border-radius: .5em;background: #fff;}
#Main .block-index-03 .info time {display: block;color: var(--green);font-family: var(--font-en);font-size: 87.5%;font-weight: 500;letter-spacing: .06em;line-height: 1;}
#Main .block-index-03 .info h3 {margin: .9em 0 0;padding-bottom: .85em;border-bottom: 1px solid #aaa;font-size: 137.5%;font-weight: 700;letter-spacing: .08em;line-height: 1.5;}
#Main .block-index-03 .info .body {margin-top: 1.75em;font-size: 87.5%;font-weight: 500;letter-spacing: .04em;line-height: 2;}
#Main .block-index-03 .info .body p {margin: 0 0 1.5em;}
#Main .block-index-03 .info .body p:last-child {margin-bottom: 0;}
#Main .block-index-03 .info .body a {color: var(--green);text-decoration: underline;}

/* block-index-04：YELL PRODUCE */
#Main .block-index-04 {padding: 4.8125em 0 6.625em;}
#Main .block-index-04 header {margin-bottom: 1.75em;}
#Main .block-index-04 header h2 + p {font-weight: 700;letter-spacing: .08em;}
#Main .block-index-04 .container > ul {display: flex;gap: 1.5em;margin: 0;}
#Main .block-index-04 .container > ul li {width: calc((100% - 1.5em) / 2);margin: 0;}
#Main .block-index-04 .container > ul li a {position: relative;display: block;aspect-ratio: 541.5 / 251.5;border: 1.5px solid var(--green);border-radius: .375em;color: #fff;overflow: hidden;}
#Main .block-index-04 .container > ul li a figure {position: absolute;inset: 0;margin: 0;}
#Main .block-index-04 .container > ul li a figure img {height: 100%;object-fit: cover;}
#Main .block-index-04 .container > ul li a figure::after {content: "";position: absolute;inset: 0;background: rgba(0, 0, 0, .5);}
#Main .block-index-04 .container > ul li a h3 {position: absolute;top: 50%;left: 2em;transform: translateY(-50%);text-shadow: 0 0 .5em rgba(0, 0, 0, .4);}
#Main .block-index-04 .container > ul li a h3 span {display: block;font-size: 200%;letter-spacing: .08em;line-height: 1.2;}
#Main .block-index-04 .container > ul li a h3 span[lang="en"] {font-family: var(--font-en);}
#Main .block-index-04 .container > ul li a h3 small {display: block;margin-top: .5em;font-size: 105%;letter-spacing: .01em;line-height: 1.2;}
/* 白丸＋緑枠＋緑矢印：::before を緑の円にし、その上に白く抜いたアイコンを 1.5px 小さく重ねる（矢印の抜きから緑が見える） */
#Main .block-index-04 .container > ul li a::before {content: "";position: absolute;right: 1.3125em;bottom: 1.0625em;width: 2.28125em;height: 2.28125em;border-radius: 50%;background: var(--green);}
#Main .block-index-04 .container > ul li a::after {content: "";position: absolute;right: calc(1.3125em + 1.5px);bottom: calc(1.0625em + 1.5px);width: calc(2.28125em - 3px);height: calc(2.28125em - 3px);background: url("../img/common/icon_arrow_01.svg") center / contain no-repeat;filter: var(--filter-white);}

/* block-index-05：Y’s GROUP */
#Main .block-index-05 {padding: 3.875em 0 4.25em;background: var(--green-pale);}
#Main .block-index-05 header {margin-bottom: 1.5em;}
#Main .block-index-05 .container > p:not(.btn-area) {margin: 0 0 1.2em;font-size: 118.75%;font-weight: 700;letter-spacing: .08em;line-height: 1.5;text-align: center;}
#Main .block-index-05 figure {margin: 0;border-radius: .375em;overflow: hidden;}
#Main .block-index-05 .btn-area {margin: 1.375em 0 0;}

@media (769px <= width <= 1390px) {
  #Main .block-index-01 form h3 {gap: .25em;}
  #Main .block-index-01 .container > ul li a {gap: .25em;padding: 0 1em;}
  #Main .block-index-01 .container > ul li:nth-of-type(1) a {border-radius: 0 0 0 .875em;}
  #Main .block-index-01 .container > ul li:nth-of-type(2) a {border-radius: 0 0 .875em 0;}
  #Main .block-index-01 form h3 span,
  #Main .block-index-01 form h3 small,
  #Main .block-index-01 .container > ul li a span,
  #Main .block-index-01 .container > ul li a small {letter-spacing: 0;}
  #Main .block-index-01 form h3 small::before {margin: 0 .35em 0 .15em}
  #Main .block-index-01 .container > ul li a small::before {margin-right: 0.25em;}
}

/* ===== SP（ワイヤー SP.png 準拠 2026-09-17。基準は common.css の SP コメント参照：body 3.6vw＝14px@390）===== */
@media (width < 769px) {
  #Main .block-index-01,
  #Main .block-index-02,
  #Main .block-index-03,
  #Main .block-index-04,
  #Main .block-index-05 {padding: 3em 0 3.25em;}
  #Main .block-index-01 header,
  #Main .block-index-02 header,
  #Main .block-index-03 header,
  #Main .block-index-04 header,
  #Main .block-index-05 header {margin-bottom: 2.29em;}
  /* SEARCH：パネル内余白 20px、h3 19px、種別タイルは2列（既存のアイコン付きタイルを維持・高さのみ圧縮）、下2パネル高さ 88px */
  #Main .block-index-01 {background: var(--green-pale);margin-top: 0;padding-top: 1em;}
  #Main .block-index-01 form {padding: 1.43em;border-radius: .857em;}
  #Main .block-index-01 form h3 {flex-wrap: wrap;gap: .5em .75em;margin-bottom: 1.71em;}
  #Main .block-index-01 form h3 img {width: 1.71em;}
  #Main .block-index-01 form h3 span {font-size: 135%;}
  #Main .block-index-01 form h3 small {font-size: 92.9%;}
  #Main .block-index-01 form fieldset {flex-wrap: wrap;gap: .857em 1.14em;}
  #Main .block-index-01 form label {width: calc((100% - 1.14em) / 2);height: 6.43em;padding-top: .857em;border-radius: .43em;}
  #Main .block-index-01 form label img {height: 2.57em;}
  #Main .block-index-01 form label span {margin-top: .71em;font-size: 100%;}
  #Main .block-index-01 .container > ul {flex-wrap: wrap;gap: .857em;margin-top: 1.43em;}
  #Main .block-index-01 .container > ul li {width: 100%;}
  #Main .block-index-01 .container > ul li a {flex-wrap: wrap;gap: .43em .5em;height: 6.29em;padding: 0 1.5em 0 1.5em;border-radius: .857em;}
  #Main .block-index-01 .container > ul li a img {height: 1.57em;margin-right: 0;}
  #Main .block-index-01 .container > ul li a span {font-size: 135%;}
  #Main .block-index-01 .container > ul li a small {font-size: 85.7%;letter-spacing: 0;text-align: center;white-space: nowrap;}
  #Main .block-index-01 .container > ul li a::after {position: absolute;top: 50%;right: .71em;width: 1.43em;height: 1.43em;margin-top: -.71em;}
  /* NEW PROPERTY：SP は Swiper（1枚表示・ドット）。左右にはみ出して次のカードをのぞかせる。写真 170px、内側余白 20px、物件名 19px、価格 30px、本文 14〜15px */
  #Main .block-index-02 {overflow: hidden;}
  #Main .block-index-02 .container {width: 100%;}
  #Main .block-index-02 .swiper {padding: 0 1.43em .3125em;overflow: visible;}
  #Main .block-index-02 .swiper-wrapper {gap: 0;}
  #Main .block-index-02 .swiper-wrapper > li {width: 100%;height: auto;}
  #Main .block-index-02 .swiper-wrapper > li a {padding-bottom: 1.43em;border-radius: .857em;}
  #Main .block-index-02 .swiper-wrapper > li a figure {aspect-ratio: auto;}
  #Main .block-index-02 .swiper-wrapper > li a figure img {height: 12.14em;}
  #Main .block-index-02 .swiper-wrapper > li a .category {margin: 1.43em 0 0 1.43em;}
  #Main .block-index-02 .swiper-wrapper > li a .category span {width: auto;min-width: 8em;height: 2.15em;padding: 0 1em;font-size: 92.9%;}
  #Main .block-index-02 .swiper-wrapper > li a h3 {margin: .86em 1.43em 0;padding: 0 0 .5em;font-size: 135%;letter-spacing: .04em;}
  #Main .block-index-02 .swiper-wrapper > li a dl {row-gap: .5em;margin-top: 1em;padding: 0 1.43em;}
  #Main .block-index-02 .swiper-wrapper > li a dt {width: 5.5em;font-size: 92.9%;}
  #Main .block-index-02 .swiper-wrapper > li a dd {width: calc(100% - 5.5em);font-size: 100%;font-weight: 500;}
  #Main .block-index-02 .swiper-wrapper > li a dd strong {font-size: 214%;}
  #Main .block-index-02 .swiper-wrapper > li a dd:has(strong) span {font-size: 100%;}
  #Main .block-index-02 .swiper-wrapper > li a > p:last-child {margin-top: 1em;padding: 0 1.43em;font-size: 100%;font-weight: 400;letter-spacing: .02em;}
  #Main .block-index-02 .swiper-pagination {position: static;display: flex;justify-content: center;gap: .5em;margin-top: 1.43em;line-height: 0;}
  #Main .block-index-02 .swiper-pagination .swiper-pagination-bullet {width: .5em;height: .5em;margin: 0;background: var(--ink);opacity: .25;}
  #Main .block-index-02 .swiper-pagination .swiper-pagination-bullet-active {opacity: 1;}
  #Main .block-index-02 .btn-area {margin-top: 1.43em;}
  /* NEWS：日付 13px＋カテゴリー 12px の行 → タイトル 15px 1行省略、行の上下 14px */
  #Main .block-index-03 .container > ul {border-bottom-color: #cfcfcf;}
  #Main .block-index-03 .container > ul li {position: relative;border-top-color: #cfcfcf;}
  #Main .block-index-03 .container > ul li:first-child {border-top: 0;}
  #Main .block-index-03 .container > ul li a {flex-wrap: wrap;gap: .57em .86em;height: auto;padding: 1em 2em 1em 0;}
  #Main .block-index-03 .container > ul li a time {width: auto;font-size: 92.9%;}
  #Main .block-index-03 .container > ul li a .category {width: auto;min-width: 5em;height: 1.86em;margin-right: 0;padding: 0 .86em;font-size: 85.7%;}
  #Main .block-index-03 .container > ul li a > span:last-child {flex: none;width: 100%;font-size: 107%;font-weight: 500;letter-spacing: .02em;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}
  #Main .block-index-03 .container > ul li a::after {position: absolute;bottom: 1.5em;right: .5em;}
  #Main .block-index-03 .btn-area {margin-top: 2.29em;}
  #Main .block-index-03 .info {padding: 1.43em 1.14em 1.71em;}
  #Main .block-index-03 .info time {font-size: 92.9%;}
  #Main .block-index-03 .info h3 {font-size: 114%;letter-spacing: .04em;}
  #Main .block-index-03 .info .body {margin-top: 1.14em;font-size: 92.9%;letter-spacing: .02em;line-height: 1.85;}
  #Main .block-index-03 .info .body p {margin-bottom: 1.2em;}
  /* YELL PRODUCE：SP は見出し・写真なしのテキストリスト（既存仕様）。ワイヤー：枠付きカード 高さ 62px・角丸・見出し 20px＋説明 14px＋右チェブロン、カード間 12px */
  #Main .block-index-04 {padding: 0 0 3.25em;background: var(--green-pale);}
  #Main .block-index-04 header {display: none;}
  #Main .block-index-04 .container > ul {display: block;}
  #Main .block-index-04 .container > ul li {width: 100%;}
  #Main .block-index-04 .container > ul li + li {margin-top: .857em;}
  /* Y's GROUP：直前ブロックと同じ背景でつなげ、リードは中央揃え 14px、図は幅 94% */
  #Main .block-index-05 {padding-top: 3em;}
  #Main .block-index-05 figure {width: 94%;margin: 0 auto;mix-blend-mode: multiply;}
  #Main .block-index-05 figure img {aspect-ratio: 1.3 / 1;object-fit: cover;}
  #Main .block-index-05 .container > p:not(.btn-area) {margin-bottom: 1.71em;font-size: 100%;font-weight: 500;line-height: 1.6;letter-spacing: .04em;text-align: center;}
  #Main .block-index-05 .btn-area {margin-top: 2.29em;}
}
