@charset "UTF-8";

.mv__box {
    position: relative;
    padding-bottom: 73px;
    height: 783px;
}
.l-main {
    width: 100%;
    padding: 0;
    background: #fff;
}
.l-main *{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    font-size: 16px;
    color: #222;
}
.section__parts:first-child {
    margin: 55px 0 100px;   
}
[class*="section__parts--"] {
    margin: 102px 0;
}
[class*="section__parts--bg--"] {
    padding: 120px 0;
    margin: 0;
}
.l-main .section__ttl--sub {
    color: #004187;
    font-family: "Sansation", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.1;
    display: block;
    text-align: center;
    letter-spacing: 1.1px;
}
.l-main .section__ttl {
    color: #222;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    margin-bottom: 45px;
}

/* ---------- スクロール表示（section__parts 内の section__ttl 含む） ---------- */
@media (prefers-reduced-motion: no-preference) {
    .l-main section[class*="section__parts"].is-scroll-reveal-pending {
        opacity: 0;
        transform: translateY(28px);
    }
    .l-main section[class*="section__parts"].is-scroll-reveal-visible {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
    }
}
@media (prefers-reduced-motion: reduce) {
    .l-main section[class*="section__parts"].is-scroll-reveal-pending {
        opacity: 1;
        transform: none;
    }
    .l-main section[class*="section__parts"].is-scroll-reveal-visible {
        transition: none;
    }
}
.section__inner {
    width: 1140px;
    margin: 0 auto;
}
/* ---------- TOP / お問い合わせ（Figma: contact 13013:44） ---------- */
.ui-fit-img.ui-full-screen img.cover_img {
    object-fit: cover;
    height: 100%;
}
.ui-full-screen {
    margin-bottom: 0;
    height: 100%;
}

/* メイン画像スライダー（Slick）：MV エリアいっぱいに画像を表示 */
.mv__box > .ui-full-screen:not(.ui-fit-img) .mv-slider {
    height: 783px;
}

.mv__box > .ui-full-screen:not(.ui-fit-img) .mv-slider .slick-list {
    height: 100%;
}

.mv__box > .ui-full-screen:not(.ui-fit-img) .mv-slider .slick-track {
    height: 100%;
}

.mv__box > .ui-full-screen:not(.ui-fit-img) .mv-slider__items,
.mv__box > .ui-full-screen:not(.ui-fit-img) a.mv-slider__items {
    height: 710px!important;
    box-sizing: border-box;
}

.mv__box > .ui-full-screen:not(.ui-fit-img) .mv-slider__items img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.top-contact {
    position: absolute;
    z-index: 1;
    width: 1270px;
    box-sizing: border-box;
    bottom: -40px;
    left: 0px;
    right: 0;
    margin: auto;
}

.top-contact__card {
    display: flex;
    justify-content: center;
    gap: 30px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 2px 4px 15px rgba(0, 65, 135, 0.1);
    box-sizing: border-box;
    height: 222px;
    padding: 51px 60px;
}

.top-contact__left {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 0 1 auto;
    min-width: 0;
}

.top-contact__headline {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.top-contact__en {
    margin: 0;
    font-family: Sansation, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #004187;
}

.top-contact__ttl {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 38px;
    line-height: 1;
    color: #222;
}

.top-contact__hours {
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    color: #222;
}

.top-contact__rule {
    width: 1px;
    flex: 0 0 1px;
    align-self: stretch;
    min-height: 1em;
    background-color: #e4e4e4;
}

.top-contact__right {
    display: flex;
    justify-content: flex-end;
    align-items: start;
    gap: 40px;
    padding-top: 9px;
    flex: 1 1 auto;
    min-width: 0;
}

.top-contact__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 0 1 auto;
}

.top-contact__lead {
    margin: 0;
    max-width: 233px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    color: #222;
}

.top-contact__tel {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    padding: 5px 0;
    text-decoration: none;
    color: inherit;
}

.top-contact__tel:hover .top-contact__tel-num {
    /* text-decoration: underline; */
}

.top-contact__tel-icon {
    display: flex;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}

.top-contact__tel-num {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: 42px;
    line-height: 1;
    color: #222;
    /* letter-spacing: 0.02em; */
    padding: 0;
}

.top-contact__btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    width: 240px;
    height: 50px;
    padding: 18px 20px 18px 16px;
    border-radius: 5px;
    text-decoration: none;
    transition: opacity 0.2s ease, filter 0.2s ease;
    border: 2px solid #004187;
}

.top-contact__btn:hover {
    opacity: 1;
}

.top-contact__btn-inner {
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.top-contact__btn-icon {
    flex-shrink: 0;
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.top-contact__btn-txt {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    white-space: nowrap;
}

.top-contact__btn-arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6px;
    height: 8px;
}

.top-contact__btn--primary {
    background-color: #004187;
}
.top-contact__btn--primary:hover {
    border: 2px solid #fadd0b;
}

.top-contact__btn--primary .top-contact__btn-txt {
    color: #fff;
}

.top-contact__btn--accent {
    background-color: #fadd0b;
    border: 2px solid #fadd0b;
}
.top-contact__btn--accent:hover {
    border: 2px solid #004187;
}

.top-contact__btn--accent .top-contact__btn-txt {
    color: #004187;
}

.section__parts--column {
	background-color: #fff;
}
.section__parts--column .moreBtn--surface {
	background:  #FFF4E2;
	box-shadow: 2px 4px 0 0 #004187;
    border: 2px solid #FFF4E2;
}
.moreBtn--surface:hover {
    border: 2px solid #004187;
}
.l-main .section__parts--column .swiper-button-next,
.l-main .section__parts--column .swiper-button-prev {
background: #EFF8EA;
}

.entryCard__link:hover {
	opacity: 1;
}
.entryCard__link:hover .entryCard__title,
.entryCard__link:hover .entryCard__desc {
	color: #004187;
}

.entryCard__link:hover .entryCard__thumb img {
	transform: scale(1.05);
}
.entryCard__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.entryCard__item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	border-radius: 15px;
	background: #FFF;/* 影 */
	box-shadow: 2px 4px 15px 0 rgba(0, 65, 135, 0.10);
	padding: 15px;
	border: 2px solid #fff;
	box-sizing: border-box;
	transition: border-color 0.4s ease;
}
.entryCard__item:hover {
    border: 2px solid #004187;
}
.entryCard__thumb {
	position: relative;
	display: block;
	height: 180px;
	border-radius: 10px;
	overflow: hidden;
}
.entryCard__thumb img {
	overflow: hidden;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
	background: #cccc;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
	backface-visibility: hidden;
}
.l-main .contents__area {
    width: 300px;
    margin: 0 auto;
    overflow: inherit;
}
.entryCard__date time {
	color:  #004187;
	font-size: 14px;
	font-weight: 400;
	line-height: 150%;
	padding: 8px 10px;
	gap: 10px;
	border-radius: 16px;
	z-index: 1;
}

.entryCard__sample {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	pointer-events: none;
}
.entryCard__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 22px;
}
.section__parts--customer .entryCard__text {
	margin-top: 13px;
}
.section__parts--customer .entryCard__title{
	font-weight: 700;
}

.entryCard__title {
	margin: 0;
	color: #004187;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	transition: color 0.35s ease;
}
.entryCard__title--left {
	text-align: left;
}
.entryCard__desc {
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: color 0.35s ease;
}
.entryCard__item--column {
	padding-top: 30px;
}
.columnCard__thumb {
	position: relative;
	width: 370px;
}
.columnCard__photo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 370px;
height: 247px;
	border-radius: 20px;
}
.columnCard__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.columnCard__sample {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	pointer-events: none;
}
.columnCard__date {
	position: absolute;
	left: -10px;
	bottom: -14px;
	z-index: 1;
	margin: 0;
	padding: 8px 10px;
	border: 6px solid #fff;
	border-radius: 10px;
	background-color: #004187;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}
.section__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	box-sizing: border-box;
	width: 1140px;
	max-width: 100%;
}
.pager {
	display: flex;
	align-items: center;
	gap: 15px;
}
.pager__dot {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #ccc;
}
.pager__dot.is-current {
	background-color: #FEAC1A;
}
.moreBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	box-sizing: border-box;
	width: 250px;
	padding: 12px 24px 13px 24px;
	color: #004187;
	border-radius: 5px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	height: 50px;
	position: relative;
	margin: 28px auto 0;
	border-radius: 5px;
	border: 2px solid #E6F3FF;
	background: #DFEEFF;

/* 影 */
	box-shadow: 2px 4px 15px 0 rgba(0, 65, 135, 0.10);
}
.moreBtn--surface {
	background-color: #DFEEFF;
    position: relative;
}
.moreBtn--surface::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: url(/images/top/check01__blue01.webp) center / cover no-repeat;
	position: absolute;
}
.moreBtn--surface:hover {
	opacity: 1;
	border: 2px solid #004187;
}
.moreBtn--ivory {
	background-color: #FFF4E2;
}
.moreBtn::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(/images/top/check01__blue01.webp) center / cover no-repeat;
	position: absolute;
	right: 13px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.section__parts--bg--interview {
    background: #FFFCE0;
}
.interviewList {
    display: flex;
    justify-content: space-between;
}
.interviewList__item {
    width: 270px;
    height: 270px;
}
.interviewList__item img,
.interviewList__item iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- TOP / STAFF（org3.phtml） ---------- */
.section__parts--bg--staff {
    position: relative;
    overflow: hidden;
}
.section.section__parts--bg--staff {
    background: url(../images/top/guts-baikyaku.com.webp) center / cover no-repeat;
    background-size: 1920px 651px;
    background-position-y: 0;
}
.section__inner--staff {
    position: relative;
    z-index: 1;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.section__header--staff {
    text-align: center;
    margin-bottom: 24px;
}
.section__parts--bg--staff.section__label {
    margin: 0 0 8px;
    color: #004187;
    font-family: "Sansation", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-align: center;
}
.section__title--staff {
    margin: 0;
    color: #222;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}
.section__lead--staff {
    margin: 51px auto 51px;
    max-width: 800px;
    color: #222;
    font-weight: 600;
    line-height: 1.7;
    font-size: 20px;
    text-align: center;
}
.section__parts--bg--staff.section__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}
.card-list--staff {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 22px;
    margin: 0;
}
.section__parts--bg--staff .section__panel 
{
    background: #fff;
    padding: 60px 59px;
    border-radius: 30px;
    width: 1140px;
    box-shadow: 2px 4px 15px 0 rgba(0, 65, 135, 0.10);
}
.card--staff a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    width: 500px;
    height: 189px;
    margin: 0;
    padding: 18px 27px 18px 18px;
    background: #fff;
    box-sizing: border-box;
    border-radius: 9999px;
    border: 2px solid #fff;
    box-shadow: 2px 4px 15px 0 rgba(0, 65, 135, 0.10);
}
.card--staff a:hover {
    border: 2px solid #004187;
    opacity: 1;
}
.card--staff .card__image--staff {
    position: relative;
    flex-shrink: 0;
    width: 150px;
    height: 150px;
    border-radius: 9999px;
    overflow: hidden;
}
.card--staff .card__image--staff img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9999px;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    backface-visibility: hidden;
}
.card--staff a:hover .card__image--staff img {
    transform: scale(1.05);
}
.card--staff .card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    /* margin-top: 30px; */
}
.card--staff .card__title {
    margin: 0;
    color: #004187;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}
.card--staff .card__text {
    min-height: 51px;
    margin: 0;
    color: #222;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.section__parts--bg--staff.button--more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 250px;
    padding: 10px 24px 11px;
    border: 2px solid #e6f3ff;
    border-radius: 5px;
    background: #dfeeff;
    box-shadow: 2px 4px 15px rgba(0, 65, 135, 0.1);
    color: #004187;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s ease;
}
.section__parts--bg--staff.button--more:hover {
    opacity: 0.9;
}
.section__parts--bg--staff.button__text {
    display: inline-block;
}
.section__parts--bg--staff.button__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
.section__parts--bg--staff.button__icon img {
    display: block;
}

.section__parts--bg--trouble {
    background: url(../images/top/trouble__bg.webp) center / cover no-repeat;
    background-size: 1920px 762px;
    background-position-y: 0;
    padding: 101px 0 0;
    min-height: 763px;
}
.troubleList {position: relative;width: 100%;height: 380px;}
[class*="troubleList__item--"] {
    font-size: 20px;
    font-weight: 600;
    line-height: 150%;
    position: absolute;
    text-align: center;
}
.troubleList__item--01 {bottom: 95px;left: -5px;}
.troubleList__item--02 {bottom: 296px;left: 112px;}
.troubleList__item--03 {bottom: 206px;right: 406px;}
.troubleList__item--04 {top: 49px;right: 16px;}
.troubleList__item--05 {bottom: 61px;right: 47px;}
.troubleList__item--blue-txt {
    color: #004187;
    font-weight: 600;
    position: relative;
}
.troubleList__item--yellow {
    position: relative;
    margin-top: 227px;
    font-size: 32px;
    line-height: 1.6;
    color: #004187;
}
.troubleList__item--yellow-txt {
    position: relative;
    color: #004187;
    background: #FADD0B;
    padding: 1px 25px 3px;
    border-radius: 999px;
    font-size: 32px;
    margin-right: 3px;
}
/* ---------- TOP / PROMISE（Figma: promise 13024:147） ---------- */

.section__parts--bg--promise .promise__bgstrip {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    max-width: 100%;
    height: 140px;
    background-color: #f2f2f2;
    pointer-events: none;
}

.section__parts--bg--promise .promise__intro {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
}

.section__parts--bg--promise .promise__hook {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.3;
    color: #004187;
    text-align: center;
}

.section__parts--bg--promise .promise__hook-txt {
    display: inline-block;
}

.section__parts--bg--promise .promise__hook-badge {
    display: inline-block;
    padding: 3px 25px 5px;
    background-color: #fadd0b;
    border-radius: 9999px;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.3;
    color: #004187;
}

.section__parts--bg--promise .section__ttl {
    font-weight: 600;
    margin-bottom: 46px;
}

.section__parts--bg--promise .promise__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 1140px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.section__parts--bg--promise .promise-card {
    display: flex;
    flex-direction: column;
    gap: 13px;
    width: 560px;
    max-width: 100%;
    padding: 30px;
    border-radius: 20px;
    box-sizing: border-box;
    position: relative;
}

.section__parts--bg--promise .promise-card--sub {
    background-color: #fff4f9;
}

.section__parts--bg--promise .promise-card--main {
    background-color: #e5f5ff;
}

.section__parts--bg--promise .promise-card--point {
    background-color: #fffce0;
}

.section__parts--bg--promise .promise-card__media {
    position: relative;
    width: 500px;
    max-width: 100%;
    height: 333px;
    overflow: hidden;
    border-radius: 10px 10px 10px 20px;
    flex-shrink: 0;
}

.section__parts--bg--promise .promise-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

.section__parts--bg--promise .promise-card__body {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

.section__parts--bg--promise .promise-card__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    color: #222;
}

.section__parts--bg--promise .promise-card__text {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #222;
}

.section__parts--bg--promise .promise-card__num {
    position: absolute;
    left: 2px;
    bottom: 16px;
    font-family: "Sansation", "Arial Black", "Helvetica Neue", sans-serif;
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

.section__parts--bg--promise .promise-card--sub .promise-card__num {
    color: #e00966;
}

.section__parts--bg--promise .promise-card--main .promise-card__num {
    color: #004187;
}

.section__parts--bg--promise .promise-card--point .promise-card__num {
    color: #fadd0b;
}
.section__parts--bg--promise {
    padding-top: 61px;
}
.section__parts--bg--property {background: #FFFCE0;/* min-height: 620px; */}
.section__parts--bg--property {
    position: relative;
    padding: 126px 0 100px;
    margin: 0;
    overflow: hidden;
}
.section__parts--bg--property .section__inner {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 373px;
}
.section__parts--bg--property .section__ttlbox {
    padding-left: 109px;
}
.section__parts--bg--property .section__ttl {
    text-align: start;
    margin-bottom: 16px;
}
.section__parts--bg--property .section__ttl--sub {
    text-align: start;
}

.property__wrap {
    width: 1210px;
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 430px;
}

.section__inner--property--ttlbox {
    display: flex;
    /* align-items: center; */
    flex-direction: column;
    width: 460px;
    justify-content: start;
}
.section__parts--bg--property .property-card__image {
    height: 206px;
    border-radius: 10px;
    overflow: hidden;
}
.section__parts--bg--property .property-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    backface-visibility: hidden;
}
.section__parts--bg--property .entryCard__item:hover .property-card__image img {
    transform: scale(1.05);
}

.l-main .section__parts--bg--property .contents__area  
{
    width: 350px;
    margin: 0 auto 0 0;
}
.property-card__price {
    display: flex;
    align-items: center;
    gap: 7px;
}
.section__parts--bg--property .property-card__price price{
    font-size: 33px;
    font-family: "Roboto", sans-serif;
    color: #E00966;
    font-weight: 500;
    line-height: 1;
}

.section__parts--bg--property .property-card__labels {
    position: absolute;
    width: fit-content;
    height: fit-content;
    top: 10px;
    left: 8px;
}
.section__parts--bg--property .property-card__label.property-card__label--new {
    width: 60px;
    height: 28px;
    background: #FADD0B;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #004187;
    font-weight: 500;
    font-size: 16px;
    font-family: "Roboto", sans-serif;
    border-radius: 3px;
}
.section__parts--bg--property .bkn_favorite.md-bkn__swtich.ui-favorite-btn.js-favorite-switch {
    background: url(/images/top/favorite_btn.webp) no-repeat center;
    background-size: 100%;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 9px;
    right: 12px;
    margin: 0;
}
.section__parts--bg--property .bkn_favorite.is-checked {
    background: url(/images/top/favorite_btn_on.webp) no-repeat center;
}
.section__parts--bg--property .property-card__content {margin-top: 11px;}
.section__parts--bg--property .property-card__title {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    transition: color 0.35s ease;
}
.section__parts--bg--property .entryCard__item:hover .property-card__title {
    color: #004187;
}
.section__parts--bg--property .property-card__detail {display: block;}

.section__parts--bg--property .property-card__access {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}
.section__parts--bg--property .property-card__address {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.section__parts--bg--contact .top-contact__card {
    width: 1270px;
    margin: 0 auto;
}

/* ---------- CASE（Figma: case 13045:332） ---------- */
.section__parts--bg--case .section__ttl {
    margin-bottom: 46px;
}

.section__parts--bg--case .caseList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 1140px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.section__parts--bg--case .case-card {
    position: relative;
    width: 555px;
    max-width: 100%;
    padding: 300px 30px 0;
    box-sizing: border-box;
    list-style: none;
}

.section__parts--bg--case .case-card__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 555px;
    max-width: 100%;
    height: 370px;
    border-radius: 20px;
    overflow: hidden;
}

.section__parts--bg--case .case-card__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

.section__parts--bg--case .case-card__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 2px 4px 15px rgba(0, 65, 135, 0.1);
    box-sizing: border-box;
}
.case-card__panel--04 {
    min-height: 190px;
}
.section__parts--bg--case .case-card__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #004187;
}

.section__parts--bg--case .case-card__text {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    color: #222;
}
.section__parts--faq {
    margin: 120px 0;
}
.section__parts--faq .section__ttl {
    margin-bottom: 47px;
}

.section__parts--faq .faq-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 1140px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.section__parts--faq .faq-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 0 0 560px;
    width: 560px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 50px;
    background-color: #f6f6f6;
    border-radius: 20px;
    list-style: none;
}

.section__parts--faq .faq-item--full {
    flex: 0 0 1140px;
    width: 1140px;
}

.section__parts--faq .faq-item__label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    box-sizing: border-box;
    padding: 10px 15px 9px;
    background-color: #222;
    border-radius: 20px 0 20px 0;
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.171875;
    color: #fff;
}

.section__parts--faq .faq-item__title {
    margin: 0;
    /* padding-left: 92px; */
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    color: #222;
}

.section__parts--faq .faq-item__text {
    margin: 0;
    /* padding-left: 92px; */
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    color: #222;
}
.section__parts--about {
    margin-bottom: 120px;
}
.section__parts--about .section__ttl {
    margin-bottom: 48px;
}

.section__parts--about .about-intro {
    display: flex;
    align-items: anchor-center;
    gap: 47px;
    width: 1140px;
    max-width: 100%;
    box-sizing: border-box;
}

.section__parts--about .about-intro__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    /* flex: 0 0 608px; */
    box-sizing: border-box;
    width: 591px;
}

.section__parts--about .about-intro__lead {
    margin: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    color: #004187;
}

.section__parts--about .about-intro__texts {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 0 10px;
    box-sizing: border-box;
}

.section__parts--about .about-intro__text {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    color: #222;
}

.section__parts--about .about-intro__btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 250px;
    height: 50px;
    padding: 0 13px 0 28px;
    background-color: #dfeeff;
    border: 2px solid #e6f3ff;
    border-radius: 5px;
    box-shadow: 2px 4px 15px rgba(0, 65, 135, 0.1);
    text-decoration: none;
    justify-content: end;
    gap: 39px;
}

.l-main .section__parts--about .about-intro__btn:hover {
    opacity: 1;
    border: 2px solid #004187;
}

.section__parts--about .about-intro__btn-label {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #004187;
}

.section__parts--about .about-intro__btn-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
}

.section__parts--about .about-intro__btn-icon img {
    display: block;
    width: 16px;
    height: 16px;
}

.section__parts--about .about-intro__figure {
    flex: 0 0 502px;
    width: 502px;
    box-sizing: border-box;
}

.section__parts--about .about-intro__img {
    display: block;
    width: 502px;
    height: 378px;
    border-radius: 20px;
    object-fit: cover;
}



.section__parts--bg--contact {
    background: url(/images/top/contact_bg.webp) center / cover no-repeat;
    padding: 80px 0 81px;
}
.section__parts--bg--news {
    background: url(/images/top/news_bg.webp) center / cover no-repeat;
    padding: 120px 0 120px;
}
.section__parts--bg--news .section__inner {
    border-radius: 40px;
    background: #fff;
    padding: 80px;
    width: 1300px;
}
.section__parts--bg--news .section__ttl {
    margin-bottom: 20px;
}
.deta-ttl {
    font-weight: 700;
    margin-bottom: 8px;
    }
.news__box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}
.news-item__text {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.7;
    color: #333333;
    margin: 0;
}
.contents-info__box {
  display: flex;
  gap: 23px;
}
.deta__item {
    display: flex;
    gap: 20px;
    border-bottom: 1px solid #F6F6F6;
    padding: 23px 0px 21px 0px;
    margin-right: 33px;
}
.deta__list .deta__item:last-child {
    border-bottom: none;
}
.deta-date__text time {
    color: #E00966;
    font-family: "Roboto", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 150%;
}
.scrollbar-content.vertical {
    max-height: 444px;
}
#esbody .simplebar-track.simplebar-vertical{
    background: #E4E4E4;
    width: 2px;
    overflow: visible;
    right: 4px;
    margin: 0px 0;
    border-radius: 30px;
    pointer-events: all;
    top: 24px;
}
#esbody .simplebar-scrollbar.simplebar-visible:before {
    width: 10px;
    background-color: #004187;
    opacity: 1;
    left: -4px;
    border-radius: 0;
    z-index: 2;
    top: 0;
    border-radius: 0;
    cursor: pointer;
}
.section__parts--bg--news .moreBtn--surface {
    margin: 0 0 9px;
}
.l-main .deta-text *{
    font-size: 16px!important;
}
.section__parts--bg--news .section__ttl--sub {
    text-align: start;
}
.section__parts--bg--blog {
background: #FFFCE0;
}
/* ブログタブ */
.blog-tab-root {
    width: 100%;
}
.blog-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px;
    margin-bottom: -1px;
}
.blog-tabs__btn {
    cursor: pointer;
    margin: 0;
    padding: 12px 28px;
    /* border: 2px solid #004187; */
    border-radius: 999px;
    background: #F2F2F2;
    color: #D3D3D3;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    width: 240px;
    border-radius: 10px 10px 0 0;
    height: 60px;
}
 .blog-tabs__btn:hover, .blog-tabs__btn:focus-visible {
    background: #F2F2F2;
    outline: none;
    color: #D3D3D3;
}
.blog-tabs__btn.is-active {
    background: #004187;
    color: #fff;
}
.blog-tabs__panels {
    width: 100%;
}
.blogList {
    display: flex;
    justify-items: center;
    gap: 20px;
    margin-bottom: 31px;
}
.blogList__item a {
    display: block;
    width: 270px;
    box-sizing: border-box;
    background: #fff;
    padding: 13px;
    border-radius: 15px;
    border: 2px solid #fff;
    box-shadow: 2px 4px 15px 0 rgba(0, 65, 135, 0.10);
    transition: border-color 0.4s ease;
}
.blogList__item a:hover {
    opacity: 1;
    border: 2px solid #004187;
}
.blogList__item a:hover .blog__title {
    color: #004187;
}

.blog__imgbox {
    width: 240px;
    height: 160px;
    border-radius: 10px;
    overflow: hidden;
}
.blog__imgbox img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
    backface-visibility: hidden;
}

.blogList__item a:hover .blog__imgbox img {
    transform: scale(1.05);
}
.blog__textbox {
margin-top: 10px;
}
.blog__date time {
    color: #004187;
    font-family: "Roboto", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2; 
}
.blog__title {
    color: #222;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    transition: color 0.35s ease;
}
.blogList__wrap {
    width: 1200px;
    margin: 0 auto;
    background: #fff;
    border: 2px solid #F1F1F1;
    border-radius: 20px;
    padding: 27px 30px;
}
.banner__box {
    margin-top: 120px;
    transition: transform 0.35s ease;
}
.banner__box:hover,
.banner__box:focus-within {
    transform: translateY(-10px);
}
.banner__box a {
    filter: drop-shadow(2px 4px 15px rgba(0, 65, 135, 0.10));
}
.banner__box a:hover {
    opacity: 1;
}
.section__parts--bg--sell {
    background-color: #fffce0;
}
.section__parts--bg--sell .sell-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
    box-sizing: border-box;
}
.section__parts--bg--sell .sell-info__title {
    margin: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    color: #004187;
}
.section__parts--bg--sell .sell-info__intro {
    margin: 0;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    color: #222;
    text-align: center;
}
.section__parts--bg--sell .sell-info__stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 1140px;
    max-width: 100%;
    box-sizing: border-box;
}
.section__parts--bg--sell .sell-info-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-sizing: border-box;
    padding: 40px;
    background-color: #fff;
}
.section__parts--bg--sell .sell-info-card__intro {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.section__parts--bg--sell .sell-info-card__ribbon {
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    padding: 0 15px;
}
.section__parts--bg--sell .sell-info-card--forte .sell-info-card__ribbon {
    background-color: #fff4f9;
}
.section__parts--bg--sell .sell-info-card--point .sell-info-card__ribbon {
    background-color: #e5f5ff;
}
.section__parts--bg--sell .sell-info-card__ribbon-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
    text-align: left;
}
.section__parts--bg--sell .sell-info-card--forte .sell-info-card__ribbon-title {
    color: #e00966;
}
.section__parts--bg--sell .sell-info-card--point .sell-info-card__ribbon-title {
    color: #004187;
}
.section__parts--bg--sell .sell-info-card__lede {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    color: #222;
}
.section__parts--bg--sell .sell-info-card__items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.section__parts--bg--sell .sell-info-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    width: 100%;
    box-sizing: border-box;
}
.section__parts--bg--sell .sell-info-row__head {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch;
    gap: 8px;
    box-sizing: border-box;
}
.section__parts--bg--sell .sell-info-row__num {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    line-height: 1.171875;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2px;
}
.section__parts--bg--sell .sell-info-row__num--accent {
    background-color: #e00966;
}
.section__parts--bg--sell .sell-info-row__num--primary {
    background-color: #004187;
}
.section__parts--bg--sell .sell-info-row__title {
    margin: 0;
    flex: 1 1 auto;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    color: #222;
}
.section__parts--bg--sell .sell-info-row__body {
    margin: 0;
    width: 1025px;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    color: #222;
}