/*===============================================================================
共通
================================================================================*/
:root{
	--c-main: rgba(27, 79, 114, 1);
	--c-main--dark: rgba(41, 69, 119, 1);
	--c-gray: rgba(145, 145, 145, 1);
	--c-gradient: linear-gradient(102.3deg, #FFB83D 32.79%, #F18D10 102.05%);
	--g-sec--lg: clamp(5.75rem, 4.5rem + 3.33vw, 7.5rem);
	--g-sec--md: clamp(3rem, 2.286rem + 1.9vw, 4rem);
	--g-sec--sm: 2.5rem;
	--g-sec--xs: clamp(1.75rem, 1.214rem + 1.43vw, 2.5rem);
	--ff-m: "Noto Serif JP", "Hiragino Mincho ProN", serif;
	--swl-pad_container: 3.1vw;
}
body{
	--container_size: 1200px;
	background-color: rgba(255, 250, 235, 1);
	font-family: var(--ff-n);
	color: var(--c-main);
}

#header, #fix_header, #footer{
	display: none;
}

.sougi{
	padding-top: var(--sougi-headerH);
}

/*===============================
* title
* =================================*/
.sougi-title{
	font-weight: var(--fw-xl);
	font-size: clamp(1.4rem, 0.614rem + 2.1vw, 2.5rem);
}
.sougi-title.--fz-lg{
	font-size: clamp(2.5rem, 1.429rem + 2.86vw, 4rem);
}

/*===============================
* btn
* =================================*/
.sougi-btn{
	--icon-size: 1em;
	--icon-pos-x: 1.75em;
	position: relative;
	display: inline-block;
	text-align: center;
	max-width: 20rem;
	width: 100%;
	padding: clamp(0.75rem, 0.393rem + 0.95vw, 1.25rem) calc( var(--icon-pos-x) + var(--icon-size) );
	background: var(--c-gradient);
	background-size: 100% auto;
	border-radius: 99999px;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
	font-weight: var(--fw-lg);
	color: var(--c-light);
	cursor: pointer;
	transition: var(--ani-t--normal) ease-out;
}
.sougi-btn:is(:hover, :focus){
	background-size: 200% auto;
	color: var(--c-light);
}
.sougi-btn svg{
	position: absolute;
	top: 50%;
	right: var(--icon-pos-x);
	transform: translateY(-50%);
	width: var(--icon-size);
}

.sougi-btn.--line{
	background: rgba(0, 191, 82, 1);
}
.sougi-btn.--line:is(:hover, :focus){
	opacity: .7;
}

.sougi-btn.--outline{
	background: var(--c-light);
	border: 1px solid var(--c-main);
	color: var(--c-main);
}
.sougi-btn.--outline:is(:hover, :focus){
	background: var(--c-main);
	border: 1px solid var(--c-light);
	color: var(--c-light);
}

/*===============================================================================
ヘッダー
================================================================================*/
.sougi-header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100vw;
	transition: var(--ani-t--late) ease-out;
	background: #FCFCFC;
	box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
}

.sougi-header__inner{
	display: flex;
	justify-content: space-between;
	gap: 0;
}

.sougi-header__logos{
	--count: 2;
	--gap: clamp(0.75rem, -1.393rem + 5.71vw, 3.75rem);
	display: flex;
	justify-content: space-between;
	gap: var(--gap);
	align-items: center;
	padding: 1rem clamp(1.125rem, 0.143rem + 2.62vw, 2.5rem);
}
.sougi-header__logo{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.sougi-header__logo-link{
	display: block;
}
.sougi-header__logo img{
	height: clamp(1.75rem, 0.768rem + 2.62vw, 3.125rem);
	object-fit: contain;
}
.sougi-header__cta{
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 0 clamp(0.75rem, -0.143rem + 2.38vw, 2rem);
	background: var(--c-gradient);
	background-size: 100% auto;
	color: var(--c-light);
}
.sougi-header__cta:is(:hover, :focus){
	background-size: 200% auto;
}
.sougi-header__cta-icon{
	width: clamp(1.25rem, 0.893rem + 0.95vw, 1.75rem);
}
.sougi-header__cta-text{
	display: none;
	line-height: var(--lh-xs);
	font-weight: var(--fw-lg);
}
@media (min-width: 960px){
	.sougi-header__cta-text{
		display: block;
	}
}


/*===============================================================================
mv
================================================================================*/
.sougi-mv__inner{
	position: relative;
	padding: var(--g-sec--md) 0 var(--g-sec--sm);
}
.sougi-mv__flex{
	--count: 1;
	--gap: clamp(1.75rem, 0.857rem + 2.38vw, 3rem);
	--top-width: 100%;
	--bottom-width: calc( 200% - var(--top-width) );
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--gap);
}
@media (min-width: 960px){
	.sougi-mv__flex{
		--top-width: 117%;
		--count: 2;
	}
}
/*===============================
* top
* =================================*/
.sougi-mv__top{
	width: calc( ( var(--top-width) - var(--gap) * (var(--count) - 1) ) / var(--count) ); 
	container: my-container / inline-size;
	resize: horizontal;
}
.sougi-mv__title{
	display: inline-flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
}
.sougi-mv__title strong{
	background: linear-gradient(transparent 70%, rgba(255, 241, 152, 1) 70%);
}
.sougi-mv__message{
	margin-bottom: var(--g-sec--xs);
}
/*===============================
* cta
* =================================*/
.sougi-mv__cta{
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 960px){
	.sougi-mv__cta{
		flex-direction: row;
	}
}
.sougi-mv__cta .sougi-btn{
	--icon-pos-x: clamp(1em, 0.464em + 1.43vw, 1.75em);
	max-width: clamp(15.5rem, 12.286rem + 8.57vw, 20rem);
}
/*===============================
* illust
* =================================*/
.sougi-mv__illust{
	position: relative;
}
.sougi-mv__illust::before{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	content: "";
	width: 150%;
	height: 146%;
	background: #FFFFFB;
	filter: blur(80px);
}
.sougi-mv__illust.--sp{
	position: absolute;
	top: 4rem;
	right: calc(50% - 50vw);
	transform: translateY(-50%);
	z-index: -1;
	width: 46%;
}
.sougi-mv__illust.--pc{display: none;}
@media (min-width: 960px){
	.sougi-mv__illust.--pc{
		display: block;
		width: 100%;
		margin-top: -4rem;
	}
	.sougi-mv__illust.--sp{display: none;}
}
/*===============================
* card
* =================================*/
.sougi-mv__cards{
	--count: 2;
	--gap: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@container my-container (min-width: 600px) {
	.sougi-mv__cards{
		--count: 4;
	}
}

.sougi-mv__card{
	position: relative;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: 1rem .25rem;
	border-radius: var(--bd-r--sm);
	filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
}
.sougi-mv__card-bgi{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;
	width: 100%;
	height: 100%;
}
.sougi-mv__card::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border-radius: calc(var(--bd-r--xs) + 2px);
	background: var(--c-light);
}
.sougi-mv__card-icon{
	display: block;
	width: 5rem;
	margin-inline: auto;
	margin-bottom: .5rem;
}
.sougi-mv__card-text{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-weight: var(--fw-lg);
}
.sougi-mv__card-text strong{
	font-size: 1.25em;
}
/*===============================
* bottom
* =================================*/
.sougi-mv__bottom{
	width: calc( ( var(--bottom-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.sougi-mv__contact{
	padding: 1.75rem 1.25rem;
	background: var(--c-light);
	outline: 1px solid var(--c-main);
	outline-offset: -.5rem;
}
.sougi-mv__contact-title{
	margin-bottom: .5rem;
	text-align: center;
	font-size: clamp(1.25rem, 1.071rem + 0.48vw, 1.5rem);
	font-weight: var(--fw-lg);
}
.sougi-mv__contact-text{
	margin-bottom: 1rem;
	text-align: center;
	font-size: .75rem;
	color: rgba(199, 82, 82, 1);
}
.sougi-mv__contact-list{
	margin-inline: clamp(0rem, -1.25rem + 3.33vw, 1.75rem);
}
.sougi-mv__contact-list li:not(:last-of-type){
	margin-bottom: .5rem;
}
.sougi-mv__decor{
	position: absolute;
	bottom: 0;
	left: calc( 50% - 50vw + clamp(0rem, -1.607rem + 4.29vw, 2.25rem) );
	z-index: -1;
	max-width: 747px;
	width: 100vw;
}


/*===============================================================================
全体像を知ること
================================================================================*/
.sougi-siru{
	margin-bottom: var(--g-sec--lg);
}
.sougi-siru__inner{
	position: relative;
	padding: var(--g-sec--lg) 0;
}
.sougi-siru__inner::before{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	content: "";
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background: var(--c-light);
}
.sougi-siru__head{
	position: relative;
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 600px){
	.sougi-siru__head-container{
		width: 80%;
	}
}
.sougi-siru__title{
	width: 95%;
	margin-bottom: 1rem;
}
@media (min-width: 600px){
	.sougi-siru__title{
		width: 100%;
	}
}
.sougi-siru__illust{
	position: absolute;
	top: -3.5rem;
	right: calc( 50% - 50vw + clamp(0rem, -1.786rem + 4.76vw, 2.5rem) );
	z-index: -1;
	width: clamp(13rem, 4.429rem + 22.86vw, 25rem);
}
@media (min-width: 600px){
	.sougi-siru__illust{
		top: 0;
	}
}
.sougi-siru__illust img{
	width: 100%;
}
.sougi-siru__cards{
	--count: 1;
	--gap: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 600px){
	.sougi-siru__cards{
		--count: 2;
	}
}
@media (min-width: 960px){
	.sougi-siru__cards{
		--count: 4;
	}
}
.sougi-siru__card{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	max-width: 23rem;
	margin-inline: auto;
	padding: 1rem .5rem;
	border: 1px solid var(--c-gray);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
@media (min-width: 600px){
	.sougi-siru__card{
		max-width: 100%;
	}
}
.sougi-siru__card-image{
	margin-bottom: 1rem;
}
.sougi-siru__card-image img{
	display: block;
	width: 100%;
	height: 100%;
}
.sougi-siru__card-title{
	margin-bottom: .5rem;
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
}



/*===============================================================================
これだけの手続きが、葬儀後に待っています。
================================================================================*/
.sougi-tetuduki{
	margin-bottom: var(--g-sec--lg);
}
/*===============================
* top
* =================================*/
.sougi-tetuduki__head{
	position: relative;
	margin-bottom: var(--g-sec--xs);
}
.sougi-tetuduki__title{
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 1rem;
}
.sougi-tetuduki__message{
	padding-left: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
@media (min-width: 600px){
	.sougi-tetuduki__message{
		width: 69%;
	}
}
.sougi-tetuduki__illust{
	position: absolute;
	top: -3.5rem;
	right: calc( 50% - 50vw + clamp(0rem, -1.786rem + 4.76vw, 2.5rem) );
	z-index: -1;
	width: clamp(13rem, 4.429rem + 22.86vw, 25rem);
}
@media (min-width: 600px){
	.sougi-tetuduki__illust{
		top: 0;
	}
}
.sougi-tetuduki__illust img{
	width: 100%;
}

/*===============================
* body
* =================================*/
.sougi-tetuduki__body{
	padding: clamp(1rem, -0.071rem + 2.86vw, 2.5rem) clamp(0.75rem, 0.214rem + 1.43vw, 1.5rem);
	border: 1px solid var(--c-gray);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
/*===============================
* note
* =================================*/
.sougi-tetuduki__note.--top{
	margin-bottom: var(--g-sec--xs);
}
.sougi-tetuduki__note{
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: .75rem 1.5rem;
	max-width: 1120px;
	margin-inline: auto;
	padding-top: clamp(1.75rem, 0.5rem + 3.33vw, 3.5rem);
	padding-bottom: clamp(1.75rem, 0.5rem + 3.33vw, 3.5rem);
	padding-left: clamp(0.75rem, -0.321rem + 2.86vw, 2.25rem);
	padding-right: clamp(0.75rem, -0.321rem + 2.86vw, 2.25rem);
	border: .25rem solid rgba(237, 158, 158, 1);
	background: var(--c-light);
	border-radius: var(--bd-r--xs);
	overflow: hidden;
}
@media (min-width: 600px){
	.sougi-tetuduki__note{
		flex-direction: row;
	}
}
.sougi-tetuduki__note-icon{
	width: clamp(2.5rem, 1.786rem + 1.9vw, 3.5rem);
	aspect-ratio: 1;
}
.sougi-tetuduki__content{
	flex-grow: 1;
}
.sougi-tetuduki__content p:not(:last-of-type){
	margin-bottom: .5rem;
}
.sougi-tetuduki__lead{
	text-align: center;
	font-weight: var(--fw-lg);
	color: rgba(214, 92, 92, 1);
}
@media (min-width: 600px){
	.sougi-tetuduki__lead{
		text-align: left;
	}
}
.sougi-tetuduki__content strong{
	font-weight: var(--fw-lg);
	color: rgba(214, 92, 92, 1);
}
/*===============================
* 表
* =================================*/
.sougi-tetuduki__tables{
	margin-bottom: var(--g-sec--xs);
}
.sougi-tetuduki__table:not(:last-of-type){
	margin-bottom: 1.5rem;
}
.sougi-tetuduki__table img{
	display: inline-block;
	width: 100%;
}



/*===============================================================================
意外と知られていない、4つのこと。
================================================================================*/
.sougi-siranai{
	margin-bottom: var(--g-sec--lg);
}
.sougi-siranai__inner{
	position: relative;
	padding: var(--g-sec--lg) 0;
}
.sougi-siranai__inner::before{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	content: "";
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background: var(--c-light);
}
.sougi-siranai__head{
	position: relative;
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 600px){
	.sougi-siranai__head-container{
		width: 80%;
	}
}
.sougi-siranai__title{
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 1rem;
}
@media (min-width: 600px){
	.sougi-siranai__title{
		width: 100%;
	}
}
.sougi-siranai__message{
	padding-left: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
.sougi-siranai__illust{
	position: absolute;
	top: -3.5rem;
	right: calc( 50% - 50vw + clamp(0rem, -1.786rem + 4.76vw, 2.5rem) );
	z-index: -1;
	width: clamp(13rem, 4.429rem + 22.86vw, 25rem);
}
@media (min-width: 600px){
	.sougi-siranai__illust{
		top: 0;
	}
}
.sougi-siranai__illust img{
	width: 100%;
}
/*===============================
* body
* =================================*/
.sougi-siranai__body{
	container: my-container / inline-size;
	resize: horizontal;
}
.sougi-siranai__cards{
	--count: 1;
	--gap: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@container my-container (min-width: 36rem) {
	.sougi-siranai__cards{
		--count: 2;
	}
}
@container my-container (min-width: 73rem) {
	.sougi-siranai__cards{
		--count: 4;
	}
}
.sougi-siranai__card{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	max-width: 23rem;
	margin-inline: auto;
	padding: 1rem;
	border: 1px solid var(--c-gray);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
@media (min-width: 600px){
	.sougi-siranai__card{
		max-width: 100%;
	}
}
.sougi-siranai__card-image{
	margin-bottom: 1rem;
}
.sougi-siranai__card-image img{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.sougi-siranai__card-title{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: .5rem;
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
}
.sougi-siranai__card-contents strong{
	font-weight: var(--fw-lg);
	color: rgba(214, 92, 92, 1);
}

/*===============================================================================
専門家に頼むと、何が変わるのか。
================================================================================*/
.sougi-senmonka{
	margin-bottom: var(--g-sec--lg);
}
.sougi-senmonka__head{
	position: relative;
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 600px){
	.sougi-senmonka__head-container{
		width: 75%;
	}
}
.sougi-senmonka__title{
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 1rem;
}
@media (min-width: 600px){
	.sougi-senmonka__title{
		width: 100%;
	}
}
.sougi-senmonka__message{
	padding-left: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
.sougi-senmonka__illust{
	position: absolute;
	top: -3.5rem;
	right: calc( 50% - 50vw + clamp(0rem, -1.786rem + 4.76vw, 2.5rem) );
	z-index: -1;
	width: clamp(13rem, 4.429rem + 22.86vw, 25rem);
}
@media (min-width: 600px){
	.sougi-senmonka__illust{
		top: 0;
	}
}
.sougi-senmonka__illust img{
	width: 100%;
}
/*===============================
* body
* =================================*/
.sougi-senmonka__body{
	container: my-container / inline-size;
	resize: horizontal;
}
.sougi-senmonka__cards{
	--count: 1;
	--gap: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@container my-container (min-width: 36rem) {
	.sougi-senmonka__cards{
		--count: 2;
	}
}
@container my-container (min-width: 72rem) {
	.sougi-senmonka__cards{
		--count: 4;
	}
}
.sougi-senmonka__card{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	max-width: 23rem;
	margin-inline: auto;
	padding: .5rem;
	border: 1px solid var(--c-gray);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
@media (min-width: 600px){
	.sougi-senmonka__card{
		max-width: 100%;
	}
}
.sougi-senmonka__card-image{
	margin-bottom: 1rem;
}
.sougi-senmonka__card-image img{
	display: block;
	width: 100%;
	height: 100%;
}
.sougi-senmonka__card-title{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: .5rem;
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
}
.sougi-senmonka__card-contents strong{
	font-weight: var(--fw-lg);
	color: rgba(214, 92, 92, 1);
}



/*===============================================================================
7つの確認項目
================================================================================*/
.sougi-kakunin{
	margin-bottom: var(--g-sec--lg);
}
.sougi-kakunin__inner{
	position: relative;
	padding: var(--g-sec--lg) 0;
}
.sougi-kakunin__bgi{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	object-fit: cover;
}
.sougi-kakunin__bgi img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*===============================
* head
* =================================*/
.sougi-kakunin__head{
	margin-bottom: var(--g-sec--xs);
}
.sougi-kakunin__title{
	display: flex;
	flex-direction: column;
}
/*===============================
* body
* =================================*/
.sougi-kakunin__body{
	--accent-color: #75d3c8;
	--track-color: #e6e6e6;
	--count: 1;
	--gap: clamp(1.75rem, -0.571rem + 6.19vw, 5rem);
	--top-width: 100%;
	--bottom-width: calc( 200% - var(--top-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	padding: 0 clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
@media (min-width: 960px){
	.sougi-kakunin__body{
		--top-width: 90%;
		--count: 2;
	}
}
/*===============================
* top
* =================================*/
.sougi-kakunin__top{
	flex-grow: 1;
	width: calc( ( var(--top-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
@media (min-width: 960px){
	.sougi-kakunin__top{
		max-width: 485px;
	} 
}
.sougi-kakunin__lead{
	margin-bottom: 1rem;
	font-weight: var(--fw-lg);
	font-size: 1.5rem;
}
.sougi-kakunin__lead span{
	background: linear-gradient(transparent 70%, rgba(255, 241, 152, 1) 70%);
}
.sougi-kakunin__texts{
	margin-bottom: var(--g-sec--xs);
}
/*===============================
* プログレスバー
* =================================*/
.progress {
	position: relative;
	width: clamp(12.5rem, 8.929rem + 9.52vw, 17.5rem);
	height: clamp(12.5rem, 8.929rem + 9.52vw, 17.5rem);
	font-weight: var(--fw-lg);
	font-family: var(--ff-m);
}
.progress__ring {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.progress__ring-background {
	fill: rgba(252, 252, 252, 1);
}
.progress__ring-track {
	stroke: var(--track-color);
	stroke-width: 14;
	fill: transparent;
}
.progress__ring-circle {
	stroke: var(--accent-color);
	stroke-width: 14;
	fill: transparent;
	stroke-linecap: round;
	transition: var(--ani-t--normal) ease-out;
}
.progress__text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
}
/* 数字 */
.progress__numbers {
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin-bottom: 1rem;
	line-height: var(--lh-xs);
	font-size: clamp(1.75rem, 1.214rem + 1.43vw, 2.5rem);
}
/* チェック数 */
.progress__current {
	font-size: 1.8em;
}
/* 設問数 */
.progress__total {
	vertical-align: top;
	margin-left: .5rem;
}
.progress__total::before {
	content: "/";
	margin-right: .5rem;
	color: var(--c-gray);
	font-size: .9em;
}

/*===============================
* bottom
* =================================*/
.sougi-kakunin__bottom{ 
	position: relative;
	flex-grow: 1;
	width: calc( ( var(--bottom-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: clamp(1.25rem, 0.357rem + 2.38vw, 2.5rem);
	background: var(--c-light);
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
	border-radius: var(--bd-r--sm);
}
@media (min-width: 960px){
	.sougi-kakunin__bottom{ 
		position: static;
	}
}
.sougi-kakunin__illust{
	position: absolute;
	bottom: 99%;
	right: calc( clamp(0rem, -5rem + 8.33vw, 2.5rem) * -1 );
	width: clamp(8.75rem, 3.929rem + 12.86vw, 15.5rem);
}
@media (min-width: 960px){
	.sougi-kakunin__illust{
		bottom: 0;
		right: calc( clamp(0rem, -5rem + 8.33vw, 2.5rem) * -1 );
	}
}
/*===============================
* チェックリスト
* =================================*/
.checklist {
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 0.357rem + 2.38vw, 2.5rem);
}
.checklist__item {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 0.214rem + 1.43vw, 1.5rem);
	cursor: pointer;
	user-select: none;
}
.checklist__input {
	display: none;
}
.checklist__checkmark {
	position: relative;
	width: clamp(1.75rem, 1.571rem + 0.48vw, 2rem);
	aspect-ratio: 1;
	border: 2px solid var(--c-gray);
	border-radius: var(--bd-r--xs);
	transition: var(--ani-t--fast) ease-out;
	flex-shrink: 0;
}
.checklist__input:checked + .checklist__checkmark::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: rotate(45deg) translate(-95%, -25%);
	width: .675rem;
	height: 1.125rem;
	border: solid var(--accent-color);
	border-width: 0 .25rem .25rem 0;
}

/*===============================================================================
地域でいちばん相談しやすい場所へ
================================================================================*/
.sougi-basyo__inner{
	position: relative;
	padding-bottom: var(--g-sec--lg);
}
.sougi-basyo__decor{
	position: absolute;
	bottom: 0;
	right: calc( 50% - 50vw + clamp(0rem, -1.607rem + 4.29vw, 2.25rem) );
	z-index: -1;
	max-width: 747px;
	width: 100vw;
}

.sougi-basyo__head{
	margin-bottom: var(--g-sec--xs);
}
.sougi-basyo__title{
	display: flex;
	flex-direction: column;
}
.sougi-basyo__body{
	padding: 1.5rem;
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.sougi-basyo__flex{
	--count: 1;
	--gap: var(--g-sec--xs);
	--media-width: 100%;
	--body-width: calc( 200% - var(--media-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 960px){
	.sougi-basyo__flex{
		--count: 2;
		--media-width: 92%;
	}
}
.sougi-basyo__content{
	container: my-container / inline-size;
	resize: horizontal;
	width: calc( ( var(--body-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.sougi-basyo__name{
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
}
.sougi-basyo__name-en{
	letter-spacing: .08em;
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
	color: var(--c-gray);
}
.sougi-basyo__name-jp{
	font-size: clamp(2rem, 1.643rem + 0.95vw, 2.5rem);
	font-family: var(--ff-m);
	font-weight: var(--fw-lg);
}
.sougi-basyo__detail{
	margin-bottom: 1rem;
}
.sougi-basyo__cards{
	--card-count: 2;
	--card-gap: .75rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--card-gap);
}
@container my-container (min-width: 600px) {
	.sougi-basyo__cards{
		--card-count: 4;
	}
}
.sougi-basyo__card{
	width: calc( ( 100% - var(--card-gap) * (var(--card-count) - 1) ) / var(--card-count) );
	padding: 1rem .25rem;
	background: rgba(238, 248, 249, 1);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.sougi-basyo__card-icon{
	display: block;
	width: 5rem;
	margin-inline: auto;
	margin-bottom: .5rem;
}
.sougi-basyo__card-title{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-weight: var(--fw-lg);
}
.sougi-basyo__card-title span{
	font-size: 14px;
}
.sougi-basyo__card-title strong{
	font-size: clamp(1.25rem, 1.071rem + 0.48vw, 1.5rem);
}
.sougi-basyo__media{
	width: calc( ( var(--media-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
	text-align: center;
}




/*===============================================================================
フッター
================================================================================*/
.sougi-footer__inner{
	position: relative;
	padding-top: var(--g-sec--lg);
}
.sougi-footer__inner::before{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	content: "";
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background: var(--c-main--dark);
}
/*===============================
* head
* =================================*/
.footer__head{
	margin-bottom: var(--g-sec--xs);
}
.footer__title{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 1.5rem;
	text-align: center;
	font-size: clamp(1.75rem, 1.214rem + 1.43vw, 2.5rem);
	font-family: var(--ff-m);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.footer__description{
	color: var(--c-light);
}
@media (min-width: 600px){
	.footer__description{
		text-align: center;
	}
}
/*===============================
* body
* =================================*/
.footer__body{
	margin-bottom: var(--g-sec--sm);
}
.footer__cta{
	--count: 1;
	--gap: 1.5rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem var(--gap);
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 600px){
	.footer__cta{
		--count: 3;
	}
}
.footer__cta .sougi-btn{
	max-width: clamp(17.5rem, 15.714rem + 4.76vw, 20rem);
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	min-width: fit-content;
}
.footer__info{
	text-align: center;
	color: var(--c-light);
}
/*===============================
* foot
* =================================*/
.footer__foot{
	position: relative;
	padding: 1.5rem 0;
	text-align: center;
	font-family: var(--ff-m);
	color: var(--c-light);
}
.footer__foot::before{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -1;
	content: "";
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	background: rgba(10, 21, 31, 1);
}
.footer__name{
	margin-bottom: .25rem;
	font-weight: var(--fw-lg);
}
.footer__copy{
	font-size: .75rem;
}
