@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

/*Zen Kaku Gothic New 400*/
@font-face {
    font-family: "Zen Kaku Gothic New";
    src: url(/fonts/ZenKakuGothicNew-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/*Zen Kaku Gothic New 500*/
@font-face {
    font-family: "Zen Kaku Gothic New";
    src: url(/fonts/ZenKakuGothicNew-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/*Zen Kaku Gothic New 700*/
@font-face {
    font-family: "Zen Kaku Gothic New";
    src: url(/fonts/ZenKakuGothicNew-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Oswald";
    src: url(/fonts/Oswald-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}

/*リセット*/

#contents{
    width: 100%;
    padding: 0;
    min-height: auto;
}

.l-main{
    width: 100%;
    padding: 0;
    overflow: hidden;
}


/*共通*/

.l-main *{
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #333;
}

[class*="section__wrapper--"]{
    padding: 104px 0 120px;
    background-color: #fff;
}

[class*="section__wrapper--"]:nth-of-type(even){
    background-color: #F2F2F2;
}

[class*="section__inner--"]{
    position: relative;
    width: 1140px;
    margin: 0 auto;
}

.ttl__box{
    margin-bottom: 40px;
}

[class*="section__ttl--"]{
    font-size: 64px;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    line-height: 1.2;
}

[class*="section__sub-ttl--"]{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
}

[class*="flex__box--"]{
    display: flex;
}

/*メイン画像*/

.main__box{
    position: relative;
}

.mv__img{
    height: 500px;
}

.mv__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main__inner{
    position: relative;
    width: 1140px;
    margin: 0 auto;
}

/*お悩み*/
.section__wrapper--worries {
    background-color: #F2F2F2;
}

.section__ttl--worries,
.section__sub-ttl--worries {
    text-align: center;
}

.flex__box--worries {
    gap: 40px;
    align-items: center;
    margin-bottom: 40px;
}

.worries__img {
    flex-shrink: 0;
    width: 540px;
    height: 300px;
}

.worries__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.worries__list {
    flex: 1;
    min-width: 0;
}

.worries__item {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    padding: 15px 0 14px 10px;
    border-bottom: 1px solid #D2D2D2;
}

.worries__icon {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
}

.worries__icon img {
    display: block;
    width: 30px;
    height: 30px;
}

.worries__text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
}

.worries__message {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
    justify-content: center;
    padding: 40px 0 35px;
    background-color: #fff;
    text-align: center;
}

.worries__message-ttl {
    font-size: 35px;
    font-weight: 700;
    line-height: 1;
}

.worries__message-text {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.5;
}

.worries__message-text--accent {
    color: #376B56;
}

/*選ばれる理由*/
[class*="section__wrapper--"].section__wrapper--reason {
    background-color: #fff;
}
.section__ttl--reason,
.section__sub-ttl--reason {
    text-align: center;
}

.reason__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
[class*="reason__item--"]{
    position: relative;
    min-height: 369px;
    display: flex;
    align-items: center;
    z-index: 0;
}
.reason__text-contents {
    background-color: #F2F2F2;
    position: relative;
    padding: 50px 40px;
    width: 630px;
    z-index: 1;
}
.reason__title {
    font-size: 20px;
    font-weight: 500;
    color: #376B56;
    margin-bottom: 13px;
}
.reason__text {
    font-size: 16px;
    line-height: 1.6;
}
.reason__number {
    position: absolute;
    top: -35px;
    font-size: 46px;
    font-family: 'Oswald', sans-serif;
}
.reason__img {
    position: absolute;
    width: 990px;
    height: 369px;
    z-index: 0;
    left: 540px;
    overflow: hidden;
}
.reason__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reason__item--01 {
    min-height: 395px;
}
.reason__item--01 .reason__img {
    height: 395px;
}
.reason__item--02 {
    margin-left: auto;
}
.reason__item--02 .reason__img {
    left: auto;
    right: 540px;
}

/*ショップ / エリア*/
/* Figma計測: section py120 / ttl〜content gap40 / company_content gap50 / info662 map428 / stats gap50 cards220 gap20 */
.section__wrapper--shop {
    background: url(../images/shop_area.webp) no-repeat center / cover;
    padding: 105px 0 121px;
}
.section__wrapper--shop .ttl__box {
    margin-bottom: 30px;
}
.section__inner--shop {
    position: relative;
}
.l-main .section__ttl--shop,
.l-main .section__sub-ttl--shop {
    text-align: center;
    color: #fff;
}
.shop__img--illustration {
    position: absolute;
    top: 30px;
    left: 773px;
    width: 96px;
    height: 90px;
}
.shop__img--illustration img {
    width: 100%;
    height: 100%;
}
.shop__content {
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.flex__box--shop {
    gap: 50px;
    align-items: flex-start;
}
.shop__info {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 662px;
}
.shop__block {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.l-main .shop__heading {
    font-size: 48px;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    line-height: 1;
    color: #fff;
}
.shop__list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
}
.shop__item {
    display: flex;
    align-items: flex-start;
    gap: 55px;
    padding-bottom: 20px;
    border-bottom: 1px solid #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
}
.l-main .shop__name {
    width: 90px;
    flex-shrink: 0;
    color: #fff;
    font-size: 18px;
    white-space: nowrap;
}
.l-main .shop__address {
    flex: 1;
    min-width: 0;
    color: #fff;
    font-size: 18px;
}
.shop__img--map {
    width: 428px;
    height: 468px;
    flex-shrink: 0;
}
.shop__img--map img {
    width: 100%;
    height: 100%;
    margin-top: 10px;
}
.flex__box--stats {
    align-items: center;
    justify-content: center;
    gap: 50px;
}
.l-main .stats__ttl {
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}
.stats__list {
    display: flex;
    gap: 20px;
}
.stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 220px;
    padding: 20px 0 12px;
    background-color: rgba(255, 255, 255, 0.87);
}
.stats__main {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.l-main .stats__label {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: #333;
    text-align: center;
}
.stats__num {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.l-main .stats__num--value {
    font-size: 60px;
    font-weight: 700;
    line-height: 1;
    color: #376B56;
}
.l-main .stats__num--unit {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-left: 2px;
}
.l-main .stats__note {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
    color: #333;
    text-align: center;
}


/*リフォーム事例*/
/* Figma計測: section py120 / ttl〜content gap40 / card560 gap20 / card padding30 / img500x227 / CASE60 Oswald */
.section__wrapper--case {
    background-color: #F2F2F2;
    padding: 105px 0 120px;
}
.section__inner--case {
    position: relative;
}
.section__ttl--case,
.section__sub-ttl--case {
    text-align: center;
}
.case__img--illustration {
    position: absolute;
    top: 27px;
    left: 778px;
    width: 115px;
    height: 121px;
}
.case__img--illustration img {
    width: 100%;
    height: 100%;
}
.case__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.case__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 560px;
    padding: 30px;
    background-color: #fff;
    overflow: hidden;
}
.l-main .case__number {
    position: absolute;
    top: -8px;
    left: -3px;
    z-index: 0;
    font-size: 60px;
    font-weight: 400;
    font-family: 'Oswald', sans-serif;
    line-height: 1;
    color: #F1F1F1;
    white-space: nowrap;
}
.case__img {
    position: relative;
    z-index: 1;
    width: 500px;
    height: 227px;
}
.case__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.case__text {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.l-main .case__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    color: #376B56;
}
.l-main .case__desc {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
}

/*賃貸管理プラン*/
/* Figma計測: section py120 / ttl140+gap40+table960 / col320 / head〜table gap16 / banner960 h78 pl180 / illust78x138 */
[class*="section__wrapper--"]:nth-of-type(even).section__wrapper--plan {
    background-color: #fff;
    padding: 120px 0;
}
.plan__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.flex__box--plan {
    gap: 40px;
    align-items: flex-start;
}
.section__wrapper--plan .ttl__box {
    display: flex;
    flex-direction: column;
    width: 140px;
    margin-bottom: 0;
    padding-top: 20px;
    flex-shrink: 0;
}
.section__ttl--plan,
.section__sub-ttl--plan {
    text-align: left;
}
.plan__table-wrap {
    width: 960px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-end;
}
.plan__table-head {
    display: flex;
    width: 640px;
}
.l-main .plan__table-head-item {
    width: 320px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: #333;
    text-align: center;
}
.plan__table {
    width: 960px;
    border-collapse: collapse;
    table-layout: fixed;
}
.l-main .plan__table-label {
    width: 320px;
    padding: 20px 0 20px 40px;
    background-color: #F4F4F4;
    border-bottom: 1px solid #E5E5E5;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: #333;
    text-align: left;
}
.l-main .plan__table-value {
    width: 320px;
    padding: 20px 0;
    background-color: #fff;
    border-bottom: 1px solid #E6E6E6;
    border-right: 1px solid #E6E6E6;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: #376B56;
    text-align: center;
}
.plan__table tr:first-child .plan__table-value {
    border-top: 1px solid #E6E6E6;
}
.plan__footer {
    position: relative;
    padding-left: 180px;
}
.plan__img--staff {
    position: absolute;
    left: 48px;
    top: -48px;
    width: 78px;
    height: 138px;
    z-index: 1;
}
.plan__img--staff img {
    width: 100%;
    height: 100%;
}
.l-main .plan__banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 960px;
    min-height: 78px;
    padding: 16px 24px;
    box-sizing: border-box;
    background-color: #376B56;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    text-align: center;
}
.plan__banner::before {
    position: absolute;
    content: "";
    left: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8.5px 14px 8.5px 0;
    border-color: transparent #376B56 transparent transparent;
}

/*オーナー様の声*/
/* Figma計測: section py120 h785 / cards366 gap21 / icon110 overlap47 / body pt60 pb30 px30 gap15 / illust79x124 */
.section__wrapper--voice {
    background: url(../images/voice__bg.webp) no-repeat center / cover;
    padding: 105px 0 120px;
}
.section__inner--voice {
    position: relative;
}
.l-main .section__ttl--voice,
.l-main .section__sub-ttl--voice {
    text-align: center;
    color: #fff;
}
.voice__img--illustration {
    position: absolute;
    top: 519px;
    left: 1030px;
    width: 79px;
    height: 124px;
    z-index: 2;
}
.voice__img--illustration img {
    width: 100%;
    height: 100%;
}
.voice__list {
    display: flex;
    gap: 21px;
    align-items: flex-start;
}
.voice__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 366px;
}
.voice__icon {
    position: relative;
    z-index: 2;
    width: 110px;
    height: 110px;
    margin-bottom: -47px;
}
.voice__icon img {
    width: 100%;
    height: 100%;
}
.voice__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    padding: 60px 30px 30px;
    background-color: #fff;
}
.l-main .voice__title {
    min-height: 90px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: #376B56;
    text-align: center;
}
.l-main .voice__text {
    min-height: 156px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #333;
}

/*よくある質問*/

.l-main .section__wrapper--faq{
    background-color: #fff;
    padding: 104px 0 80px;
}

.flex__box--faq{
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-bottom: 40px;
}

.faq__item{
    position: relative;
    width: 1140px;
    background-color: #F1F1F1;
}

[class*="faq__txt--"]{
    position: relative;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    padding: 0 0 0 36px;
    display: flex;
    align-items: center;
}

.faq__txt--question::before{
    position: absolute;
    content: "Q";
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    font-family: 'Oswald', sans-serif;
    top: 15px;
    left: 14px;
}

.faq__txt--question{
    width: 100%;
    min-height: 54px;
    padding: 15px 20px 15px 36px;
    box-sizing: border-box;
    background-color: #333;
    color: #fff;
}

.faq__txt--answer{
    padding: 14px 0 14px 36px;
    line-height: 1.5;
    font-weight: 400;
}
.faq__item:last-child .faq__txt--answer {
    align-items:flex-start;
}
.faq__txt--answer::before{
    position: absolute;
    content: "A";
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    font-family: 'Oswald', sans-serif;
    top: 19px;
    left: 15px;
    color: #376B56;
}
