/*
Theme Name: lifcom-aizu_gpchild2026
Description: リフコム会津 2026年リニューアル。支給トップ・固定ページ見本に基づくGeneratePress子テーマ。
Template: generatepress
Version: 1.3.5
Text Domain: lifcom-aizu-gpchild2026
*/
/* Licensed static-text subsets; rebuild when changing their copy. See assets/fonts/font-manifest.json. */
@font-face {
	font-family:"Lifcom Kosugi";
	src:url(assets/fonts/kosugi-brand.woff2?v=66a30dea8d) format("woff2");
	font-weight:400;
	font-style:normal;
	font-display:swap
}
@font-face {
	font-family:"Lifcom Zen Kaku";
	src:url(assets/fonts/zen-kaku-hero.woff2?v=f7f6930c51) format("woff2");
	font-weight:700;
	font-style:normal;
	font-display:swap
}
@font-face {
	font-family:"Lifcom BIZ UDP";
	src:url(assets/fonts/biz-udp-static.woff2?v=099a1bc661) format("woff2");
	font-weight:400;
	font-style:normal;
	font-display:swap
}
@font-face {
	font-family:"Lifcom Mobo";
	src:url(assets/fonts/mobo-heading.woff2?v=9307221156) format("woff2");
	font-weight:700;
	font-style:normal;
	font-display:swap
}
@font-face {
	font-family:"Lifcom Homemade Apple";
	src:url(assets/fonts/homemade-apple-hero.woff2?v=acd36348ed) format("woff2");
	font-weight:400;
	font-style:normal;
	font-display:swap
}
/* Design tokens */
:root {
	--color-brown:#593d1c;
	--color-lime:#c1d82f;
	--color-orange:#ff931e;
	--color-green:#7ac943;
	--color-tan:#ba9869;
	--color-ink:#4d4d4d;
	--font-heading:"Lifcom Mobo","Hiragino Maru Gothic ProN",sans-serif
}
html {
	scroll-behavior:smooth;
	scroll-padding-top:90px
}
body.l-site {
	margin:0;
	background:#fff;
	color:var(--color-ink);
	font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
	font-size:16px;
	line-height:1.8
}
.l-site *,.l-site *::before,.l-site *::after {
	box-sizing:border-box
}
.l-site a {
	color:inherit;
	text-decoration:none
}
.l-site button {
	font:inherit;
	cursor:pointer
}
.l-site img {
	max-width:100%;
	height:auto;
	vertical-align:middle
}
.l-site [hidden] {
	display:none!important
}
.l-site :focus-visible {
	outline:3px solid #6b4a27;
	outline-offset:5px
}
.p-home h1,.p-home h2,.p-home h3,.p-home p,.p-home ul {
	margin:0;
	padding:0
}
.p-home ul {
	list-style:none
}
.u-text-orange {
	color:var(--color-orange)
}
.u-text-green {
	color:var(--color-green)
}
.u-visually-hidden,.c-skip-link {
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap
}
.c-skip-link:focus {
	position:fixed;
	z-index:10000;
	top:8px;
	left:8px;
	width:auto;
	height:auto;
	clip:auto;
	background:#fff;
	padding:8px 16px
}
/* Header and navigation */
.l-header {
	position:relative;
	z-index:20;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	min-height:76px;
	padding:12px 30px;
	background:#fff;
	color:var(--color-brown)
}
.m-brand {
	display:inline-flex;
	align-items:center;
	flex-shrink:0;
	gap:1px;
	white-space:nowrap;
	line-height:1.2
}
.m-brand__symbol {
	width:46px;
	height:49px;
	object-fit:contain
}
.m-brand__name {
	font-family:"Lifcom Kosugi",sans-serif;
	font-size:31.315px;
	letter-spacing:0;
	font-weight:400
}
.p-global-nav {
	display:flex;
	align-items:center;
	margin-left:auto;
	white-space:nowrap
}
.p-global-nav a {
	font-size:16px;
	letter-spacing:.05em;
	line-height:44px;
	padding:0 19px;
	border-right:1px solid #b6a68e
}
.p-global-nav a:last-child,.p-global-nav a:first-child {
	border:0
}
.p-global-nav a:first-child {
	margin-right:18px;
	padding:0 25px
}
.p-global-nav a[aria-current=page] {
	background:#c4e6a8
}
.p-global-nav a:hover {
	background:#eff8e7
}
.c-contact-button {
	display:flex;
	align-items:center;
	gap:6px;
	flex-shrink:0;
	background:var(--color-orange);
	color:#fff!important;
	border-radius:8px;
	padding:7px 9px;
	font-family:var(--font-heading);
	font-size:16.497px;
	font-weight:700;
	letter-spacing:.05em;
	line-height:1.65
}
.c-contact-button svg {
	width:19px;
	height:21px
}
.c-contact-button:hover {
	background:#df7511
}
.p-menu-toggle {
	display:none
}
.p-menu-toggle__label {
	white-space:nowrap
}
/* Home: hero */
.p-hero {
	position:relative;
	aspect-ratio:1500/649;
	background:url(assets/hero-desktop.webp) center/100% 100% no-repeat;
	overflow:hidden
}
.p-hero__content {
	position:relative;
	padding-top:8.467vw;
	padding-left:10%;
	padding-bottom:8.2vw
}
.p-hero h1 {
	font-size:clamp(25px,2.267vw,43px);
	font-family:"Lifcom Zen Kaku",sans-serif;
	font-weight:700;
	line-height:2.206;
	color:var(--color-brown);
	letter-spacing:.15em;
	white-space:nowrap
}
.p-hero p:not(.u-visually-hidden) {
	margin-top:5.067vw;
	font-size:clamp(13px,1.13333vw,21.53px);
	line-height:1.882;
	letter-spacing:.1em
}
.p-hero p,.p-concerns__list,.p-concerns>p,.c-section-copy,.p-services__list {
	font-family:"Lifcom BIZ UDP","Yu Gothic",sans-serif
}
.p-hero__words {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	pointer-events:none
}
.p-hero__script {
	font-family:"Lifcom Homemade Apple",cursive;
	font-weight:400;
	font-size:24px;
	fill:#ff931e;
	opacity:.5
}
.p-hero__tagline {
	font-family:"Lifcom BIZ UDP",sans-serif;
	font-size:17px;
	letter-spacing:1.7px;
	fill:#81450d
}
.p-hero__mobile-art {
	display:none
}
.p-hero__mobile-art svg {
	display:block;
	width:100%;
	height:auto
}
/* Home: concerns */
.p-concerns {
	text-align:center;
	background:#f2f2f2 url(assets/paper-texture.webp) repeat;
	padding:76px 24px 54px
}
.p-concerns__heading {
	display:inline-block;
	position:relative;
	color:var(--color-brown);
	font:700 27px/1.5 var(--font-heading);
	font-feature-settings:"palt";
	letter-spacing:.1em;
	padding:23px 12px 15px!important
}
.p-concerns__heading::before,.p-concerns__heading::after {
	content:"";
	position:absolute;
	left:0;
	right:0;
	height:4px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 4'%3E%3Cpath d='M0 2 Q3 -1 6 2 T12 2' fill='none' stroke='%23593d1c' stroke-width='1.7'/%3E%3C/svg%3E") repeat-x center/12px 4px
}
.p-concerns__heading::before {
	top:0
}
.p-concerns__heading::after {
	bottom:0
}
.p-concerns__list {
	display:flex;
	justify-content:center;
	gap:42.83px;
	margin:61px auto 47px!important;
	max-width:1000px
}
.p-concerns__list li {
	flex:1;
	max-width:150px;
	min-width:0
}
.p-concerns__list a {
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:flex-end;
	height:150px;
	padding:10px 6px 16px;
	background:white;
	border:1.5px solid #9d8263;
	border-radius:18px;
	box-shadow:5px 5px 0 #0003;
	color:var(--color-brown);
	transition:transform .2s,box-shadow .2s
}
.p-concerns__list a:hover {
	transform:translateY(-5px);
	box-shadow:5px 9px 0 #0002
}
.p-concerns__list img {
	width:52px;
	height:53px;
	object-fit:contain;
	margin:0 auto auto
}
.p-concerns__list span {
	font-size:17px;
	letter-spacing:.08em;
	line-height:1.824;
	border-bottom:2px solid var(--color-lime);
	white-space:nowrap
}
.p-concerns__list li:nth-child(2) span {
	margin-bottom:15px
}
.p-concerns>p {
	font-size:17px;
	letter-spacing:.2em;
	margin-bottom:12px
}
.l-site .c-more-button {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	gap:5px;
	min-width:124px;
	min-height:30px;
	padding:0 18px;
	border-radius:6px;
	background:var(--color-lime);
	color:var(--color-brown);
	font:italic 400 32.328px/30px "mr-eaves-modern",Arial,sans-serif;
	letter-spacing:0;
	transition:background .2s,transform .2s
}
.l-site .c-more-button__icon {
	display:block;
	width:7px;
	height:7px;
	border-top:1px solid;
	border-right:1px solid;
	transform:rotate(45deg);
	font-size:0;
	line-height:0;
	margin-left:3px
}
.l-site .c-more-button:hover {
	background:#acd025;
	transform:translateX(3px)
}
/* Home: services */
.p-services {
	text-align:center;
	padding:61px 24px 66px;
	background:radial-gradient(ellipse at 0 0,#d6ffa1 0,rgba(214,255,161,.28) 26%,transparent 58%),white
}
.c-section-heading {
	position:relative;
	display:inline-block;
	padding-bottom:28px!important;
	color:var(--color-brown);
	font:700 27px/1.5 var(--font-heading);
	font-feature-settings:"palt";
	letter-spacing:.1em
}
.c-section-heading::after {
	content:"";
	display:block;
	position:absolute;
	bottom:-10px;
	left:50%;
	transform:translateX(-50%);
	width:180px;
	height:35px;
	background:url(assets/heading-line.svg) center/contain no-repeat
}
.c-section-copy {
	font-size:17px;
	line-height:1.882;
	letter-spacing:.1em;
	margin-top:21px!important
}
.u-inline-block {
	display:inline-block
}
.p-services__list {
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:59px;
	max-width:1140px;
	margin:64px auto 17px!important
}
.p-services__list li {
	min-width:0
}
.p-services__list a {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:16px;
	color:var(--color-brown);
	font-size:17px;
	line-height:1.294
}
.p-services__icon {
	display:flex;
	align-items:center;
	justify-content:center;
	width:140px;
	max-width:100%;
	aspect-ratio:1;
	border-radius:50%;
	background:linear-gradient(40deg,#51be50,#bed52d);
	box-shadow:2px 5px 10px #0004;
	transition:transform .2s
}
.p-services__icon img {
	width:61%;
	height:auto
}
.p-services__list a:hover .p-services__icon {
	transform:translateY(-6px)
}
/* Object / Module: optical alignment for the supplied italic typeface. */
.c-more-button__label {
	display:block;
	transform:translateY(-.08em);
}
/* Object / Project: portfolio carousel */
.p-works {
	text-align:center;
	padding:32px 0 45px;
	background-image:linear-gradient(#efefef80 1px,transparent 1px),linear-gradient(90deg,#efefef80 1px,transparent 1px);
	background-size:26px 26px;
	overflow:hidden
}
.p-works-slider {
	position:relative;
	width:100%;
	max-width:1900px;
	margin:31px auto 37px;
	--card-width:min(24.13vw,362px);
	--card-gap:min(3.2vw,48px);
	column-gap:var(--card-gap);
	--visible-count:3;
	overflow:hidden;
	padding:0 0 16px
}
.p-works-slider__track {
	display:flex;
	gap:var(--card-gap);
	align-items:stretch;
	overflow-x:auto;
	padding:0 max(24px,calc((100% - 1182px)/2));
	scrollbar-width:thin
}
.p-work-card {
	flex:0 0 var(--card-width);
	width:var(--card-width);
	height:auto;
	min-width:0;
	background:#fff;
	border:1px solid #665d50;
	border-radius:13px;
	overflow:hidden;
	box-shadow:3px 5px 9px #0004;
	text-align:left;
	transition:opacity .28s;
	opacity:1
}
.p-work-card__link {
	display:flex;
	flex-direction:column;
	height:100%
}
.p-work-card__image {
	aspect-ratio:362/230;
	overflow:hidden;
	display:grid;
	place-items:center;
	background:#f3f7e7
}
.p-work-card__image img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center top;
	transition:transform .2s
}
.p-works-slider:not(.p-works-slider--dragging) .p-work-card__link:hover img {
	transform:scale(1.035)
}
.p-work-card__body {
	min-height:135px;
	padding:13px 20px 14px;
	font-size:17px;
	line-height:1.634;
	color:#333
}
.p-work-card__category {
	display:inline-block;
	color:white;
	background:var(--color-brown);
	font-size:16px;
	font-weight:700;
	letter-spacing:.08em;
	line-height:1.5;
	padding:1px 14px;
	margin-bottom:5px
}
.p-work-card__title,.p-work-card__description {
	font:inherit
}
.p-works-slider__arrow {
	position:absolute;
	top:calc(var(--card-width) * .4831);
	transform:translateY(-50%);
	display:grid;
	place-items:center;
	width:51.115px;
	height:51.115px;
	border-radius:50%;
	padding:0;
	border:0;
	background:#a67c52;
	color:#fff;
	z-index:3;
	font-size:27px!important;
	line-height:1
}
.p-works-slider__arrow:hover {
	background:#7a5128
}
.p-works-slider__arrow:disabled {
	opacity:.4;
	cursor:default;
	background:#a67c52;
}
.p-works-slider__arrow--prev {
	left:max(16px,calc((100% - 1366.267px)/2))
}
.p-works-slider__arrow--next {
	right:max(16px,calc((100% - 1366.267px)/2))
}
/* Home: notices */
.p-news {
	background:var(--color-tan);
	padding:51.7px 10% 48.8px
}
.p-news__inner {
	min-height:182.8px;
	display:grid;
	grid-template-columns:180px 1fr;
	align-items:center;
	gap:57px;
	max-width:1200px;
	margin:auto;
	border-radius:28px;
	background:white;
	padding:32px 37px
}
.p-news__heading {
	text-align:center
}
.p-news__heading .c-section-heading {
	margin-bottom:14px;
	font-size:27px
}
.p-news__heading .c-section-heading::after {
	width:180px
}
.p-news__list {
	display:grid;
	gap:9px;
	color:#927650;
	font-size:17px;
	letter-spacing:.07em
}
.p-news__list a {
	display:grid;
	grid-template-columns:116px 1fr;
	gap:20px;
	line-height:1.9
}
.p-news__list a:hover {
	text-decoration:underline;
	text-underline-offset:5px
}
.p-news__date {
	white-space:nowrap
}
/* Footer */
.l-footer {
	color:var(--color-brown)
}
.l-footer__main {
	background:var(--color-lime) url(assets/footer-town.svg) right bottom 12px/45% auto no-repeat;
	padding:28px 10% 29px
}
.l-footer__inner {
	position:relative;
	display:flex;
	align-items:center;
	gap:60px;
	max-width:1200px;
	margin:auto;
	padding-left:65px
}
.m-brand--footer {
	gap:4px
}
.m-brand--footer .m-brand__symbol {
	width:41px;
	height:44px
}
.m-brand--footer .m-brand__name {
	font-size:28.439px
}
.l-footer address {
	margin:0;
	font-size:16px;
	line-height:1.45;
	font-style:normal
}
.c-back-to-top {
	position:absolute;
	right:-28px;
	top:-57px;
	display:grid;
	place-items:center;
	width:58px;
	height:58px;
	background:white;
	border:1px solid #9d8263;
	font-size:30px;
	line-height:1
}
.p-footer-nav {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:14px 44px;
	padding:9px 20px;
	font-size:15px;
	line-height:1.5
}
.p-footer-nav a:hover {
	text-decoration:underline
}
/* Interior pages and archives */
.l-content {
	max-width:1200px;
	margin:auto;
	padding:65px 32px 100px;
	min-height:65vh
}
.c-page-title {
	color:var(--color-brown);
	font-size:32px;
	margin:0 0 35px;
	border-bottom:3px solid var(--color-lime);
	padding-bottom:16px
}
.l-content .entry-content {
	margin-top:30px;
	overflow-wrap:anywhere
}
.l-content .entry-content a {
	color:#6b7130;
	text-decoration:underline;
	text-underline-offset:4px
}
.l-content table {
	width:100%;
	border-collapse:collapse
}
.l-content td,.l-content th {
	border:1px solid #dedbd5;
	padding:15px
}
.l-content th {
	background:#f6f8ef
}
.l-content iframe {
	max-width:100%
}
.l-content input:not([type=radio]):not([type=checkbox]),.l-content textarea,.l-content select {
	max-width:100%;
	border:1px solid #ad9a80;
	background:#fff;
	border-radius:5px;
	color:#333;
	padding:10px
}
.l-content input[type=submit],.l-content button {
	background:var(--color-lime);
	color:var(--color-brown);
	border:0;
	border-radius:5px;
	padding:10px 26px
}
.p-archive__list {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:34px
}
.p-archive-card {
	border:1px solid #dfdbd2;
	border-radius:12px;
	overflow:hidden
}
.p-archive-card img {
	width:100%;
	height:240px;
	object-fit:cover
}
.p-archive-card time {
	display:block;
	margin:18px 20px 0;
	font-size:14px
}
.p-archive-card h2 {
	font-size:18px;
	margin:8px 20px 24px
}
.l-content .navigation {
	margin-top:35px
}
/* Pointer interaction and interior-page navigation. */
.p-works-slider__arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}
.m-breadcrumbs {
	font-size: 14px;
	margin-bottom: 24px;
	overflow-wrap: anywhere;
}
.m-breadcrumbs a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.p-archive__description {
	margin-bottom: 30px;
}
.p-article__dates {
	display: flex;
	flex-wrap: wrap;
	gap: .25em 1.5em;
	font-size: 14px;
}

/* Swiper enhancement. Base track remains scrollable when JavaScript is unavailable. */
.p-works-slider.swiper-initialized .p-works-slider__track {
	gap:0;
	padding:0;
	overflow:visible;
}
.p-works-slider.swiper-initialized .p-work-card {
	opacity:.35;
}
.p-works-slider.swiper-initialized .p-work-card--primary {
	opacity:1;
}
.p-works-slider.swiper-initialized .p-work-card__link {
	cursor:grab;
	user-select:none;
	-webkit-user-select:none;
}
.p-works-slider.swiper-initialized.p-works-slider--dragging .p-work-card__link {
	cursor:grabbing;
}
.p-works-slider--dragging .p-work-card__image img {
	transform:none;
}
.p-works-slider--static .p-works-slider__track {
	justify-content:center;
}

/* Responsive overrides */
@media(min-width:1900px) {
	.p-hero__content {
		padding-top:8.467vw;
		padding-bottom:156px
	}
	.p-hero p:not(.u-visually-hidden) {
		margin-top:96.27px
	}
}
@media(max-width:1250px) and (min-width:901px) {
	.l-header {
		padding:10px 20px;
		gap:10px
	}
	.m-brand__name {
		font-size:26px
	}
	.m-brand__symbol {
		width:39px
	}
	.p-global-nav a {
		padding:0 11px;
		font-size:14px
	}
	.p-global-nav a:first-child {
		padding:0 19px;
		margin-right:10px
	}
	.c-contact-button {
		font-size:14px;
		padding:7px 9px
	}
	.p-services__list {
		gap:35px
	}
	.p-concerns__list {
		gap:32px
	}
	.p-news {
		padding-left:8%;
		padding-right:8%
	}
	.p-news__inner {
		grid-template-columns:170px 1fr;
		gap:15px
	}
	.p-news__list {
		font-size:14px
	}
	.p-news__list a {
		grid-template-columns:100px 1fr;
		gap:14px
	}
	.l-footer__inner {
		gap:30px;
		padding-left:0
	}
	.l-footer address {
		font-size:13px
	}
}
@media(max-width:900px) {
	html {
		scroll-padding-top:78px
	}
	.l-header {
		min-height:72px;
		padding:10px 20px;
		gap:14px;
		flex-wrap:wrap
	}
	.m-brand__name {
		font-size:27px
	}
	.m-brand__symbol {
		width:38px;
		height:42px
	}
	.c-contact-button {
		margin-left:auto;
		font-size:14px
	}
	.p-menu-toggle {
		display:flex;
		align-items:center;
		flex-direction:column;
		justify-content:center;
		gap:5px;
		order:3;
		width:48px;
		min-height:48px;
		padding:5px 0;
		background:none;
		color:var(--color-brown);
		border:0
	}
	.p-menu-toggle__label {
		font-size:10px;
		line-height:1
	}
	.p-menu-toggle__bars {
		display:block;
		position:relative;
		width:26px;
		height:18px;
		border-top:2px solid;
		border-bottom:2px solid
	}
	.p-menu-toggle__bars::after {
		content:"";
		position:absolute;
		left:0;
		right:0;
		top:6px;
		border-top:2px solid
	}
	.p-global-nav {
		width:100%;
		margin:0;
		order:4;
		display:grid;
		grid-template-columns:repeat(3,1fr);
		border-top:1px solid #e6e0d8;
		padding-top:10px
	}
	.js .p-global-nav {
		display:none
	}
	.js .p-global-nav.p-global-nav--open {
		display:grid
	}
	.p-global-nav a,.p-global-nav a:first-child {
		padding:0 8px;
		margin:0;
		border:0;
		font-size:14px;
		text-align:center
	}
	.p-hero h1 {
		font-size:clamp(21px,2.7vw,26px);
		letter-spacing:.05em;
		line-height:2.1
	}
	.p-hero__content {
		padding-left:7%;
		padding-top:8vw;
		padding-bottom:5vw
	}
	.p-hero p:not(.u-visually-hidden) {
		font-size:13px;
		line-height:1.9;
		margin-top:4.5vw
	}
	.p-concerns {
		padding:54px 24px 44px
	}
	.p-concerns__heading {
		font-size:23px
	}
	.p-concerns__list {
		gap:20px;
		margin:38px auto 35px!important
	}
	.p-concerns__list a {
		height:136px;
		border-radius:15px
	}
	.p-concerns__list span {
		font-size:15px
	}
	.p-concerns>p,.c-section-copy {
		font-size:16px
	}
	.c-section-heading {
		font-size:24px
	}
	.p-services {
		padding:50px 28px 55px
	}
	.p-services__list {
		gap:24px;
		margin-top:45px!important
	}
	.p-services__list a {
		font-size:15px
	}
	.p-services__icon {
		width:115px
	}
	.p-work-card__body {
		padding:12px;
		font-size:13px
	}
	.p-work-card__category {
		font-size:12px;
		padding:1px 8px
	}
	.p-works-slider__arrow {
		width:42px;
		height:42px
	}
	.p-news {
		padding:40px 7%
	}
	.p-news__inner {
		grid-template-columns:140px 1fr;
		gap:25px;
		padding:28px 25px
	}
	.p-news__list {
		font-size:13px
	}
	.p-news__list a {
		grid-template-columns:1fr;
		gap:0
	}
	.p-news__heading .c-section-heading {
		font-size:22px
	}
	.p-news__heading .c-section-heading::after {
		width:130px
	}
	.l-footer__main {
		padding:27px 7% 30px;
		background-size:42% auto
	}
	.l-footer__inner {
		gap:25px;
		padding-left:0
	}
	.l-footer address {
		font-size:12px
	}
	.m-brand--footer .m-brand__name {
		font-size:24px
	}
	.c-back-to-top {
		right:0
	}
}
@media(max-width:600px) {
	.l-header {
		padding:9px 16px;
		gap:8px
	}
	.m-brand__name {
		font-size:23px
	}
	.m-brand__symbol {
		width:34px;
		height:38px
	}
	.l-header .c-contact-button {
		font-size:11px;
		padding:7px
	}
	.c-contact-button svg {
		width:14px
	}
	.c-contact-button>span {
		display:none
	}
	.p-menu-toggle {
		width:38px
	}
	.p-hero {
		aspect-ratio:auto;
		background:radial-gradient(ellipse at 0 0,#d6ffa1,transparent 65%),#fff
	}
	.p-hero__content {
		padding:34px 7% 20px;
		z-index:1
	}
	.p-hero h1 {
		font-size:clamp(20px,5.4vw,31px);
		line-height:2;
		letter-spacing:.07em
	}
	.p-hero p:not(.u-visually-hidden) {
		font-size:14px;
		line-height:1.9;
		margin-top:24px;
		letter-spacing:.02em
	}
	.p-hero__words {
		display:none
	}
	.p-hero__mobile-art {
		display:block;
		width:100%;
		aspect-ratio:850/649;
		background:url(assets/hero-mobile.webp) center/100% 100%;
		margin-top:-8px
	}
	.p-concerns {
		padding:43px 18px 38px
	}
	.p-concerns__heading {
		font-size:clamp(17px,4.8vw,23px);
		padding:17px 5px!important;
		letter-spacing:.04em
	}
	.p-concerns__list {
		flex-wrap:wrap;
		gap:20px 16px;
		margin:32px auto 28px!important;
		max-width:410px
	}
	.p-concerns__list li {
		flex:0 0 calc((100% - 32px)/3);
		max-width:126px
	}
	.p-concerns__list a {
		height:127px;
		padding:9px 3px 12px;
		border-radius:14px;
		box-shadow:3px 3px 0 #0003
	}
	.p-concerns__list img {
		width:45px;
		height:44px
	}
	.p-concerns__list span {
		font-size:14px;
		letter-spacing:0
	}
	.p-concerns>p {
		font-size:14px;
		letter-spacing:.03em
	}
	.l-site .c-more-button {
		min-width:124px;
		min-height:36px;
		font-size:32.328px
	}
	.p-services {
		padding:40px 24px 42px
	}
	.c-section-heading {
		font-size:21px;
		letter-spacing:.07em
	}
	.c-section-copy {
		font-size:14px;
		letter-spacing:.02em;
		margin-top:20px!important;
		padding:0 15px!important
	}
	.c-section-heading::after {
		width:160px
	}
	.p-services__list {
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:28px 21px;
		margin:34px auto 30px!important;
		max-width:420px
	}
	.p-services__list a {
		gap:12px;
		font-size:14px
	}
	.p-services__icon {
		width:105px
	}
	.p-works {
		padding:34px 0 37px
	}
	.p-works-slider {
		--card-width:74vw;
		--card-gap:6vw;
		--visible-count:1;
		margin:28px 0 26px
	}
	.p-works-slider__track {
		padding:0 13vw
	}
	.p-work-card__body {
		min-height:0;
		font-size:15px;
		padding:12px 16px 16px
	}
	.p-work-card__category {
		font-size:13px
	}
	.p-works-slider__arrow {
		width:42px;
		height:42px
	}
	.p-works-slider__arrow--prev {
		left:5vw
	}
	.p-works-slider__arrow--next {
		right:5vw
	}
	.p-news {
		padding:30px 20px 35px
	}
	.p-news__inner {
		grid-template-columns:1fr;
		gap:23px;
		padding:27px 22px;
		border-radius:22px
	}
	.p-news__heading {
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:15px
	}
	.p-news__heading .c-section-heading {
		margin:0;
		font-size:22px
	}
	.p-news__list {
		font-size:13px;
		gap:15px
	}
	.p-news__list a {
		gap:2px;
		line-height:1.7
	}
	.l-footer__main {
		padding:28px 25px 77px;
		background-size:100% auto;
		background-position:right bottom 8px
	}
	.l-footer__inner {
		flex-direction:column;
		align-items:flex-start;
		gap:17px
	}
	.m-brand--footer .m-brand__name {
		font-size:25px
	}
	.l-footer address {
		font-size:13px
	}
	.c-back-to-top {
		width:44px;
		height:44px;
		top:-53px;
		right:0;
		font-size:24px
	}
	.p-footer-nav {
		gap:12px 23px;
		font-size:11px;
		padding:16px 15px
	}
	.l-content {
		padding:35px 20px 60px
	}
	.c-page-title {
		font-size:25px
	}
	.l-content td,.l-content th {
		padding:9px;
		font-size:14px
	}
	.p-archive__list {
		grid-template-columns:1fr
	}
	.p-archive-card img {
		height:auto;
		max-height:320px
	}
	.l-content .entry-content {
		font-size:15px
	}
}
@media(max-width:360px) {
	.l-header .c-contact-button {
		font-size:0;
		gap:0;
		padding:9px
	}
	.l-header .c-contact-button svg {
		width:19px
	}
	.p-concerns__list span {
		font-size:12px
	}
}
@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior:auto
	}
	.l-site *,.l-site *::before,.l-site *::after {
		transition:none!important;
		animation:none!important
	}
}
