@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;
}

html{
	scroll-behavior: smooth;
}

.l-header,
.l-footer,
.reservation-side-link,
.searchlink{
	display: none!important;
}

#contents{
	width: auto;
	padding: 0;
}

.l-main{
	width: auto;
	padding: 0;
	overflow: hidden;
	background-color: #FFF8EE;
}

.l-main *{
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.l-main svg{
	fill: none;
}

/* 共通 */

[class*="section__wrapper--"]{
	position: relative;
	padding-block: 80px;
}

[class*="section__inner--"]{
	width: 1140px;
	margin: 0 auto;
}

[class*="ttl__box--"]{
	text-align: center;
	margin-bottom: 40px;
}

[class*="section__sub-ttl--"]{
	color: #8F816D;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

[class*="section__sub-ttl--"] span{
	color: #FF9906;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

[class*="section__ttl--"]{
	color: #555;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.4;
}

[class*="section__ttl--"] .section__orange{
	color: #FF9906;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.4;
}

[class*="section__ttl--"] .section__orange-number{
	color: #FF9906;
	font-size: 74px;
	font-weight: 700;
	line-height: 0.6;
}

[class*="flex__list--"]{
	display: flex;
}

/* ヘッダー */

.org-header{
	position: relative;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: transparent;
	padding: 10px 0 10px 20px;
	z-index: 3;
}

.org-header__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: transparent;
}

.header__logo {
    width: 200px;
    height: 55px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header__logo a{
	display: block;
	width: 176px;
}

.header__logo a img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.nav__list{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 258px;
	background-color: #fff;
	padding: 15px 30px;
	border-radius: 5px;
}

.nav__item a{
	display: flex;
	align-items: center;
	gap: 5px;
	color: #3F2F23;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
}

[class*="nav__img--"]{
	width: 17px;
	height: 17px;
	fill: none;
}

/* メインビジュアル */

.mv{
	position: relative;
	padding-block: 178px 283px;
}

.mv__inner{
	position: relative;
	display: flex;
	align-items: center;
	width: 1140px;
	height: 100%;
	margin: 0 auto;
	z-index: 1;
}

.mv__inner::before{
	position: absolute;
	content: "";
	background: url(../images/mv.webp) no-repeat center / cover;
	width: 1000px;
	height: 788px;
	top: -179px;
	right: -389px;
	z-index: 0;
}

.mv__inner::after{
	position: absolute;
	content: "";
	background: url(../images/mv__after.webp) no-repeat center / cover;
	width: 970px;
	height: 828px;
	top: -180px;
	right: -384px;
	z-index: -1;
}

.mv__catch{
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.mv__catch::before{
	position: absolute;
	content: "";
	background: url(../images/mv_deco.webp) no-repeat center / cover;
	width: 725px;
	height: 842px;
	bottom: -672px;
	right: 365px;
	z-index: -1;
}

.mv__catch-box{
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mv__ttl-box{
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.mv__sub-ttl{
	color: #555;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
}

.mv__ttl{
	color: #434343;
	font-size: 70px;
	font-weight: 700;
	line-height: 1.4;
}

.mv__ttl .mv__ttl-orange{
	color: #FF9906;
}

.mv__lead{
	color: #555;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
}

.mv__btn-box{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 360px;
}

.mv__btn-txt{
	color: #555;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.mv__btn-num{
	color: #FF9906;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
}

.mv__btn-unit{
	color: #FF9906;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.mv__btn{
	display: flex;
	align-items: center;
	gap: 15px;
	width: 360px;
	height: 80px;
	background-color: #FF9906;
	border-radius: 9999px;
	padding-left: 60px;
}

.mv__btn-icon{
	width: 25px;
	height: 25px;
	fill: none;
}

.mv__btn-label{
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

.mv__txt{
	color: #555;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	position: absolute;
	bottom: -300px;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
}

.mv__txt span{
	color: #FF9906;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

/* 不安（worries） */

.section__wrapper--worries{
	padding-block: 80px 52px;
}

.worries__cloud{
	position: absolute;
	top: -34px;
	left: 49.6%;
	z-index: 0;
	width: 1457px;
	height: 1318px;
	background: url(../images/blob_bg.webp) no-repeat center / cover;
	transform: translateX(-50%);
	pointer-events: none;
}

.section__inner--worries{
	position: relative;
	z-index: 1;
}

.section__ttl--worries{
	line-height: 1.63;
}

.section__ttl--worries .worries__txt{
	position: relative;
	z-index: 0;
	display: inline-block;
	padding-left: 10px;
	color: #fff;
	letter-spacing: 7.5px;
	margin: 0 4px;
}

.section__ttl--worries .worries__txt::before{
	position: absolute;
	top: 53%;
	left: 51%;
	z-index: -1;
	content: "";
	width: 130px;
	height: 80px;
	background: url(../images/union_bg.webp) no-repeat center / contain;
	transform: translate(-50%, -50%);
}

.worries__area{
	position: relative;
	/* height: 565px; */
}

.worries__list{
	list-style: none;
	position: absolute;
	top: -399px;
}

.worries__item{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.worries__bubble-txt{
	color: #555;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	white-space: nowrap;
}

.worries__item--start{
	top: 29px;
	left: 0;
	width: 194px;
	height: 189px;
	background-image: url(../images/blob01.webp);
}

.worries__item--budget{
	top: 27px;
	left: 265px;
	width: 195px;
	height: 186px;
	background-image: url(../images/blob02.webp);
}

.worries__item--loan{
	top: 24px;
	left: 556px;
	width: 194px;
	height: 189px;
	background-image: url(../images/blob03.webp);
}

.worries__item--reform{
	top: 14px;
	left: 845px;
	width: 188px;
	height: 199px;
	background-image: url(../images/blob04.webp);
}

.worries__item--judge{
	top: 223px;
	left: 124px;
	width: 198px;
	height: 188px;
	background-image: url(../images/blob05.webp);
}

.worries__item--regret{
	top: 219px;
	left: 396px;
	width: 189px;
	height: 179px;
	background-image: url(../images/blob06.webp);
}

.worries__item--fund{
	top: 224px;
	left: 700px;
	width: 165px;
	height: 172px;
	background-image: url(../images/blob07.webp);
}

.worries__item--other{
	top: 224px;
	left: 932px;
	width: 198px;
	height: 200px;
	background-image: url(../images/blob08.webp);
}

.worries__illust{
	position: relative;
	width: 264px;
	height: 181px;
	margin: 439px auto 0;
}

.worries__illust::before{
	position: absolute;
	content: "";
	background: url(../images/blob09.webp) no-repeat center / cover;
	width: 50px;
	height: 36px;
	top: 12px;
	left: -98px;
}

.worries__illust::after{
	position: absolute;
	content: "";
	background: url(../images/blob10.webp) no-repeat center / cover;
	width: 41px;
	height: 34px;
	top: 5px;
	right: -60px;
}

.worries__illust img{
	width: 100%;
	height: 100%;
	display: block;
}

.worries__solution{
	position: relative;
	z-index: 1;
	margin-top: 58px;
	color: #555;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.worries__solution .worries__solution-orange{
	color: #FF9906;
}

/* 強み（strengths） */

.section__wrapper--strengths{
	padding-block: 110px 120px;
	z-index: 1;
}

.section__wrapper--strengths::before{
	position: absolute;
	content: "";
	background: url(../images/strengths_bg.webp) no-repeat center / cover;
	width: 100%;
	height: 1991px;
	top: -2px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.ttl__box--strengths{
	margin-bottom: 66px;
}

.strengths__list{
	display: flex;
	flex-direction: column;
	gap: 40px;
	list-style: none;
}

.strengths__item{
	position: relative;
	min-height: 430px;
	padding: 95px 40px 40px 460px;
	background-color: #fff;
	border-radius: 20px;
}

.strengths__img{
	position: absolute;
	top: 40px;
	left: 40px;
	width: 380px;
	height: 350px;
	border-radius: 10px;
	overflow: hidden;
}

.strengths__img img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.strengths__num{
	position: absolute;
	top: 0px;
	right: 30px;
	color: #FF9906;
	font-size: 70px;
	font-weight: 700;
	line-height: 1.5;
}

.strengths__ttl{
	color: #555;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
}

.strengths__ttl .strengths__ttl-num{
	font-size: 33px;
	font-weight: 700;
}

.strengths__sub{
	margin-top: 10px;
	color: #555;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.strengths__sub .strengths__sub-orange{
	color: #FF9906;
}

.strengths__txt{
	width: 639px;
	margin-top: 10px;
	color: #555;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

/* お問い合わせ（contact） */

.section__wrapper--contact{
	padding-block: 0;
	background-color: #fff8ee;
}

.section__wrapper--contact.contact__second {
    padding-block: 0 120px;
    background-color: #FFEBCE;
}

.contact__band{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 225px;
	background-color: #ffebce;
	border-radius: 0 0 50px 50px;
}

.contact__box{
	position: relative;
	z-index: 1;
	width: 1140px;
	margin: 0 auto;
	padding: 75px 0 78px;
}

.contact__box::before{
	position: absolute;
	content: "";
	background: url(../images/contact_bg.webp) no-repeat center / cover;
	width: 1340px;
	height: 450px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.contact__head{
	display: flex;
	/* align-items: flex-start; */
	justify-content: space-between;
	width: 100%;
	margin-bottom: 55px;
}

.contact__ttl-box{
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.contact__sub-ttl{
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.contact__ttl{
	color: #fff;
	font-size: 50px;
	font-weight: 700;
	line-height: 1.4;
}

.contact__tel-box{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
}

.contact__tel-lead{
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.8;
}

.contact__tel{
	display: flex;
	align-items: baseline;
	gap: 6px;
	color: #fff;
	font-size: 60px;
	font-weight: 700;
	line-height: 1;
}

.contact__tel-icon{
	width: 42px;
	height: 44px;
	flex-shrink: 0;
	fill: none;
}

.contact__cta{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.contact__btn-list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 10px;
	list-style: none;
}

.contact__btn-item{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.contact__btn-label{
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 212px;
	height: 30px;
	margin-bottom: -10px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}

.contact__btn-label::after{
	content: "";
	position: absolute;
	bottom: -4px;
	left: 50%;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 5px solid currentColor;
	transform: translateX(-50%);
}

.contact__btn{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 350px;
	height: 70px;
	padding-top: 2px;
	border-radius: 9999px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
}

.contact__btn-icon{
	width: 25px;
	height: 25px;
	flex-shrink: 0;
	fill: none;
}

.contact__btn-item--line .contact__btn-label{
	background-color: #f2ffe6;
	border: 1px solid #06c755;
	color: #06c755;
}

.contact__btn-item--line .contact__btn-label::after{
	color: #f2ffe6;
}

.contact__btn--line{
	background-color: #06c755;
}

.contact__btn-item--mail .contact__btn-label{
	background-color: #f2f8ff;
	border: 1px solid #2668b9;
	color: #2668b9;
}

.contact__btn-item--mail .contact__btn-label::after{
	color: #f2f8ff;
}

.contact__btn--mail{
	background-color: #2668b9;
}

.contact__btn-item--reserve .contact__btn-label{
	background-color: #edfcff;
	border: 1px solid #4eb8f6;
	color: #4eb8f6;
}

.contact__btn-item--reserve .contact__btn-label::after{
	color: #edfcff;
}

.contact__btn--reserve{
	background-color: #4eb8f6;
}

.contact__schedule{
	display: flex;
	gap: 20px;
}

.contact__schedule-txt{
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

/* 戸建を探す（search） */

.section__wrapper--search{
	padding-block: 116px 120px;
	background-color: #fff8ee;
}

.flex__list--search{
	justify-content: center;
	gap: 20px;
	list-style: none;
}

[class*="search__item--"] > a{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	width: 270px;
	height: 80px;
	background-color: #ff9906;
	border-radius: 5px;
}

[class*="search__img--"]{
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}

.search__txt{
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.search__content{
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 40px;
}

.search__freeword{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 30px;
	background-color: #ffebce;
	border-radius: 10px;
	width: 100%;
	border: none;
}

.search__freeword-ttl{
	color: #ff9906;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
	white-space: nowrap;
}

.search__form{
	display: flex;
	align-items: center;
	gap: 10px;
	width: 888px;
	height: 50px;
	padding-left: 22px;
	padding-right: 5px;
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 9999px;
}

input.search__input{
	flex: 1 0 0;
	min-width: 0;
	border: none;
	background: none;
	color: #555;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
}

.search__input::-webkit-search-decoration,
.search__input::-webkit-search-cancel-button{
	-webkit-appearance: none;
}

.search__input::placeholder{
	color: #898989;
}

.search__input:focus{
	outline: none;
}

.search__submit{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	background-color: #ff9906;
	border: none;
	border-radius: 50%;
	cursor: pointer;
}

.search__submit-icon{
	width: 16px;
	height: 17px;
}

.search__box{
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 15px 20px 20px;
	background-color: #fff;
	border-radius: 10px;
}

.search__box-ttl{
	color: #ff9906;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.search__tag-list{
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	list-style: none;
}

.search__tag > a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 1px 12px;
	background-color: #fff;
	border: 1px solid #eaeaea;
	border-radius: 3px;
	color: #555;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
	white-space: nowrap;
}

/* こだわりから探す（pick-up） */

.section__wrapper--pick-up{
	padding-block: 117px 0;
	background-color: #fff;
}

.section_-inner--pick-up{
	width: 1140px;
	margin: 0 auto;
}

.ttl__box--pick-up{
	margin-bottom: 60px;
}

.flex__list--pick-up{
	justify-content: center;
	gap: 30px;
	list-style: none;
}

[class*="pick-up__item--"]{
	width: 165px;
}

[class*="pick-up__item--"] > a{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.pick-up__img{
	width: 165px;
	height: 165px;
	overflow: hidden;
	box-sizing: border-box;
}

.pick-up__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pick-up__txt{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 60px;
	color: #555;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

/* 新着物件（new） */

.section__wrapper--new{
	padding-top: 120px;
	padding-bottom: 0;
	background: linear-gradient(to bottom, #fff 72%, #fffdf9);
	border-radius: 0 0 50px 50px;
}

.section__inner--new{
	width: auto;
	margin: 0;
	padding-left: calc((100% - 1140px) / 2);
	display: flex;
	align-items: flex-start;
	gap: 60px;
}

.inner__box--new{
	flex-shrink: 0;
	width: 270px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.ttl__box--new{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 53px;
	text-align: left;
}

.section__sub-ttl--new{
	line-height: 1;
}

.section__sub-ttl--new span {
    line-height: 1;
}

.section__ttl--new{
	line-height: 1;
}

.section__ttl--new .section__orange{
	line-height: 1;
}

.swiper-option-wrap{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 41px;
}

.swiper-button-prev,
.swiper-button-next{
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin: 0;
	background: url(../images/next_btn.webp) no-repeat center / cover;
	flex-shrink: 0;
}

.swiper-button-next{
	transform: rotate(180deg);
}

.swiper-button-prev::after,
.swiper-button-next::after{
	display: none;
}

.swiper-pagination{
	position: static;
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
}

.swiper-pagination .swiper-pagination-bullet{
	width: 8px;
	height: 8px;
	margin: 0!important;
	background-color: #d5d5d5;
	border-radius: 50%;
	opacity: 1;
	cursor: pointer;
}

.swiper-pagination .swiper-pagination-bullet-active{
	background-color: #ff9906;
}

.swiper-button-prev,
.swiper-button-next{
	cursor: pointer;
}

.swiper-button-disabled{
	opacity: 1!important;
	cursor: default;
}

[class*="common__btn--"] > a{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	width: 270px;
	height: 60px;
	padding-right: 10px;
	background-color: #ffc168;
	border-radius: 9999px;
	text-decoration: none;
}

.img__new{
	width: 27px;
	height: 25px;
	flex-shrink: 0;
}

[class*="common__btn--"] .pick-up__txt{
	height: auto;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

[class*="common__slider--"] {
	flex: 1;
	min-width: 0;
}

[class*="common__list--"] {
	margin: 0;
	padding: 0;
	list-style: none;
}

[class*="common__item--"] {
	position: relative;
	width: 300px;
}

[class*="common__item--"] > a{
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding-bottom: 20px;
	background-color: #fff;
	border-radius: 5px;
	overflow: hidden;
	text-decoration: none;
}

[class*="common__box--"] {
	position: relative;
	width: 300px;
	height: 225px;
	overflow: hidden;
	border-radius: 5px 5px 0 0;
}

[class*="common__img--"] {
	width: 300px;
	height: 225px;
}

[class*="common__img--"] img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

[class*="common__inner--"] {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	gap: 5px;
}

[class*="common__favorite--"] {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	line-height: 0;
}

[class*="common__favorite--"] svg{
	width: 100%;
	height: 100%;
}

.common__favorite-icon--on{
	display: none;
}

[class*="common__favorite--"].is-checked .common__favorite-icon--off{
	display: none;
}

[class*="common__favorite--"].is-checked .common__favorite-icon--on{
	display: block;
}

[class*="common__txt--"]{
	display: flex;
	align-items: center;
	padding: 0 8px;
	border-radius: 3px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	width: fit-content;
	height: 24px;
}

.common__txt--type{
	background-color: #ffbb00;
}

.common__txt--label{
	background-color: #ff9906;
}

[class*="common__group--"] {
	padding: 0 20px;
}

[class*="group__inner--"] {
	display: flex;
	align-items: flex-end;
	gap: 0;
}

.price__txt{
	color: #ff9906;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.price__txt .price{
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
}

.common__txt--madori{
	color: #555;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
}

.card__ttl{
	width: 100%;
	margin-top: 0;
	padding-bottom: 8px;
	border-bottom: 1px solid #e9e9e9;
	color: #555;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.common__txt--address{
	width: 100%;
	margin-top: 8px;
	color: #c0c0c0;
	font-size: 14px;
	font-weight: 500;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	white-space: unset;
	padding: 0;
	height: auto;
}

.common__txt--traffic{
	width: 100%;
	margin-top: 8px;
	color: #c0c0c0;
	font-size: 14px;
	font-weight: 500;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	white-space: unset;
	padding: 0;
	height: auto;
}

/* 購入する流れ（flow） */

.section__wrapper--flow{
	padding-block: 90px 50px;
	background: url(../images/flow_bg.webp) no-repeat center top / cover;
}

.ttl__box--flow{
	margin-bottom: 79px;
}

.flow__map{
	position: relative;
	width: 1104px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 58px;
}

.flow__line{
	position: absolute;
	top: 27px;
	left: 0;
	z-index: 0;
	overflow: visible;
}

.flow__row{
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	width: 910px;
	margin: 0 auto;
}

.flow__row--reverse{
	flex-direction: row-reverse;
}

.flow__step{
	box-sizing: border-box;
	width: 190px;
	height: 190px;
	padding: 42px 10px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 25px;
	background-color: #fff;
	border: 4px solid #ffd89e;
	border-radius: 50%;
	position: relative;
}

.flow__step.flow__step--note{
	gap: 14px;
}

.flow__num{
	color: #ffcf89;
	font-size: 50px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	top: -29px;
	left: 70px;
	-webkit-text-stroke-width: 10px;
	-webkit-text-stroke-color: #FFF;
	paint-order: stroke fill;
}

.flow__icon{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 52px;
}

.flow__icon svg{
	width: 62px;
	height: 62px;
}

.flow__label{
	color: #555;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
}

.flow__note{
	display: block;
	color: #8f816d;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.6;
}

/* 購入に必要な書類（documents） */

.section__wrapper--document{
	padding-block: 65px 0;
}

.ttl__box--document{
	margin-bottom: 60px;
}

.flex__list--document{
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	width: 1140px;
	margin: 0 auto;
	list-style: none;
}

.document__item{
	box-sizing: border-box;
	width: 560px;
	height: 170px;
	padding: 0 25px 0 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
	background-color: #fff;
	border-radius: 15px;
}

.document__item:last-child{
	width: 100%;
}

.document__img{
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
}

.document__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.document__box{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.document__ttl{
	color: #ff9906;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.document__inner{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px 18px;
	width: 100%;
}

.document__txt{
	display: flex;
	gap: 5px;
	color: #000;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	align-items: baseline;
	position: relative;
	padding-left: 10px;
}

.document__txt span{
	color: #000;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
}

.document__txt::before{
	content: "";
	flex-shrink: 0;
	width: 5px;
	height: 5px;
	margin-top: 5px;
	background-color: #ff9906;
	border-radius: 50%;
	position: absolute;
	top: 2px;
	left: 0;
}

/* 購入にかかる諸経費（expenses） */

.section__wrapper--expenses{
	position: relative;
	padding-block: 115px 120px;
}

.ttl__box--expenses {
    margin-bottom: 62px;
}

.flex__list--expenses{
	justify-content: center;
	align-items: center;
	gap: 30px;
}

.expenses__img{
	flex-shrink: 0;
	width: 370px;
	height: 290px;
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
}

.expenses__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.expenses__box{
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	list-style: none;
}

.expenses__item{
	box-sizing: border-box;
	height: 50px;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 15px;
	background-color: #fff;
	border-radius: 10px;
}

.expenses__icon{
	flex-shrink: 0;
	width: 23px;
	height: 20px;
}

.expenses__txt{
	color: #555;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
	white-space: nowrap;
}

/* よくある質問（faq） */

.section__wrapper--faq{
	padding-block: 114px 120px;
	z-index: 1;
}

.section__wrapper--faq::before{
	position: absolute;
	content: "";
	background: url(../images/faq_bg.webp) no-repeat center / cover;
	width: 100%;
	height: 1358px;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.ttl__box--faq{
	margin-bottom: 62px;
}

.faq__panel{
	background-color: #ffeacb;
	border-radius: 5px;
}

.faq__list{
	display: flex;
	justify-content: center;
	gap: 50px;
}

.faq__col{
	width: 545px;
	display: flex;
	flex-direction: column;
	gap: 57px;
}

.faq__col--right{
	margin-top: 100px;
}

.faq__item{
	position: relative;
	width: 545px;
}

.faq__q{
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 25px;
	background-color: #ff9906;
	border-radius: 9999px;
}

.faq__q.faq__q--long{
	align-items: flex-start;
}

.faq__q::after{
	content: "";
	position: absolute;
	right: 29px;
    bottom: -12px;
	width: 16px;
	height: 14px;
	background: url(../images/polygon_faq.webp) no-repeat center / cover;
}

.faq__q-mark{
	flex-shrink: 0;
	color: #fff;
	font-size: 33px;
	font-weight: 700;
	line-height: 1;
}

.faq__q-txt{
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.faq__a{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 25px;
	background-color: #fff;
	border-radius: 20px;
}

.faq__a-mark{
	flex-shrink: 0;
	color: #ff9906;
	font-size: 33px;
	font-weight: 700;
	line-height: 1;
}

.faq__a-txt{
	color: #555;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8;
}

.faq__a-note{
	font-size: 12px;
}

/* footer */
.org-footer{
	position: relative;
	padding-top: 60px;
	background-color: #fff;
}

.footer__inner{
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	width: 1140px;
	margin: 0 auto;
}

.footer__left{
	display: flex;
	flex-direction: column;
	gap: 27px;
	width: 351px;
}

.footer__img{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 176px;
	height: 44px;
	margin: 0;
	background-color: #fff;
	border-radius: 5px;
	margin-left: 11px;
}

.footer__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.footer__left-box{
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: #555;
	font-weight: 500;
}

.company__group{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.company__txt--name,
.company__txt--representative,
.company__txt--address{
	font-size: 16px;
	line-height: 1.6;
}

.company__txt--tel{
	font-size: 20px;
	line-height: 1.6;
}

.detail__box-inner{
	display: flex;
	align-items: center;
	gap: 10px;
}

.company__txt--sales,
.company__txt--holiday{
	font-size: 14px;
	line-height: 1.6;
}

.footer__right{
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 322px;
	margin-top: 50px;
}

.company__info{
	display: flex;
	flex-direction: column;
}

.company__info--ttl{
	color: #888;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.company__txt--licence,
.company__txt--group{
	color: #555;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.page__top a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 50px;
	color: #fff;
	font-family: inherit;
	font-size: 20px;
	font-weight: 500;
	background-color: #ff9906;
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	padding: 0 20px;
}

.page__top a:hover{
	opacity: 0.7;
}

.footer__bottom{
	margin-block: 20px 0;
	border-top: 1px solid #e9e9e9;
}

.footer__bottom-inner{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1140px;
	margin: 0 auto;
	padding: 9px 0 11px 0;
	color: #555;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
}

.footer__privacy{
	color: #555;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

.footer__copyright{
	color: #555;
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
}
