@charset "UTF-8";

:root{
	--color-main:#523527;
	--color-accent:#c84730;
	--color-sub:#daa158;
	--color-base:#fbf3e4;
	--color-white:#ffffff;
	--font-body-jp:"Zen Kaku Gothic New","BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
	--font-marugo:"Zen Maru Gothic","Zen Maru Go","Zen Kaku Gothic New","Noto Sans JP",sans-serif;
	--bg-layer-top:url("../img/bg_sp_top.webp");
	--bg-layer-middle:url("../img/bg_sp_middle.webp");
	--bg-layer-bottom:url("../img/bg_sp_bottom.webp");
	--footer-overlap:clamp(58px, 10vh, 130px);
	--layout-outer:80vw;
	--layout-inner:75vw;
	--layout-inner-sp:70vw;
	--layout-inner-offset:calc((var(--layout-outer) - var(--layout-inner)) / 2);
	--layout-inner-offset-sp:calc((var(--layout-outer) - var(--layout-inner-sp)) / 2);
	--layout-heading-span:calc(100vw - ((100vw - var(--layout-outer)) / 2));
}

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

html,
body{
	overflow-x:hidden;
}

body{
	color:var(--color-main);
	background:var(--color-base);
	font-family:var(--font-body-jp);
	line-height:1.75;
}

img{
	display:block;
	max-width:100%;
	height:auto;
}

a{
	color:inherit;
}

h1{
	font-family:var(--font-marugo);
	font-feature-settings:"palt" 1;
}

h2,
h3,
h4,
h5,
h6{
	font-family:var(--font-body-jp);
	font-feature-settings:normal;
}

.anshin-home p,
.anshin-home li,
.anshin-home dd,
.anshin-header__lead p:not(.anshin-header__lead-title),
.anshin-footer__company p{
	text-align:justify;
	text-justify:inter-ideograph;
}

html.menu-open,
body.menu-open{
	overflow:hidden;
}

.anshin-bg-stage{
	position:relative;
	isolation:isolate;
	padding-bottom:var(--footer-overlap);
	margin-bottom:calc(var(--footer-overlap) * -1);
}

.anshin-bg-stage::before{
	content:"";
	position:absolute;
	inset:0;
	background:var(--bg-layer-middle) center top / 100% auto repeat-y;
	z-index:-3;
	pointer-events:none;
}

.anshin-bg-stage::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		var(--bg-layer-top) center top / 100% auto no-repeat,
		var(--bg-layer-bottom) center bottom / 100% auto no-repeat;
	z-index:-2;
	pointer-events:none;
}

.pc-only{
	display:none;
}

.anshin-header{
	position:relative;
	background:transparent;
	color:var(--color-main);
	overflow:hidden;
}

.anshin-header::before,
.anshin-header::after{
	content:none;
}

.anshin-header--subpage .anshin-header__inner{
	padding:clamp(16px,4vw,26px) 0;
}

.anshin-header--subpage .anshin-header__top{
	align-items:center;
}

.anshin-header__inner{
	position:relative;
	z-index:1;
	width:var(--layout-outer);
	margin-inline:auto;
	padding:clamp(20px,5vw,48px) 0 clamp(20px,5vw,44px);
}

.anshin-header__top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:16px;
	width:100%;
}

.anshin-header__logo{
	display:block;
	width:clamp(100px,26vw,152px);
	aspect-ratio:1 / 1;
	color:var(--color-main);
	text-decoration:none;
	border:none;
	background:transparent;
	padding:0;
	box-shadow:none;
}

.anshin-header__logo img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
}

.anshin-header__site-title{
	display:inline-block;
	font-family:var(--font-marugo);
	font-weight:700;
	line-height:1.1;
}

.anshin-header__pc-controls{
	display:none;
}

.anshin-header__hero{
	position:relative;
	z-index:2;
	margin-top:clamp(20px,6vw,44px);
	width:100%;
}

.anshin-header__catch{
	width:var(--layout-outer);
	max-width:var(--layout-outer);
	margin-left:calc((100vw - var(--layout-outer)) / 2);
	margin-right:0;
	font-size:clamp(1.1rem, 5vw, 1.9rem);
	line-height:1.08;
	font-weight:700;
	letter-spacing:0.03em;
	white-space:nowrap;
}

.anshin-header__brand-shell{
	width:calc(100vw - ((100vw - var(--layout-outer)) / 2));
	margin-top:clamp(18px,5vw,38px);
	margin-left:-10vw;
}

.anshin-header__brand-panel{
	width:100%;
	max-width:100%;
	padding:clamp(16px,4.5vw,30px) 0 clamp(14px,4vw,24px) 0;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	border-top-right-radius:9999px;
	border-bottom-right-radius:9999px;
	background:rgba(255,255,255,0.82);
	overflow:hidden;
}

.anshin-header__brand-content{
	width:var(--layout-outer);
	margin-left:calc((100vw - var(--layout-outer)) / 2);
	padding-right:clamp(8px,2.4vw,20px);
	display:flex;
	align-items:flex-start;
}

.anshin-header__brand-copy{
	display:inline-block;
	max-width:100%;
}

.anshin-header__brand-lead{
	display:block;
	font-size:clamp(1.35rem, 6vw, 2.15rem);
	line-height:1.1;
	font-weight:700;
	white-space:nowrap;
}

.anshin-header__brand-name{
	display:block;
	margin-top:6px;
	font-size:clamp(1.85rem, 9vw, 4.5rem);
	line-height:1.05;
	font-weight:700;
	letter-spacing:0.02em;
	white-space:nowrap;
}

.anshin-header__brand-company{
	margin-top:4px;
	width:100%;
	margin-left:0;
	padding-right:0;
	font-size:clamp(0.72rem, 2.2vw, 0.88rem);
	line-height:1.25;
	font-weight:700;
	text-align:right;
	white-space:nowrap;
}

.anshin-header__lead{
	width:var(--layout-inner);
	margin-inline:auto;
	margin-top:28px;
}

.anshin-header__lead-title{
	font-size:clamp(2rem, 3vw, 3.35rem);
	line-height:1.28;
	font-weight:700;
	margin-bottom:8px;
}

.anshin-header__lead p:not(.anshin-header__lead-title){
	font-size:clamp(1rem, 1.35vw, 1.45rem);
	line-height:1.62;
}

.anshin-header__cat{
	width:min(77vw,520px);
	margin:clamp(16px,5vw,30px) 0 -26px auto;
	position:relative;
	z-index:8;
}

.hamburger-menu{
	position:fixed;
	right:clamp(14px,4vw,24px);
	top:clamp(14px,4vw,24px);
	width:42px;
	height:42px;
	border:none;
	background:transparent;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:6px;
	cursor:pointer;
	z-index:1300;
}

.hamburger-menu span{
	display:block;
	width:32px;
	height:4px;
	margin-inline:auto;
	border-radius:99px;
	background:var(--color-main);
	transition:transform 0.25s ease, opacity 0.2s ease;
}

.hamburger-menu.open span:nth-child(1){
	transform:translateY(10px) rotate(45deg);
}

.hamburger-menu.open span:nth-child(2){
	opacity:0;
}

.hamburger-menu.open span:nth-child(3){
	transform:translateY(-10px) rotate(-45deg);
}

.menu-overlay{
	position:fixed;
	inset:0;
	background:rgba(82,53,39,0.46);
	opacity:0;
	pointer-events:none;
	transition:opacity 0.25s ease;
	z-index:1200;
}

.menu-overlay.open{
	opacity:1;
	pointer-events:auto;
}

.overlay-nav{
	position:absolute;
	right:0;
	top:0;
	width:min(82vw,360px);
	height:100%;
	overflow-y:auto;
	background:var(--color-base);
	padding:88px 22px 30px;
	transform:translateX(100%);
	transition:transform 0.3s ease;
}

.menu-overlay.open .overlay-nav{
	transform:translateX(0);
}

.overlay-nav ul{
	list-style:none;
}

.overlay-nav li + li{
	margin-top:12px;
}

.overlay-nav__chip,
.overlay-nav__head{
	display:block;
	padding:10px 14px;
	border-radius:999px;
	background:rgba(255,255,255,0.8);
	text-decoration:none;
	font-size:clamp(0.84rem, 3.4vw, 1rem);
	line-height:1.3;
	font-weight:700;
}

.overlay-nav__chip{
	display:flex;
	align-items:center;
	min-height:52px;
	padding:0 14px;
	color:var(--color-main);
}

.overlay-nav__chip--main{
	background:rgba(255,255,255,0.88);
}

.overlay-nav__chip--main:hover,
.overlay-nav__chip--main:focus-visible{
	background:var(--color-sub);
}

.overlay-nav__chip--sub{
	background:var(--color-sub);
	color:var(--color-white);
	border:1px solid rgba(255,255,255,0.68);
}

.overlay-nav__chip--sub:hover,
.overlay-nav__chip--sub:focus-visible{
	background:var(--color-accent);
}

.overlay-nav__chip--contact{
	background:var(--color-accent);
	color:var(--color-white);
}

.overlay-nav__chip--contact:hover,
.overlay-nav__chip--contact:focus-visible{
	background:#a73a28;
}

.overlay-nav__chip--line{
	background:#06c755;
	color:var(--color-white);
}

.overlay-nav__tel-link{
	display:block;
	padding:6px 2px;
	background:transparent;
	border-radius:0;
	font-size:clamp(1.28rem, 5.2vw, 1.95rem);
	line-height:1.2;
	font-weight:700;
	color:var(--color-accent);
	text-decoration:none;
}

.overlay-nav__line-official{
	display:flex;
	align-items:center;
	padding:0 14px;
	min-height:52px;
	background:transparent;
	border-radius:0;
	text-decoration:none;
}

.overlay-nav__line-official img{
	display:block;
	width:auto;
	height:44px;
	margin-left:-12px;
	max-width:none;
}

.overlay-nav__head{
	background:transparent;
	min-height:0;
	padding:0 2px 8px;
	font-size:clamp(0.8rem, 3vw, 0.92rem);
	font-weight:500;
}

.overlay-nav__separator{
	margin-top:14px !important;
	padding-top:14px;
	border-top:1px solid rgba(82,53,39,0.2);
}

.sp-sticky-cta{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:1100;
	padding:8px 0 calc(8px + env(safe-area-inset-bottom));
	background:rgba(251,243,228,0.96);
	border-top:1px solid rgba(82,53,39,0.14);
	box-shadow:0 -4px 14px rgba(82,53,39,0.12);
	transform:translateY(115%);
	opacity:0;
	pointer-events:none;
	transition:transform 0.35s ease, opacity 0.3s ease;
}

.sp-sticky-cta.is-visible{
	transform:translateY(0);
	opacity:1;
	pointer-events:auto;
}

.sp-sticky-cta__inner{
	width:min(96vw, 560px);
	margin-inline:auto;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:6px;
	align-items:center;
}

.sp-sticky-cta__item{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:56px;
	text-decoration:none;
	line-height:1;
	font-weight:700;
	white-space:nowrap;
	color:var(--color-main);
}

.sp-sticky-cta__label{
	font-size:clamp(1rem, 4.8vw, 1.55rem);
	font-weight:700;
	letter-spacing:0.01em;
}

.sp-sticky-cta__item--text{
	justify-content:flex-start;
	padding-left:clamp(4px, 2.4vw, 16px);
}

.sp-sticky-cta__icon{
	display:flex;
	width:clamp(44px, 12vw, 62px);
	height:clamp(44px, 12vw, 62px);
	flex:0 0 auto;
}

.sp-sticky-cta__item--phone{
	justify-content:center;
}

.sp-sticky-cta__item--form{
	justify-content:center;
}

body.sp-sticky-cta-visible #to-page-top{
	bottom:calc(90px + env(safe-area-inset-bottom));
}

@media (min-width: 768px){
	:root{
		--bg-layer-top:url("../img/bg_pc_top.webp");
		--bg-layer-middle:url("../img/bg_pc_middle.webp");
		--bg-layer-bottom:url("../img/bg_pc_bottom.webp");
	}

	.pc-only{
		display:block;
	}

	.anshin-header__inner{
		padding:clamp(24px,3vw,46px) 0 clamp(36px,4vw,66px);
		min-height:820px;
	}

	.anshin-header__top{
		gap:clamp(16px,1.9vw,30px);
		align-items:flex-start;
	}

	.anshin-header__logo{
		width:clamp(120px,11.2vw,180px);
	}

	.anshin-header__pc-controls{
		display:block;
		flex:1;
		min-width:0;
	}

	.anshin-header__contact-row{
		display:flex;
		align-items:flex-start;
		justify-content:flex-end;
		flex-wrap:wrap;
		gap:clamp(7px,0.75vw,13px);
		white-space:nowrap;
	}

	.anshin-header__contact-group{
		display:flex;
		flex-direction:column;
		gap:2px;
		line-height:1.1;
	}

	.anshin-header__contact-group--tel{
		align-items:flex-start;
	}

	.anshin-header__contact-group--cta{
		align-items:flex-end;
	}

	.anshin-header__cta-row{
		display:flex;
		align-items:center;
		gap:clamp(8px,0.85vw,15px);
	}

	.anshin-header__tel{
		text-decoration:none;
		color:var(--color-accent);
		font-size:clamp(1.9rem, 2.55vw, 3.7rem);
		font-weight:700;
		line-height:1;
	}

	.anshin-header__hours,
	.anshin-header__line-hours{
		font-size:clamp(0.91rem, 1.03vw, 1.44rem);
		font-weight:700;
		line-height:1.06;
	}

	.anshin-header__cta{
		display:inline-block;
		padding:clamp(0.6rem,0.78vw,1.02rem) clamp(1.32rem,1.55vw,2.1rem);
		border-radius:999px;
		color:var(--color-white);
		font-size:clamp(1.18rem, 1.34vw, 1.7rem);
		line-height:1;
		font-weight:700;
		text-decoration:none;
		transition:background-color 0.2s ease, color 0.2s ease;
	}

	.anshin-header__cta--contact{
		background:var(--color-accent);
	}

	.anshin-header__cta--contact:hover,
	.anshin-header__cta--contact:focus-visible{
		background:#a73a28;
	}

	.anshin-header__cta--line{
		background:#06c755;
	}

	.anshin-header__cta--line-official{
		padding:0;
		background:transparent;
		border-radius:0;
		line-height:0;
	}

	.anshin-header__cta--line-official img{
		display:block;
		width:auto;
		height:clamp(46px,2.45vw,64px);
		max-width:none;
	}

	.anshin-header__primary-nav{
		margin-top:10px;
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		gap:6px;
	}

	.anshin-header__chip-nav{
		display:flex;
		list-style:none;
	}

	.anshin-header__chip-nav--main{
		flex-wrap:nowrap;
		gap:clamp(4px,0.52vw,9px);
	}

	.anshin-header__chip-nav--sub{
		justify-content:flex-end;
		gap:10px;
	}

	.anshin-header__chip-nav a{
		display:inline-block;
		padding:5px 10px 6px;
		border-radius:999px;
		text-decoration:none;
		line-height:1.2;
		font-weight:700;
		white-space:nowrap;
		transition:background-color 0.2s ease, color 0.2s ease;
	}

	.anshin-header__chip-nav--main a{
		background:rgba(255,255,255,0.88);
		color:var(--color-main);
		font-size:clamp(0.86rem, 0.86vw, 1.14rem);
	}

	.anshin-header__chip-nav--main a:hover,
	.anshin-header__chip-nav--main a:focus-visible{
		background:var(--color-sub);
	}

	.anshin-header__chip-nav--sub a{
		background:var(--color-sub);
		color:var(--color-white);
		border:1px solid rgba(255,255,255,0.68);
		font-size:clamp(0.86rem, 0.84vw, 1.08rem);
	}

	.anshin-header__chip-nav--sub a:hover,
	.anshin-header__chip-nav--sub a:focus-visible{
		background:var(--color-accent);
	}

	.anshin-header__hero{
		width:var(--layout-outer);
		margin-inline:auto;
		margin-top:clamp(20px,2.6vw,42px);
		min-height:clamp(400px,31vw,600px);
		padding-right:clamp(230px,27vw,470px);
	}

	.anshin-header__catch{
		width:var(--layout-outer);
		max-width:var(--layout-outer);
		margin-left:0;
		margin-right:0;
		font-size:clamp(1.95rem, 3.6vw, 3.5rem);
		line-height:1.08;
	}

	.anshin-header__brand-shell{
		width:calc(100vw - ((100vw - var(--layout-outer)) / 2));
		margin-top:clamp(18px,2.8vw,34px);
		margin-left:-10vw;
		max-width:none;
	}

	.anshin-header__brand-panel{
		width:100%;
		padding:clamp(22px,2.3vw,34px) 0 clamp(18px,2vw,30px) 0;
		border-top-left-radius:0;
		border-bottom-left-radius:0;
		border-top-right-radius:9999px;
		border-bottom-right-radius:9999px;
	}

	.anshin-header__brand-content{
		width:var(--layout-outer);
		margin-left:calc((100vw - var(--layout-outer)) / 2);
		padding-right:clamp(16px,1.8vw,26px);
		display:flex;
		align-items:flex-start;
	}

	.anshin-header__brand-lead{
		font-size:clamp(2.4rem, 2.95vw, 3.6rem);
	}

	.anshin-header__brand-name{
		margin-top:4px;
		font-size:clamp(4.5rem, 5.3vw, 6.2rem);
		line-height:1.02;
	}

	.anshin-header__brand-company{
		margin-top:6px;
		width:100%;
		margin-left:0;
		padding-right:0;
		font-size:clamp(1rem, 1vw, 1.2rem);
	}

	.anshin-header__lead{
		margin-top:clamp(18px,2vw,34px);
		width:min(50vw,700px);
		margin-left:0;
		padding-left:0;
		padding-right:0;
	}

	.anshin-header__lead-title{
		font-size:clamp(1.4rem, 1.85vw, 2.2rem);
	}

	.anshin-header__lead p:not(.anshin-header__lead-title){
		font-size:clamp(0.9rem, 0.92vw, 1.15rem);
		max-width:60ch;
	}

	.anshin-header__cat{
		position:absolute;
		right:max(-2vw, -24px);
		bottom:0;
		width:clamp(260px, 29vw, 520px);
		margin:0;
		z-index:8;
	}

	.anshin-header--subpage .anshin-header__inner{
		padding:clamp(20px,2.2vw,34px) 0;
		min-height:auto;
	}

	.anshin-header--subpage .anshin-header__top{
		align-items:flex-start;
	}

	.hamburger-menu,
	.menu-overlay,
	.sp-sticky-cta{
		display:none;
	}
}

@media (min-width: 768px) and (max-width: 1024px){
	.anshin-header__inner{
		width:90vw;
	}

	.anshin-header__hero{
		width:80vw;
	}

	.anshin-header__catch{
		font-size:clamp(1.8rem, 4.2vw, 2.6rem);
	}

	.anshin-header__brand-lead{
		font-size:clamp(2.4rem, 3.1vw, 3rem);
	}

	.anshin-header__brand-name{
		font-size:clamp(4.5rem, 5.9vw, 5.6rem);
	}

	.anshin-header__brand-company{
		font-size:clamp(1rem, 1.35vw, 1.08rem);
	}
}

.anshin-home{
	background:transparent;
}

.anshin-home h2{
	font-family:var(--font-body-jp);
	font-weight:700;
}

.anshin-footer{
	position:relative;
	z-index:3;
	background-image:url("../img/footerBack.png");
	background-position:center top;
	background-size:clamp(960px, 100vw, 1920px) auto;
	background-repeat:no-repeat;
	color:var(--color-main);
	padding:clamp(34px,9vw,72px) 0 clamp(44px,10vw,76px);
}

.anshin-footer__inner{
	width:var(--layout-outer);
	margin-inline:auto;
}

.anshin-footer__nav ul{
	width:var(--layout-inner-sp);
	margin-inline:auto;
	list-style:none;
	display:grid;
	gap:clamp(8px,2.8vw,14px);
}

.anshin-footer__nav a{
	display:inline-block;
	text-decoration:none;
	font-size:clamp(0.95rem,3.6vw,1.1rem);
	line-height:1.25;
	font-weight:600;
	transition:color 0.2s ease;
}

.anshin-footer__nav a:hover,
.anshin-footer__nav a:focus-visible{
	color:var(--color-accent);
}

.anshin-footer__contact-row{
	width:var(--layout-inner-sp);
	margin:clamp(18px,5vw,28px) auto 0;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 16px;
}

.anshin-footer__contact-btn{
	display:inline-block;
	padding:7px 16px 8px;
	border-radius:999px;
	background:var(--color-accent);
	color:var(--color-white);
	font-size:clamp(0.95rem,3.5vw,1.12rem);
	line-height:1;
	font-weight:700;
	text-decoration:none;
	transition:background-color 0.2s ease;
}

.anshin-footer__contact-btn:hover,
.anshin-footer__contact-btn:focus-visible{
	background:#a73a28;
}

.anshin-footer__contact-tel{
	display:inline-block;
	color:var(--color-accent);
	font-size:clamp(1.05rem,4.7vw,1.45rem);
	line-height:1.1;
	font-weight:700;
	text-decoration:none;
}

.anshin-footer__company{
	width:var(--layout-inner-sp);
	margin:clamp(34px,9vw,64px) auto 0;
	font-style:normal;
}

.anshin-footer__company p{
	font-size:clamp(0.875rem,3.6vw,1rem);
	line-height:1.35;
	font-weight:500;
}

.anshin-footer__company p:nth-child(2){
	font-size:clamp(0.95rem,3.8vw,1.1rem);
	font-weight:600;
}

.anshin-footer__copy{
	margin-top:clamp(40px,10vw,76px);
	text-align:center;
	font-size:clamp(12px,3vw,14px);
	line-height:1.2;
	font-weight:400;
	color:rgba(82,53,39,0.76);
}

.anshin-home .page-wrap{
	width:var(--layout-outer);
	margin-inline:auto;
	padding-inline:0;
}

/* ---------------------------------------------------------------------------

　　下層ページ共通

--------------------------------------------------------------------------- */
.anshin-subpage{
	padding:42px 0 96px;
}

.anshin-subpage .subpage-title{
	display:block;
	width:var(--layout-heading-span);
	padding:18px 15px 19px calc(15px + var(--layout-inner-offset-sp));
	margin-bottom:24px;
	border-radius:44px 0 0 44px;
	background:rgba(255,255,255,0.8);
	font-family:var(--font-body-jp);
	font-size:clamp(1.18rem, 4.8vw, 1.62rem);
	line-height:1.25;
	font-weight:700;
}

.anshin-subpage .subpage-content{
	width:var(--layout-inner-sp);
	margin-inline:auto;
	min-height:160px;
}

/* ---------------------------------------------------------------------------

　　サービス内容ページ

--------------------------------------------------------------------------- */
.anshin-service-page .subpage-content{
	min-height:0;
}

.anshin-service-page .service-notice-section:not(.service-notice-section--bottom) .subpage-content{
	min-height:0;
}

.anshin-service-page .service-notice-section + .subpage-content-section{
	margin-top:28px;
}

.anshin-service-page .service-notice-section--bottom{
	margin-top:28px;
}

.anshin-service-page .service-notice-card,
.anshin-greeting-page .service-notice-card{
	padding:clamp(18px,4.8vw,26px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
	font-size:clamp(1.14rem,4.2vw,1.46rem);
	line-height:1.6;
	font-weight:700;
	text-align:center;
}

.anshin-greeting-page .service-notice-card{
	margin-top:28px;
}

.service-notice-card--emphasis{
	display:block;
}

.service-notice-card__icon{
	display:inline-block;
	color:var(--color-main);
	font-size:clamp(1.44rem,5.33vw,1.94rem);
	line-height:1;
	vertical-align:middle;
}

.service-notice-card__icon--left{
	transform:rotate(-16deg) scaleY(-1);
	margin-right:0.5em;
}

.service-notice-card__icon--right{
	transform:rotate(16deg) scaleX(-1) scaleY(-1);
	margin-left:0.03em;
}

.service-notice-card__text{
	display:inline;
}

.anshin-service-page .service-groups{
	display:grid;
	grid-template-columns:1fr;
	gap:28px;
}

.anshin-service-page .service-group{
	padding:clamp(18px,4.8vw,26px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
}

.anshin-service-page .service-group__title{
	font-size:clamp(1.18rem,4.1vw,1.55rem);
	line-height:1.45;
	font-weight:700;
}

.anshin-service-page .service-group__photos{
	margin-top:16px;
	list-style:none;
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}

.anshin-service-page .service-group__photos img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:10px;
}

.anshin-service-page .service-group__items{
	margin-top:16px;
	display:grid;
	gap:9px;
}

.anshin-service-page .service-group__item{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:start;
	column-gap:14px;
	padding-bottom:10px;
	border-bottom:1px solid rgba(82,53,39,0.22);
}

.anshin-service-page .service-group__item:last-child{
	padding-bottom:0;
	border-bottom:none;
}

.anshin-service-page .service-group__item dt{
	font-size:clamp(0.96rem,3.8vw,1.08rem);
	line-height:1.7;
	font-weight:500;
}

.anshin-service-page .service-group__item dd{
	font-size:clamp(0.96rem,3.8vw,1.08rem);
	line-height:1.6;
	font-weight:700;
	white-space:nowrap;
	text-align:right;
}

@media (min-width: 480px) and (max-width: 767.98px){
	.anshin-service-page .service-group__photos{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

/* ---------------------------------------------------------------------------

　　代表あいさつページ

--------------------------------------------------------------------------- */
.anshin-greeting-page .subpage-content{
	min-height:0;
}

.anshin-greeting-page .subpage-content-section + .subpage-title-section{
	margin-top:60px;
}

.anshin-greeting-page .subpage-content-section + .subpage-title-section .subpage-title{
	font-size:clamp(1.34rem,5.45vw,1.9rem);
}

.anshin-greeting-page .greeting-intro{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.anshin-greeting-page .greeting-intro__image img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:14px;
}

.anshin-greeting-page .greeting-intro__text p{
	font-size:clamp(0.95rem,3.65vw,1.06rem);
	line-height:1.9;
}

.anshin-greeting-page .greeting-intro__signature{
	margin-top:10px;
	font-weight:700;
}

.anshin-greeting-page .promise-body{
	display:flex;
	flex-direction:column;
	gap:24px;
	padding:clamp(24px,7.5vw,44px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
}

.anshin-greeting-page .promise-body__image{
	order:2;
	margin-top:auto;
}

.anshin-greeting-page .promise-body__image img{
	width:min(72vw,300px);
	margin-inline:auto;
}

.anshin-greeting-page .promise-list{
	counter-reset:promise;
	order:1;
	list-style:none;
	display:grid;
	gap:10px;
}

.anshin-greeting-page .promise-list li{
	display:grid;
	grid-template-columns:auto 1fr;
	column-gap:0.5em;
	align-items:start;
	font-size:clamp(1.08rem,4.2vw,1.32rem);
	line-height:1.8;
	font-weight:700;
}

.anshin-greeting-page .promise-list li::before{
	counter-increment:promise;
	content:counter(promise) ".";
	font-weight:700;
}

/* ---------------------------------------------------------------------------

　　ご利用の流れページ

--------------------------------------------------------------------------- */
.anshin-flow-page .subpage-content{
	min-height:0;
}

.anshin-flow-page .flow-page-list{
	list-style:none;
	display:grid;
	gap:44px;
}

.anshin-flow-page .flow-page-item{
	position:relative;
	display:grid;
	gap:14px;
	justify-items:center;
	padding:clamp(20px,7vw,36px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
}

.anshin-flow-page .flow-page-item:not(:last-child)::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-30px;
	transform:translateX(-50%);
	width:0;
	height:0;
	border-left:20px solid transparent;
	border-right:20px solid transparent;
	border-top:24px solid rgba(255,255,255,0.8);
}

.anshin-flow-page .flow-page-image{
	width:min(72vw,260px);
	height:min(72vw,260px);
	border-radius:50%;
	object-fit:cover;
	flex-shrink:0;
}

.anshin-flow-page .flow-page-text{
	--flow-num-indent:1.25em;
	width:100%;
}

.anshin-flow-page .flow-page-text h3{
	font-size:clamp(1.06rem,4vw,1.26rem);
	line-height:1.4;
	font-weight:700;
	padding-left:var(--flow-num-indent);
	text-indent:calc(var(--flow-num-indent) * -1);
}

.anshin-flow-page .flow-page-text p{
	margin-top:6px;
	font-size:clamp(0.95rem,3.6vw,1.08rem);
	line-height:1.8;
	padding-left:var(--flow-num-indent);
}

/* ---------------------------------------------------------------------------

　　会社概要ページ

--------------------------------------------------------------------------- */
.anshin-company-page .subpage-content{
	min-height:0;
}

.anshin-company-page .company-profile{
	display:grid;
	gap:0;
	padding:clamp(22px,7.2vw,36px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
}

.anshin-company-page .company-profile__row{
	padding:14px 0;
	border-bottom:1px solid rgba(82,53,39,0.2);
}

.anshin-company-page .company-profile__row:last-child{
	border-bottom:none;
	padding-bottom:0;
}

.anshin-company-page .company-profile dt{
	font-size:clamp(1rem,3.8vw,1.16rem);
	line-height:1.5;
	font-weight:700;
}

.anshin-company-page .company-profile dd{
	margin-top:6px;
	font-size:clamp(0.95rem,3.6vw,1.08rem);
	line-height:1.8;
}

.anshin-company-page .company-profile__list{
	list-style:none;
	display:grid;
	gap:2px;
}

.anshin-company-page .company-profile__row--officers .company-role,
.anshin-company-page .company-profile__row--officers .company-name{
	display:block;
}

.anshin-company-page .company-profile__row--officers .company-name{
	margin-top:2px;
	text-align:right;
}

.anshin-company-page .company-profile a{
	color:inherit;
	text-decoration:underline;
	text-underline-offset:2px;
}

/* ---------------------------------------------------------------------------

　　よくあるご質問ページ

--------------------------------------------------------------------------- */
.anshin-faq-page .subpage-content{
	min-height:0;
	padding:clamp(22px,7.2vw,36px);
	border-radius:16px;
	background:rgba(255,255,255,0.8);
}

.anshin-faq-page .faq-list{
	width:100%;
	--faq-side-pad:clamp(10px,3.2vw,34px);
	padding-inline:var(--faq-side-pad);
}

.anshin-faq-page .faq-list dt:first-of-type{
	margin-top:0;
}

.anshin-faq-page .faq-list dt{
	--qa-indent:1.05em;
	margin-top:24px;
	font-size:clamp(0.98rem,3.9vw,1.18rem);
	line-height:1.6;
	font-weight:700;
	padding-left:var(--qa-indent);
	padding-right:0;
	text-indent:calc(var(--qa-indent) * -1);
	overflow-wrap:anywhere;
}

.anshin-faq-page .faq-list dd{
	--qa-indent:1.05em;
	margin-top:4px;
	font-size:clamp(0.95rem,3.6vw,1.08rem);
	line-height:1.8;
	padding-left:var(--qa-indent);
	padding-right:0;
	text-indent:calc(var(--qa-indent) * -1);
	overflow-wrap:anywhere;
}

/* ---------------------------------------------------------------------------

　　お客様の声ページ

--------------------------------------------------------------------------- */
.anshin-voice-page .subpage-content{
	min-height:0;
}

.anshin-voice-page .voice-list{
	list-style:none;
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
}

.anshin-voice-page .voice-card{
	height:100%;
	padding:clamp(18px,6vw,28px);
	border-radius:12px;
	background:rgba(255,255,255,0.8);
}

.anshin-voice-page .voice-card__head{
	display:flex;
	align-items:center;
	gap:12px;
}

.anshin-voice-page .voice-card__icon{
	width:clamp(72px,20vw,94px);
	height:clamp(72px,20vw,94px);
	border-radius:50%;
	object-fit:cover;
	flex-shrink:0;
}

.anshin-voice-page .voice-card__title-wrap h3{
	font-size:clamp(1.08rem,4.2vw,1.32rem);
	line-height:1.35;
	font-weight:700;
}

.anshin-voice-page .voice-card__title-wrap p{
	margin-top:2px;
	font-size:clamp(0.95rem,3.8vw,1.12rem);
	line-height:1.35;
	font-weight:700;
}

.anshin-voice-page .voice-card__body{
	margin-top:14px;
	font-size:clamp(0.92rem,3.3vw,1.02rem);
	line-height:1.8;
	font-weight:500;
}

/* ---------------------------------------------------------------------------

　　お知らせページ

--------------------------------------------------------------------------- */
.anshin-news-page .subpage-content{
	min-height:0;
}

.anshin-news-page .subpage-content-section{
	padding-top:12px;
	padding-bottom:150px;
}

.anshin-news-page .news-page-panel{
	padding:clamp(20px,6.5vw,34px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-news-page .news-page-list{
	list-style:none;
}

.anshin-news-page .news-page-list li + li{
	margin-top:14px;
}

.anshin-news-page .news-page-link{
	display:block;
	padding-bottom:10px;
	border-bottom:1px solid rgba(82,53,39,0.24);
	text-decoration:none;
}

.anshin-news-page .news-page-link time{
	display:block;
	font-size:clamp(0.875rem,3.2vw,1rem);
	line-height:1.45;
	font-weight:500;
}

.anshin-news-page .news-page-link span{
	display:block;
	margin-top:2px;
	font-size:clamp(0.95rem,3.7vw,1.14rem);
	line-height:1.6;
	font-weight:500;
}

.anshin-news-page .news-page-note{
	margin-top:14px;
	font-size:clamp(0.875rem,3vw,0.95rem);
	line-height:1.6;
}

/* ---------------------------------------------------------------------------

　　お知らせ詳細ページ

--------------------------------------------------------------------------- */
.anshin-news-detail-page .subpage-content{
	min-height:0;
}

.anshin-news-detail-page .subpage-content-section{
	padding-top:12px;
	padding-bottom:150px;
}

.anshin-news-detail-page .news-detail-card{
	padding:clamp(20px,6.5vw,34px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-news-detail-page .news-detail-card__meta time{
	font-size:clamp(0.875rem,3vw,0.95rem);
	line-height:1.5;
	font-weight:500;
}

.anshin-news-detail-page .news-detail-card h3{
	margin-top:8px;
	font-size:clamp(1.08rem,4.2vw,1.34rem);
	line-height:1.55;
	font-weight:700;
}

.anshin-news-detail-page .news-detail-card__body{
	margin-top:12px;
	display:grid;
	gap:8px;
}

.anshin-news-detail-page .news-detail-card__body p{
	font-size:clamp(0.875rem,3.3vw,1rem);
	line-height:1.85;
}

.anshin-news-detail-page .news-detail-card__back-wrap{
	margin-top:20px;
	text-align:right;
}

.anshin-news-detail-page .news-detail-card__back-link{
	display:inline-block;
	padding:7px 15px;
	border:2px solid var(--color-sub);
	border-radius:999px;
	background:var(--color-white);
	color:var(--color-main);
	font-size:clamp(0.875rem,2.8vw,0.95rem);
	line-height:1;
	text-decoration:none;
}

.anshin-news-detail-page .news-detail-card__back-link:hover,
.anshin-news-detail-page .news-detail-card__back-link:focus-visible{
	background:var(--color-sub);
	color:var(--color-main);
}

/* ---------------------------------------------------------------------------

　　スタッフブログページ

--------------------------------------------------------------------------- */
.anshin-blog-page .subpage-content{
	min-height:0;
}

.anshin-blog-page .blog-page-list{
	list-style:none;
	display:grid;
	grid-template-columns:1fr;
	gap:22px;
}

.anshin-blog-page .blog-page-card{
	display:flex;
	flex-direction:column;
	height:100%;
	padding:clamp(18px,6vw,28px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-blog-page .blog-page-card__image{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:10px;
}

.anshin-blog-page .blog-page-card__meta{
	margin-top:12px;
	display:flex;
	flex-wrap:wrap;
	gap:4px 12px;
}

.anshin-blog-page .blog-page-card__meta time,
.anshin-blog-page .blog-page-card__meta p{
	font-size:clamp(0.875rem,3vw,0.95rem);
	line-height:1.5;
	font-weight:500;
}

.anshin-blog-page .blog-page-card h3{
	margin-top:8px;
	font-size:clamp(1.08rem,4.2vw,1.34rem);
	line-height:1.5;
	font-weight:700;
}

.anshin-blog-page .blog-page-card h3 a{
	text-decoration:none;
}

.anshin-blog-page .blog-page-card__excerpt{
	margin-top:8px;
	font-size:clamp(0.875rem,3.3vw,0.98rem);
	line-height:1.8;
}

.anshin-blog-page .blog-page-card__link-wrap{
	margin-top:18px;
	text-align:right;
}

.anshin-blog-page .blog-page-card__link{
	display:inline-block;
	padding:7px 15px;
	border:2px solid var(--color-sub);
	border-radius:999px;
	background:var(--color-white);
	color:var(--color-main);
	font-size:clamp(0.875rem,2.8vw,0.95rem);
	line-height:1;
	text-decoration:none;
}

.anshin-blog-page .blog-page-card__link:hover,
.anshin-blog-page .blog-page-card__link:focus-visible{
	background:var(--color-sub);
	color:var(--color-main);
}

.anshin-blog-page .blog-page-note,
.anshin-blog-article-page .blog-page-note{
	margin-top:14px;
	font-size:clamp(0.875rem,3vw,0.95rem);
	line-height:1.6;
}

/* ---------------------------------------------------------------------------

　　ブログ記事ページ

--------------------------------------------------------------------------- */
.anshin-blog-article-page .subpage-content{
	min-height:0;
}

.anshin-blog-article-page .blog-article-card{
	padding:clamp(20px,6.5vw,34px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-blog-article-page .blog-article-card__meta{
	display:flex;
	flex-wrap:wrap;
	gap:4px 12px;
}

.anshin-blog-article-page .blog-article-card__meta time,
.anshin-blog-article-page .blog-article-card__meta span{
	font-size:clamp(0.875rem,3vw,0.95rem);
	line-height:1.5;
	font-weight:500;
}

.anshin-blog-article-page .blog-article-card h3{
	margin-top:10px;
	font-size:clamp(1.18rem,4.5vw,1.5rem);
	line-height:1.5;
	font-weight:700;
}

.anshin-blog-article-page .blog-article-card__image{
	margin-top:14px;
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:10px;
}

.anshin-blog-article-page .blog-article-card__body{
	margin-top:14px;
	display:grid;
	gap:10px;
}

.anshin-blog-article-page .blog-article-card__body p{
	font-size:clamp(0.875rem,3.3vw,1rem);
	line-height:1.85;
}

.anshin-blog-article-page .blog-article-card__back-wrap{
	margin-top:28px;
	text-align:right;
}

.anshin-blog-article-page .blog-article-card__back-link{
	display:inline-block;
	padding:7px 15px;
	border:2px solid var(--color-sub);
	border-radius:999px;
	background:var(--color-white);
	color:var(--color-main);
	font-size:clamp(0.875rem,2.8vw,0.95rem);
	line-height:1;
	text-decoration:none;
}

.anshin-blog-article-page .blog-article-card__back-link:hover,
.anshin-blog-article-page .blog-article-card__back-link:focus-visible{
	background:var(--color-sub);
	color:var(--color-main);
}

.anshin-blog-article-page .blog-author-card{
	margin-top:24px;
	padding:clamp(18px,5.8vw,30px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-blog-article-page .blog-author-card__image-wrap{
	width:min(46vw, 170px);
	aspect-ratio:1 / 1;
	border-radius:10px;
	overflow:hidden;
}

.anshin-blog-article-page .blog-author-card__image{
	width:100%;
	height:100%;
	object-fit:cover;
}

.anshin-blog-article-page .blog-author-card__content{
	margin-top:14px;
	display:grid;
	gap:8px;
}

.anshin-blog-article-page .blog-author-card__label{
	font-size:clamp(0.8rem,2.7vw,0.9rem);
	line-height:1.4;
	font-weight:500;
}

.anshin-blog-article-page .blog-author-card__name{
	font-size:clamp(1rem,3.8vw,1.2rem);
	line-height:1.4;
	font-weight:700;
}

.anshin-blog-article-page .blog-author-card__profile{
	font-size:clamp(0.875rem,3.1vw,0.98rem);
	line-height:1.8;
}

.anshin-blog-article-page .blog-author-card__profile a{
	color:var(--color-main);
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:2px;
}

/* ---------------------------------------------------------------------------

　　お問合せページ

--------------------------------------------------------------------------- */
.anshin-inquiry-page .subpage-content{
	min-height:0;
}

.anshin-inquiry-page .inquiry-lead{
	margin-bottom:16px;
}

.anshin-inquiry-page .inquiry-lead p{
	font-size:clamp(0.95rem,3.5vw,1.05rem);
	line-height:1.8;
}

.anshin-inquiry-page .inquiry-lead p + p{
	margin-top:4px;
}

.anshin-inquiry-page .inquiry-form,
.anshin-inquiry-page .inquiry-card{
	padding:clamp(20px,6.5vw,32px);
	border-radius:14px;
	background:rgba(255,255,255,0.8);
}

.anshin-inquiry-page .inquiry-form{
	display:grid;
	gap:14px;
}

.anshin-inquiry-page .inquiry-field{
	display:grid;
	gap:6px;
}

.anshin-inquiry-page .inquiry-field label{
	font-size:clamp(0.98rem,3.8vw,1.1rem);
	line-height:1.5;
	font-weight:700;
}

.anshin-inquiry-page .required-mark{
	color:var(--color-accent);
}

.anshin-inquiry-page .inquiry-field-note{
	display:block;
	margin-top:2px;
	font-size:clamp(0.86rem,3.1vw,0.98rem);
	line-height:1.55;
	font-weight:500;
	color:var(--color-main);
}

.anshin-inquiry-page input[type="text"],
.anshin-inquiry-page input[type="tel"],
.anshin-inquiry-page input[type="email"],
.anshin-inquiry-page select,
.anshin-inquiry-page textarea{
	width:100%;
	padding:10px 12px;
	border:1px solid rgba(82,53,39,0.28);
	border-radius:8px;
	background:var(--color-white);
	color:var(--color-main);
	font-family:var(--font-body-jp);
	font-size:clamp(0.95rem,3.5vw,1.05rem);
	line-height:1.7;
}

.anshin-inquiry-page select{
	padding-right:2.5em;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--color-main) 50%),
		linear-gradient(135deg, var(--color-main) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) calc(50% - 2px),
		calc(100% - 12px) calc(50% - 2px);
	background-size:6px 6px, 6px 6px;
	background-repeat:no-repeat;
	cursor:pointer;
}

.anshin-inquiry-page textarea{
	resize:vertical;
	min-height:120px;
}

.anshin-inquiry-page .inquiry-actions{
	margin-top:14px;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:flex-end;
}

.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit,
.anshin-inquiry-page .inquiry-submit{
	display:inline-block;
	padding:7px 18px 8px;
	border-radius:999px;
	cursor:pointer;
	border:2px solid var(--color-accent);
	background:var(--color-accent);
	color:var(--color-white);
	text-decoration:none;
	font-size:clamp(0.9rem,3.2vw,1rem);
	line-height:1.2;
	min-width:128px;
	text-align:center;
	transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit:hover,
.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit:focus-visible{
	background:#a73a28;
	border-color:#a73a28;
	color:var(--color-white);
}

.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit--back,
.anshin-inquiry-page .inquiry-submit--back{
	background:rgba(255,255,255,0.8);
	border-color:var(--color-sub);
	color:var(--color-main);
}

.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit--back:hover,
.anshin-home.anshin-inquiry-page .detail-link.inquiry-submit--back:focus-visible{
	background:var(--color-sub);
	border-color:var(--color-sub);
	color:var(--color-main);
}

.anshin-inquiry-page .inquiry-confirm-lead{
	font-size:clamp(0.98rem,3.6vw,1.1rem);
	line-height:1.7;
}

.anshin-inquiry-page .inquiry-confirm-list{
	margin-top:14px;
	display:grid;
	gap:8px;
}

.anshin-inquiry-page .inquiry-confirm-list > div{
	padding-bottom:8px;
	border-bottom:1px solid rgba(82,53,39,0.18);
}

.anshin-inquiry-page .inquiry-confirm-list dt{
	font-size:clamp(0.95rem,3.6vw,1.05rem);
	font-weight:700;
	line-height:1.6;
}

.anshin-inquiry-page .inquiry-confirm-list dd{
	margin-top:2px;
	font-size:clamp(0.95rem,3.5vw,1.02rem);
	line-height:1.8;
}

.anshin-inquiry-page .inquiry-error-title{
	font-size:clamp(1rem,3.8vw,1.14rem);
	font-weight:700;
	line-height:1.6;
}

.anshin-inquiry-page .inquiry-error-list{
	margin-top:10px;
	padding-left:1.2em;
}

.anshin-inquiry-page .inquiry-error-list li{
	font-size:clamp(0.95rem,3.5vw,1.02rem);
	line-height:1.8;
}

.anshin-inquiry-page .inquiry-done-message{
	font-size:clamp(1.02rem,3.9vw,1.2rem);
	font-weight:700;
	line-height:1.7;
}

.anshin-inquiry-page .inquiry-system-note{
	margin-top:10px;
	font-size:clamp(0.92rem,3.3vw,1rem);
	line-height:1.7;
	color:var(--color-accent);
}

/* ---------------------------------------------------------------------------

　　トップページ

--------------------------------------------------------------------------- */
.anshin-home .layout-switch--pc{
	display:none;
}

.anshin-home .layout-switch--sp{
	display:block;
}

.anshin-home .sp-bg--top{
	padding:0 0 26px;
}

.anshin-home .sp-bg--middle{
	padding:6px 0 24px;
}

.anshin-home .sp-bg--bottom{
	padding:6px 0 36px;
}

.anshin-home .sp-section-title{
	display:block;
	width:90vw;
	padding:18px 15px 19px calc(15px + var(--layout-inner-offset-sp));
	margin-bottom:24px;
	border-radius:44px 0 0 44px;
	background:rgba(255,255,255,0.8);
	font-size:clamp(1.18rem, 4.8vw, 1.62rem);
	line-height:1.25;
	font-weight:700;
}

.anshin-home .sp-service-section,
.anshin-home .sp-approach-section,
.anshin-home .sp-flow-section,
.anshin-home .sp-area-section,
.anshin-home .sp-greeting-section,
.anshin-home .sp-faq-section,
.anshin-home .sp-company-section,
.anshin-home .sp-news-section{
	padding-top:60px;
}

.anshin-home .sp-service-list{
	margin-top:14px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	list-style:none;
}

.anshin-home .sp-service-item{
	margin-top:18px;
	padding:10px 10px 12px;
	border-radius:8px;
	background:rgba(255,255,255,0.8);
	text-align:center;
}

.anshin-home .sp-service-item img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:8px;
	margin-inline:auto;
	box-shadow:0 2px 8px rgba(0,0,0,0.14);
}

.anshin-home .sp-service-item--no-photo img{
	display:none;
}

.anshin-home .sp-service-item h3{
	margin-top:9px;
	font-size:clamp(1.31rem, 4.95vw, 1.49rem);
	line-height:1.35;
	font-weight:700;
}

.anshin-home .sp-service-item ul{
	list-style:disc;
	text-align:left;
	padding-left:1.2em;
	width:100%;
	margin:6px auto 0;
}

.anshin-home .sp-service-item li{
	font-size:clamp(0.875rem, 2.9vw, 0.95rem);
	line-height:1.5;
}

.anshin-home .sp-service-item p{
	margin-top:6px;
	font-size:clamp(1.31rem, 4.5vw, 1.43rem);
	font-weight:700;
	line-height:1.35;
}

.anshin-home .sp-service-item .sp-service-price{
	margin-top:6px;
	text-align:center;
}

.anshin-home .sp-text-list{
	margin-top:12px;
	padding-left:1.15em;
	list-style:disc;
}

.anshin-home .sp-text-list li{
	margin-top:5px;
	font-size:clamp(0.875rem, 3.1vw, 0.95rem);
	line-height:1.58;
}

.anshin-home .sp-message-text{
	margin-top:12px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 3.1vw, 0.95rem);
	line-height:1.72;
}

.anshin-home .sp-lead-text{
	margin-top:12px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 3vw, 0.95rem);
	line-height:1.6;
}

.anshin-home .sp-flow-list{
	margin-top:8px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	list-style:none;
}

.anshin-home .sp-flow-item{
	display:block;
	margin-top:20px;
}

.anshin-home .sp-flow-item img{
	width:clamp(82px, 30vw, 108px);
	height:clamp(82px, 30vw, 108px);
	border-radius:50%;
	object-fit:cover;
	margin-inline:auto;
	margin-bottom:8px;
}

.anshin-home .sp-flow-section .sp-flow-item img{
	width:min(240px, 64vw);
	height:min(240px, 64vw);
}

.anshin-home .sp-flow-item h3{
	font-size:clamp(0.875rem, 3.1vw, 0.98rem);
	line-height:1.35;
	font-weight:700;
}

.anshin-home .sp-flow-item p{
	margin-top:4px;
	font-size:clamp(0.875rem, 2.9vw, 0.95rem);
	line-height:1.55;
}

.anshin-home .sp-note-text{
	margin-top:10px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 2.9vw, 0.95rem);
	line-height:1.6;
}

.anshin-home .sp-area-text{
	margin-top:10px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 3.2vw, 0.98rem);
	line-height:1.7;
}

.anshin-home .sp-greeting-image{
	width:var(--layout-inner-sp);
	aspect-ratio:4 / 3;
	object-fit:cover;
	object-position:center 34%;
	border-radius:8px;
	margin:12px auto 0;
}

.anshin-home .sp-greeting-section h3{
	margin-top:8px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 3.2vw, 1rem);
	font-weight:700;
}

.anshin-home .sp-greeting-section p{
	margin-top:8px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 2.95vw, 0.95rem);
	line-height:1.7;
}

.anshin-home .sp-faq-list{
	margin-top:10px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
}

.anshin-home .sp-faq-list dt{
	--qa-indent:1.05em;
	margin-top:20px;
	font-size:clamp(0.875rem, 3.05vw, 0.98rem);
	font-weight:700;
	line-height:1.4;
	padding-left:var(--qa-indent);
	text-indent:calc(var(--qa-indent) * -1);
}

.anshin-home .sp-faq-list dd{
	--qa-indent:1.05em;
	margin-top:2px;
	font-size:clamp(0.875rem, 2.9vw, 0.95rem);
	line-height:1.6;
	padding-left:var(--qa-indent);
	text-indent:calc(var(--qa-indent) * -1);
}

.anshin-home .sp-company-list{
	margin-top:10px;
	list-style:none;
}

.anshin-home .sp-company-list li{
	margin-top:4px;
	font-size:clamp(0.875rem, 2.95vw, 0.95rem);
	line-height:1.58;
}

.anshin-home .sp-company-text{
	margin-top:10px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	font-size:clamp(0.875rem, 2.95vw, 0.95rem);
	line-height:1.66;
}

.anshin-home .sp-news-list{
	margin-top:10px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	list-style:none;
}

.anshin-home .sp-news-list li + li{
	margin-top:14px;
}

.anshin-home .sp-news-list a{
	display:block;
	padding-bottom:10px;
	border-bottom:1px solid rgba(82,53,39,0.24);
	text-decoration:none;
}

.anshin-home .sp-news-list time{
	display:block;
	font-size:clamp(0.875rem, 2.95vw, 0.95rem);
	line-height:1.45;
	font-weight:500;
}

.anshin-home .sp-news-list span{
	display:block;
	margin-top:2px;
	font-size:clamp(0.95rem, 3.5vw, 1.08rem);
	line-height:1.6;
	font-weight:500;
}

.anshin-home .sp-link-wrap{
	margin-top:40px;
	width:var(--layout-inner-sp);
	margin-inline:auto;
	text-align:right;
}

.anshin-home .sp-detail-link{
	display:inline-block;
	padding:6px 14px;
	border:2px solid var(--color-sub);
	border-radius:999px;
	background:var(--color-white);
	color:var(--color-main);
	font-size:clamp(0.875rem, 2.8vw, 0.95rem);
	line-height:1;
	text-decoration:none;
}

.anshin-home .sp-detail-link:hover{
	background:var(--color-sub);
	color:var(--color-main);
}

.anshin-home .sp-detail-link:focus-visible{
	background:var(--color-sub);
	color:var(--color-main);
}

@media (min-width: 768px){
	.anshin-home .layout-switch--sp{
		display:none;
	}

	.anshin-home .layout-switch--pc{
		display:block;
	}

/* ---------------------------------------------------------------------------

　　下層ページ共通（768px以上）

--------------------------------------------------------------------------- */
	.anshin-subpage{
		padding:80px 0 120px;
	}

	.anshin-subpage .subpage-title{
		margin:0 0 48px;
		padding:24px 34px 24px calc(34px + var(--layout-inner-offset));
		width:var(--layout-heading-span);
		max-width:none;
		border-radius:44px 0 0 44px;
		font-size:clamp(28px,2.8vw,50px);
		line-height:1.2;
		letter-spacing:0.02em;
	}

	.anshin-subpage .subpage-content{
		width:var(--layout-inner);
		min-height:220px;
	}

/* ---------------------------------------------------------------------------

　　サービス内容ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-service-page .service-groups{
		grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
		gap:36px 30px;
	}

	.anshin-service-page .service-notice-section + .subpage-content-section{
		margin-top:36px;
	}

	.anshin-service-page .service-notice-section:not(.service-notice-section--bottom) .subpage-content{
		min-height:0;
	}

	.anshin-service-page .service-notice-section--bottom{
		margin-top:36px;
	}

	.anshin-service-page .service-notice-card,
	.anshin-greeting-page .service-notice-card{
		padding:clamp(22px,1.9vw,30px);
		font-size:clamp(1.22rem,1.5vw,1.65rem);
	}

	.anshin-greeting-page .service-notice-card{
		margin-top:36px;
	}

	.service-notice-card__icon{
		font-size:clamp(1.52rem,1.58vw,2.14rem);
	}

	.anshin-service-page .service-group{
		padding:clamp(22px,1.9vw,30px);
	}

	.anshin-service-page .service-group__title{
		font-size:clamp(1.22rem,1.5vw,1.65rem);
	}

	.anshin-service-page .service-group__photos{
		margin-top:18px;
		grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
		gap:14px;
	}

	.anshin-service-page .service-group__items{
		margin-top:18px;
		gap:10px;
	}

	.anshin-service-page .service-group__item{
		column-gap:16px;
	}

	.anshin-service-page .service-group__item dt{
		font-size:clamp(0.98rem,0.95vw,1.15rem);
	}

	.anshin-service-page .service-group__item dd{
		font-size:clamp(1rem,1vw,1.18rem);
	}

/* ---------------------------------------------------------------------------

　　代表あいさつページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-greeting-page .subpage-content{
		width:var(--layout-inner);
	}

	.anshin-greeting-page .subpage-content-section + .subpage-title-section{
		margin-top:80px;
	}

	.anshin-greeting-page .subpage-content-section + .subpage-title-section .subpage-title{
		font-size:clamp(34px,3.2vw,58px);
	}

	.anshin-greeting-page .greeting-intro{
		display:grid;
		grid-template-columns:minmax(300px, 0.92fr) minmax(0,1fr);
		align-items:start;
		gap:clamp(28px,2.6vw,46px);
	}

	.anshin-greeting-page .greeting-intro__text p{
		font-size:clamp(0.98rem,0.96vw,1.14rem);
		line-height:1.85;
	}

	.anshin-greeting-page .promise-body{
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(190px, 280px);
		grid-template-areas:"text image";
		align-items:end;
		gap:clamp(24px,2.3vw,40px);
		padding:clamp(30px,2.8vw,46px);
	}

	.anshin-greeting-page .promise-body__image{
		grid-area:image;
		justify-self:end;
		align-self:end;
	}

	.anshin-greeting-page .promise-body__image img{
		width:min(100%,240px);
	}

	.anshin-greeting-page .promise-list{
		grid-area:text;
		gap:12px;
	}

	.anshin-greeting-page .promise-list li{
		font-size:clamp(1.2rem,1.22vw,1.52rem);
		line-height:1.8;
	}

/* ---------------------------------------------------------------------------

　　ご利用の流れページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-flow-page .flow-page-list{
		gap:52px;
	}

	.anshin-flow-page .flow-page-item{
		grid-template-columns:minmax(220px,280px) minmax(0,1fr);
		grid-template-areas:"image text";
		align-items:start;
		column-gap:clamp(28px,2.8vw,48px);
		padding:clamp(28px,2.6vw,44px) clamp(34px,3.5vw,58px);
	}

	.anshin-flow-page .flow-page-item:not(:last-child)::after{
		bottom:-36px;
		border-left-width:22px;
		border-right-width:22px;
		border-top-width:26px;
	}

	.anshin-flow-page .flow-page-item:nth-child(even){
		grid-template-columns:minmax(0,1fr) minmax(220px,280px);
		grid-template-areas:"text image";
	}

	.anshin-flow-page .flow-page-image{
		grid-area:image;
		width:clamp(220px,20vw,280px);
		height:clamp(220px,20vw,280px);
	}

	.anshin-flow-page .flow-page-text{
		grid-area:text;
		padding-top:8px;
	}

	.anshin-flow-page .flow-page-text h3{
		font-size:clamp(20px,1.52vw,30px);
	}

	.anshin-flow-page .flow-page-text p{
		margin-top:8px;
		font-size:clamp(15px,1vw,18px);
	}

/* ---------------------------------------------------------------------------

　　会社概要ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-company-page .company-profile{
		padding:clamp(30px,2.8vw,48px);
	}

	.anshin-company-page .company-profile__row{
		display:grid;
		grid-template-columns:minmax(160px, 12em) minmax(0,1fr);
		align-items:start;
		column-gap:clamp(18px,2vw,36px);
		padding:16px 0;
	}

	.anshin-company-page .company-profile dt{
		font-size:clamp(18px,1.15vw,22px);
	}

	.anshin-company-page .company-profile dd{
		margin-top:0;
		font-size:clamp(15px,0.98vw,18px);
	}

	.anshin-company-page .company-profile__list{
		gap:3px;
	}

	.anshin-company-page .company-profile__row--officers .company-role,
	.anshin-company-page .company-profile__row--officers .company-name{
		display:inline;
	}

	.anshin-company-page .company-profile__row--officers .company-name{
		margin-top:0;
		text-align:left;
	}

	.anshin-company-page .company-profile__row--officers .company-role::after{
		content:"　　";
	}

/* ---------------------------------------------------------------------------

　　よくあるご質問ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-faq-page .faq-list{
		max-width:1040px;
		--faq-side-pad:clamp(16px,2.4vw,42px);
	}

	.anshin-faq-page .subpage-content{
		padding:clamp(30px,2.8vw,48px);
	}

	.anshin-faq-page .faq-list dt{
		--qa-indent:1.05em;
		margin-top:32px;
		font-size:clamp(19px,1.45vw,26px);
		line-height:1.45;
		font-weight:700;
		padding-left:var(--qa-indent);
		padding-right:0;
		text-indent:calc(var(--qa-indent) * -1);
		overflow-wrap:anywhere;
	}

	.anshin-faq-page .faq-list dd{
		--qa-indent:1.05em;
		margin-top:6px;
		font-size:clamp(15px,1vw,18px);
		line-height:1.7;
		padding-left:var(--qa-indent);
		padding-right:0;
		text-indent:calc(var(--qa-indent) * -1);
		overflow-wrap:anywhere;
	}

/* ---------------------------------------------------------------------------

　　お客様の声ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-voice-page .voice-list{
		grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
		gap:26px;
	}

	.anshin-voice-page .voice-card{
		padding:clamp(22px,2.2vw,34px);
	}

	.anshin-voice-page .voice-card__head{
		gap:14px;
	}

	.anshin-voice-page .voice-card__icon{
		width:clamp(84px,6.8vw,112px);
		height:clamp(84px,6.8vw,112px);
	}

	.anshin-voice-page .voice-card__title-wrap h3{
		font-size:clamp(1.24rem,1.45vw,1.65rem);
	}

	.anshin-voice-page .voice-card__title-wrap p{
		font-size:clamp(1.05rem,1.1vw,1.22rem);
	}

	.anshin-voice-page .voice-card__body{
		margin-top:16px;
		font-size:clamp(0.98rem,0.98vw,1.14rem);
		line-height:1.82;
	}

/* ---------------------------------------------------------------------------

　　お知らせページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-news-page .subpage-content-section{
		padding-top:20px;
		padding-bottom:180px;
	}

	.anshin-news-page .news-page-panel{
		padding:clamp(30px,2.8vw,48px);
	}

	.anshin-news-page .news-page-list li + li{
		margin-top:18px;
	}

	.anshin-news-page .news-page-link{
		display:flex;
		align-items:flex-start;
		gap:clamp(16px,1.6vw,30px);
	}

	.anshin-news-page .news-page-link time{
		flex:0 0 clamp(118px,9vw,160px);
		font-size:clamp(14px,0.95vw,17px);
	}

	.anshin-news-page .news-page-link span{
		font-size:clamp(14px,1.02vw,18px);
	}

	.anshin-news-page .news-page-note{
		margin-top:18px;
		font-size:clamp(14px,0.95vw,16px);
	}

/* ---------------------------------------------------------------------------

　　お知らせ詳細ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-news-detail-page .subpage-content-section{
		padding-top:20px;
		padding-bottom:180px;
	}

	.anshin-news-detail-page .news-detail-card{
		padding:clamp(30px,2.8vw,48px);
	}

	.anshin-news-detail-page .news-detail-card__meta time{
		font-size:clamp(14px,0.9vw,16px);
	}

	.anshin-news-detail-page .news-detail-card h3{
		font-size:clamp(20px,1.45vw,28px);
	}

	.anshin-news-detail-page .news-detail-card__body{
		margin-top:16px;
		gap:10px;
	}

	.anshin-news-detail-page .news-detail-card__body p{
		font-size:clamp(15px,0.98vw,18px);
	}

	.anshin-news-detail-page .news-detail-card__back-link{
		font-size:clamp(14px,0.95vw,16px);
	}

/* ---------------------------------------------------------------------------

　　スタッフブログページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-blog-page .blog-page-list{
		grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
		gap:30px;
	}

	.anshin-blog-page .blog-page-card{
		padding:clamp(24px,2.4vw,36px);
	}

	.anshin-blog-page .blog-page-card__meta time,
	.anshin-blog-page .blog-page-card__meta p{
		font-size:clamp(14px,0.9vw,16px);
	}

	.anshin-blog-page .blog-page-card h3{
		font-size:clamp(20px,1.45vw,28px);
	}

	.anshin-blog-page .blog-page-card__excerpt{
		font-size:clamp(15px,0.98vw,18px);
	}

	.anshin-blog-page .blog-page-card__link{
		font-size:clamp(14px,0.95vw,16px);
	}

	.anshin-blog-page .blog-page-note,
	.anshin-blog-article-page .blog-page-note{
		margin-top:18px;
		font-size:clamp(14px,0.95vw,16px);
	}

/* ---------------------------------------------------------------------------

　　ブログ記事ページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-blog-article-page .blog-article-card{
		padding:clamp(30px,2.8vw,48px);
	}

	.anshin-blog-article-page .blog-article-card__meta time,
	.anshin-blog-article-page .blog-article-card__meta span{
		font-size:clamp(14px,0.9vw,16px);
	}

	.anshin-blog-article-page .blog-article-card h3{
		font-size:clamp(24px,1.7vw,34px);
	}

	.anshin-blog-article-page .blog-article-card__body{
		margin-top:18px;
		gap:12px;
	}

	.anshin-blog-article-page .blog-article-card__body p{
		font-size:clamp(15px,1vw,18px);
	}

	.anshin-blog-article-page .blog-article-card__back-link{
		font-size:clamp(14px,0.95vw,16px);
	}

	.anshin-blog-article-page .blog-author-card{
		margin-top:28px;
		padding:clamp(22px,2.2vw,34px);
		display:grid;
		grid-template-columns:clamp(120px,12vw,170px) minmax(0,1fr);
		gap:0 clamp(18px,2vw,28px);
		align-items:start;
	}

	.anshin-blog-article-page .blog-author-card__image-wrap{
		width:100%;
	}

	.anshin-blog-article-page .blog-author-card__content{
		margin-top:0;
	}

	.anshin-blog-article-page .blog-author-card__label{
		font-size:clamp(13px,0.85vw,15px);
	}

	.anshin-blog-article-page .blog-author-card__name{
		font-size:clamp(19px,1.25vw,24px);
	}

	.anshin-blog-article-page .blog-author-card__profile{
		font-size:clamp(14px,0.95vw,16px);
	}

/* ---------------------------------------------------------------------------

　　お問合せページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-inquiry-page .inquiry-lead{
		margin-bottom:22px;
	}

	.anshin-inquiry-page .inquiry-lead p{
		font-size:clamp(15px,0.98vw,18px);
	}

	.anshin-inquiry-page .inquiry-form,
	.anshin-inquiry-page .inquiry-card{
		padding:clamp(28px,2.6vw,40px);
	}

	.anshin-inquiry-page .inquiry-field label{
		font-size:clamp(16px,1.05vw,20px);
	}

	.anshin-inquiry-page input[type="text"],
	.anshin-inquiry-page input[type="tel"],
	.anshin-inquiry-page input[type="email"],
	.anshin-inquiry-page select,
	.anshin-inquiry-page textarea{
		font-size:clamp(15px,0.98vw,18px);
	}

	.anshin-inquiry-page .inquiry-confirm-list{
		margin-top:16px;
	}

	.anshin-inquiry-page .inquiry-confirm-list > div{
		display:grid;
		grid-template-columns:minmax(180px, 14em) minmax(0,1fr);
		align-items:start;
		column-gap:22px;
	}

	.anshin-inquiry-page .inquiry-confirm-list dt{
		font-size:clamp(16px,1.02vw,20px);
	}

	.anshin-inquiry-page .inquiry-confirm-list dd{
		margin-top:0;
		font-size:clamp(15px,0.98vw,18px);
	}

/* ---------------------------------------------------------------------------

　　トップページ（768px以上）

--------------------------------------------------------------------------- */
	.anshin-home .section-bg--top,
	.anshin-home .section-bg--middle,
	.anshin-home .section-bg--bottom{
		background:none;
	}

	.anshin-home .problem-section{
		padding:48px 0 54px;
	}

	.anshin-home .problem-grid{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:32px 42px;
		list-style:none;
	}

	.anshin-home .problem-card{
		--problem-title-indent:1.25em;
		background:rgba(255,255,255,0.8);
		border-radius:8px;
		padding:20px 24px 16px;
	}

	.anshin-home .problem-card h2{
		font-size:clamp(18px,1.7vw,29px);
		line-height:1.35;
		margin-bottom:10px;
		padding-left:var(--problem-title-indent);
		text-indent:calc(var(--problem-title-indent) * -1);
	}

	.anshin-home .problem-card ul{
		padding-left:0;
		margin-left:clamp(2.5em, 5vw, 4em);
		list-style:disc;
		list-style-position:outside;
	}

	.anshin-home .problem-card li{
		font-size:clamp(14px,1vw,17px);
		line-height:1.6;
	}

	.anshin-home .service-section,
	.anshin-home .reason-section,
	.anshin-home .flow-section,
	.anshin-home .support-section,
	.anshin-home .faq-section,
	.anshin-home .area-section,
	.anshin-home .news-section{
		padding-top:80px;
	}

	.anshin-home .area-section{
		padding-bottom:150px;
		position:relative;
		overflow:hidden;
	}

	.anshin-home .news-section{
		padding-bottom:120px;
	}

	.anshin-home .section-title{
		margin:0 0 48px;
		padding:24px 34px 24px calc(34px + var(--layout-inner-offset));
		width:var(--layout-heading-span);
		max-width:none;
		background:rgba(255,255,255,0.8);
		border-radius:44px 0 0 44px;
		font-family:var(--font-body-jp);
		font-size:clamp(28px,2.8vw,50px);
		line-height:1.2;
		font-weight:700;
		letter-spacing:0.02em;
	}

	.anshin-home .problem-grid,
	.anshin-home .service-grid,
	.anshin-home .flow-grid,
	.anshin-home .detail-link-wrap{
		width:75vw;
		max-width:none;
	}

	.anshin-home .reason-list,
	.anshin-home .support-list,
	.anshin-home .faq-list,
	.anshin-home .area-text,
	.anshin-home .news-list{
		width:calc(var(--layout-inner) - (34px + var(--layout-inner-offset)));
		max-width:none;
		margin-left:calc(34px + var(--layout-inner-offset));
		margin-right:0;
	}

	.anshin-home .news-list{
		list-style:none;
	}

	.anshin-home .news-list li + li{
		margin-top:18px;
	}

	.anshin-home .news-list a{
		display:flex;
		align-items:flex-start;
		gap:clamp(16px,1.6vw,30px);
		text-decoration:none;
	}

	.anshin-home .news-list time{
		flex:0 0 clamp(118px,9vw,160px);
		font-size:clamp(14px,0.95vw,17px);
		line-height:1.6;
		font-weight:500;
	}

	.anshin-home .news-list span{
		font-size:clamp(14px,1.02vw,18px);
		line-height:1.6;
		font-weight:500;
		text-align:left;
	}

	.anshin-home .service-grid{
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:34px 36px;
		list-style:none;
		margin-inline:auto;
	}

	.anshin-home .service-card{
		text-align:center;
		background:rgba(255,255,255,0.8);
		border-radius:8px;
		padding:14px 12px 16px;
	}

	.anshin-home .service-image{
		width:100%;
		aspect-ratio:4 / 3;
		object-fit:cover;
		border-radius:10px;
		margin-bottom:14px;
	}

	.anshin-home .service-card h3{
		font-size:clamp(18px,1.9vw,31px);
		line-height:1.3;
		margin-bottom:8px;
	}

	.anshin-home .service-card ul{
		display:inline-block;
		padding-left:1.35em;
		list-style:disc;
		text-align:left;
	}

	.anshin-home .service-card li{
		font-size:clamp(14px,1vw,17px);
		line-height:1.55;
	}

	.anshin-home .service-price{
		margin-top:14px;
		font-size:clamp(24px,2.3vw,42px);
		font-weight:700;
		line-height:1.2;
		text-align:center;
	}

	.anshin-home .detail-link-wrap{
		margin-top:40px;
		text-align:right;
	}

	.anshin-home .detail-link{
		display:inline-block;
		padding:6px 20px 7px;
		border:2px solid var(--color-sub);
		border-radius:999px;
		background:var(--color-white);
		color:var(--color-main);
		font-size:clamp(14px,0.95vw,16px);
		text-decoration:none;
		line-height:1;
	}

	.anshin-home .detail-link:hover{
		background:var(--color-sub);
		color:var(--color-main);
	}

	.anshin-home .detail-link:focus-visible{
		background:var(--color-sub);
		color:var(--color-main);
	}

	.anshin-home .reason-list{
		max-width:930px;
		list-style:none;
	}

	.anshin-home .reason-list li{
		position:relative;
		padding-left:0;
		font-size:clamp(20px,2.2vw,42px);
		line-height:1.45;
	}

	.anshin-home .reason-list li::before{
		content:none;
		position:absolute;
		left:0;
		top:0.62em;
		width:12px;
		height:12px;
		border-radius:50%;
		background:#4d2e22;
	}

	.anshin-home .flow-grid{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:28px 36px;
		list-style:none;
		margin-inline:auto;
	}

	.anshin-home .flow-item{
		display:flex;
		align-items:flex-start;
		gap:16px;
	}

	.anshin-home .flow-image{
		width:156px;
		height:156px;
		border-radius:50%;
		object-fit:cover;
		flex-shrink:0;
		box-shadow:0 2px 10px rgba(0,0,0,0.1);
	}

	.anshin-home .flow-text{
		--flow-num-indent:1.25em;
		padding-top:8px;
	}

	.anshin-home .flow-text h3{
		font-size:clamp(17px,1.3vw,24px);
		margin-bottom:8px;
		line-height:1.35;
		padding-left:var(--flow-num-indent);
		text-indent:calc(var(--flow-num-indent) * -1);
	}

	.anshin-home .flow-text p{
		font-size:clamp(14px,0.9vw,16px);
		line-height:1.6;
		padding-left:var(--flow-num-indent);
	}

	.anshin-home .support-list{
		list-style:none;
	}

	.anshin-home .support-list li{
		position:relative;
		padding-left:0;
		font-size:clamp(20px,2.2vw,41px);
		line-height:1.5;
	}

	.anshin-home .support-list li::before{
		content:none;
		position:absolute;
		left:0;
		top:0.02em;
		font-weight:700;
	}

	.anshin-home .faq-list{
		max-width:1040px;
	}

	.anshin-home .faq-list dt{
		--qa-indent:1.05em;
		margin-top:32px;
		font-size:clamp(17px,1.3vw,23px);
		line-height:1.45;
		font-weight:700;
		padding-left:var(--qa-indent);
		text-indent:calc(var(--qa-indent) * -1);
	}

	.anshin-home .faq-list dd{
		--qa-indent:1.05em;
		margin-top:6px;
		font-size:clamp(14px,0.9vw,16px);
		line-height:1.7;
		padding-left:var(--qa-indent);
		text-indent:calc(var(--qa-indent) * -1);
	}

	.anshin-home .area-section::after{
		content:none;
	}

	.anshin-home .area-text{
		position:relative;
		z-index:1;
		padding:20px 0 0;
	}

	.anshin-home .area-text p{
		font-size:clamp(20px,2.2vw,42px);
		line-height:1.5;
	}

	.anshin-footer{
		padding:clamp(44px,5vw,84px) 0 clamp(58px,5vw,90px);
		background-size:1920px auto;
	}

	.anshin-footer__nav ul{
		width:var(--layout-inner);
		display:flex;
		flex-wrap:wrap;
		column-gap:clamp(20px,2vw,48px);
		row-gap:14px;
	}

	.anshin-footer__nav a{
		font-size:clamp(15px,0.95vw,18px);
		line-height:1.2;
		font-weight:600;
	}

	.anshin-footer__contact-row{
		width:var(--layout-inner);
		margin-top:clamp(16px,1.7vw,26px);
		gap:12px 22px;
	}

	.anshin-footer__contact-btn{
		padding:clamp(8px,0.52vw,12px) clamp(18px,1.3vw,26px);
		font-size:clamp(15px,1.02vw,20px);
	}

	.anshin-footer__contact-tel{
		font-size:clamp(20px,1.65vw,32px);
	}

	.anshin-footer__company{
		width:var(--layout-inner);
		margin-top:clamp(58px,4.8vw,86px);
	}

	.anshin-footer__company p{
		font-size:clamp(16px,1.1vw,20px);
		line-height:1.28;
		font-weight:500;
	}

	.anshin-footer__company p:nth-child(2){
		font-size:clamp(18px,1.25vw,24px);
		font-weight:600;
	}

	.anshin-footer__copy{
		margin-top:clamp(72px,6vw,118px);
		font-size:clamp(12px,0.8vw,14px);
		font-weight:400;
	}
}

@media (min-width: 1921px){
	.anshin-footer{
		background-repeat:repeat-x;
		background-size:1920px auto;
		background-position:center top;
	}
}

@media (min-width: 768px){
	.anshin-header__lead-title{
		font-size:clamp(1.45rem, 1.7vw, 2rem);
	}

	.anshin-header__lead p:not(.anshin-header__lead-title){
		font-size:clamp(1rem, 1.05vw, 1.3rem);
	}

	.anshin-home .reason-list li,
	.anshin-home .support-list li,
	.anshin-home .area-text p{
		font-size:clamp(18px,2vw,38px);
	}

	.anshin-home .flow-text h3,
	.anshin-home .faq-list dt{
		font-size:clamp(19px,1.45vw,26px);
	}

	.anshin-home .flow-text p,
	.anshin-home .faq-list dd{
		font-size:clamp(15px,1vw,18px);
	}
}

/* FAQページ専用: 共通FAQルールの後で上書きし、左右余白を常に対称に保つ */
.anshin-home.anshin-faq-page .faq-list{
	width:100%;
	max-width:none;
	margin-left:0;
	margin-right:0;
	--faq-side-pad:clamp(12px,4.5%,56px);
	padding-inline:var(--faq-side-pad);
}

.anshin-home.anshin-faq-page .faq-list dt,
.anshin-home.anshin-faq-page .faq-list dd{
	max-inline-size:100%;
	padding-right:0;
	overflow-wrap:anywhere;
}

@media (min-width: 768px){
	.anshin-home.anshin-faq-page .faq-list{
		--faq-side-pad:clamp(18px,4%,72px);
	}
}

#to-page-top {
	position:fixed;
	right:20px;
	bottom:20px;
	width:40px;
	height:40px;
	background-color:var(--color-white);
	border-radius:50%;
	box-shadow:0 2px 6px rgba(0, 0, 0, 0.3);
	cursor:pointer;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.5s ease, visibility 0.5s ease;
	z-index:100;
}

#to-page-top.active {
	opacity:1;
	visibility:visible;
}

#to-page-top::before,
#to-page-top::after {
	content:"";
	position:absolute;
	width:14px;
	height:2px;
	background-color:var(--color-main);
	border-radius:999px;
	left:50%;
	bottom:50%;
	transform-origin:bottom center;
}

#to-page-top::before {
	transform:translate(-10px) rotate(-45deg);
}

#to-page-top::after {
	transform:translate(-2px) rotate(45deg);
}
