/*
Theme Name: lifcom-aizu_gpchild2026
Description: リフコム会津 2026年リニューアル。支給トップ・固定ページ見本に基づくGeneratePress子テーマ。
Template: generatepress
Version: 1.5.0
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=43e18bdd00) 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=e86594521d) 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
}
.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?v=1.5.0) 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:61%;
	object-fit:contain
}
.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 10% bottom 12px/28% 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
}
.l-footer__numbers {
	display:flex;
	flex-wrap:wrap;
	gap:0 24px
}
.c-back-to-top {
	position:fixed;
	z-index:15;
	right:24px;
	bottom:24px;
	display:grid;
	place-items:center;
	width:58px;
	height:58px;
	background:white;
	border:1px solid #9d8263;
	font-size:30px;
	line-height:1
}
.c-back-to-top:hover {
	background:#f6f8ef
}
.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 */
.m-post-discovery {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:32px;
	max-width:1000px;
	margin:56px auto 0;
	padding-top:28px;
	border-top:1px solid #d7d0c3;
	font-size:15px;
	line-height:1.8
}
.m-post-discovery__title {
	margin:0 0 16px;
	padding-bottom:8px;
	border-bottom:2px solid var(--color-lime);
	color:var(--color-brown);
	font-size:20px;
	font-weight:700
}
.m-post-discovery ul {
	list-style:none;
	margin:0;
	padding:0
}
.m-post-discovery ul.children {
	padding-left:1em
}
.m-post-discovery li {
	margin-bottom:7px
}
.m-post-discovery a:hover {
	text-decoration:underline;
	text-underline-offset:.2em
}
.c-archive-menu {
	border:1px solid #d7d0c3;
	border-radius:4px
}
.c-archive-menu summary {
	padding:9px 12px;
	cursor:pointer
}
.c-archive-menu ul {
	max-height:240px;
	overflow:auto;
	padding:4px 12px 12px
}
.c-post-search {
	display:flex;
	gap:8px
}
.c-post-search input[type=search] {
	min-width:0;
	width:100%;
	margin:0;
	padding:9px 10px;
	border:1px solid #d7d0c3;
	border-radius:4px;
	background:white;
	font:inherit
}
.c-post-search button {
	flex-shrink:0;
	padding:8px 14px;
	border:0;
	border-radius:4px;
	background:var(--color-lime);
	color:var(--color-brown)
}
.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 {
		display:flex;
		flex-direction:column;
		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;
		order:-1;
		width:100%;
		aspect-ratio:850/649;
		background:url(assets/hero-mobile.webp?v=1.5.0) center/100% 100%;
		margin-top:0
	}
	.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:65% 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
	}
	.l-footer__numbers {
		gap:0 20px
	}
	.c-back-to-top {
		width:44px;
		height:44px;
		bottom:16px;
		right:12px;
		font-size:24px
	}
	.p-footer-nav {
		gap:12px 23px;
		font-size:11px;
		padding:16px 15px
	}
	.l-content {
		padding:35px 20px 60px
	}
	.m-post-discovery {
		grid-template-columns:1fr;
		gap:24px;
		margin-top:36px
	}
	.c-post-search {
		margin-right:44px
	}
	.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
	}
}

/* Editable WordPress navigation: stable anchors and restrained disclosure motion. */
.p-global-nav__list,.p-footer-nav__list,.p-global-nav .sub-menu,.p-footer-nav .sub-menu {list-style:none;margin:0;padding:0}
.p-global-nav__list {display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.p-global-nav li,.p-footer-nav li {position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:background-color 140ms ease}
.p-global-nav a,.p-global-nav a:first-child {display:block;margin:0;padding:0 14px;border:0;font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:44px;letter-spacing:.03em;text-align:left;background:transparent}
.p-global-nav .menu-item-has-children > a {padding-right:6px}
.p-global-nav__list > li + li {border-left:1px solid #b6a68e}
.p-global-nav li:is(:hover,:focus-within,.m-nav-item--open),.p-footer-nav li:is(:hover,:focus-within,.m-nav-item--open) {background:#eff8e7}
.p-global-nav li.current-menu-item,.p-global-nav li.current-menu-ancestor {background:#c4e6a8}
:is(.p-global-nav,.p-footer-nav) .c-submenu-toggle {display:grid;place-items:center;align-self:stretch;width:28px;min-height:44px;margin:0 8px 0 0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--color-brown);line-height:1;cursor:pointer}
:is(.p-global-nav,.p-footer-nav) .c-submenu-toggle:is(:hover,:focus,:active) {background:transparent;color:var(--color-brown)}
.c-submenu-toggle__icon {position:relative;display:block;width:12px;height:12px}
.c-submenu-toggle svg {position:absolute;inset:0;display:block;width:12px;height:12px;transform-origin:center;transition:opacity 160ms ease}
.c-submenu-toggle__closed {opacity:1}
.c-submenu-toggle__opened {opacity:0}
.c-submenu-toggle[aria-expanded=true] .c-submenu-toggle__closed {opacity:0}
.c-submenu-toggle[aria-expanded=true] .c-submenu-toggle__opened {opacity:1}
.p-global-nav .sub-menu,.p-footer-nav .sub-menu {display:block;position:absolute;z-index:100;top:calc(100% + 8px);left:0;min-width:230px;max-width:calc(100vw - 32px);padding:6px 0;background:#fff;border:1px solid #e6e0d8;border-radius:4px;box-shadow:0 6px 18px #593d1c1a;white-space:normal;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity 180ms ease,transform 180ms cubic-bezier(.2,.7,.2,1),visibility 0s linear 180ms}
.p-global-nav .sub-menu::before,.p-footer-nav .sub-menu::before {content:'';position:absolute;left:0;right:0;top:-9px;height:9px}
.p-global-nav .sub-menu a {padding:10px 16px;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.p-global-nav .sub-menu .sub-menu {top:-7px;left:calc(100% + 6px);transform:translateX(-4px)}
.p-global-nav .sub-menu .sub-menu::before {top:0;bottom:0;left:-7px;right:auto;width:7px;height:auto}
.p-global-nav .sub-menu .c-submenu-toggle svg {transform:rotate(-90deg)}
.p-global-nav .sub-menu > .m-nav-item--flip > .c-submenu-toggle svg {transform:rotate(90deg)}
.p-global-nav .m-nav-item--open > .sub-menu,.p-footer-nav .m-nav-item--open > .sub-menu {visibility:visible;opacity:1;pointer-events:auto;transform:translate(0);transition-delay:0s}
.p-global-nav__list > .m-nav-item--flip > .sub-menu {left:auto;right:0}
.p-global-nav .sub-menu > .m-nav-item--flip > .sub-menu {left:auto;right:calc(100% + 6px)}
.p-global-nav .sub-menu > .m-nav-item--flip > .sub-menu::before {left:auto;right:-7px}
.p-global-nav :focus-visible,.p-footer-nav :focus-visible {outline:2px solid #7ac943;outline-offset:-3px}
.p-footer-nav__list {display:flex;justify-content:center;flex-wrap:wrap;gap:14px 44px}
.p-footer-nav .sub-menu {top:auto;bottom:calc(100% + 8px);transform:translateY(4px)}
.p-footer-nav .sub-menu::before {top:auto;bottom:-9px}
.p-footer-nav .sub-menu a {display:block;padding:8px 16px}
html:not(.js) .p-global-nav li:hover > .sub-menu,html:not(.js) .p-global-nav li:focus-within > .sub-menu {visibility:visible;opacity:1;pointer-events:auto;transform:none}
@media(max-width:1250px) {
 .l-header {flex-wrap:wrap}
 .p-menu-toggle {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;order:3;width:48px;min-height:48px;padding:5px 0;background:transparent;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}
 .c-contact-button {margin-left:auto}
 .p-global-nav,.js .p-global-nav.p-global-nav--open {width:100%;order:4;margin:0;grid-template-columns:1fr;border-top:1px solid #e6e0d8;padding-top:10px}
 .js .p-global-nav {display:none}
 .js .p-global-nav.p-global-nav--open {display:block}
 .p-global-nav__list {display:block;width:100%}
 .p-global-nav__list > li + li {border-left:0;border-top:1px solid #e6e0d8}
 .p-global-nav a,.p-global-nav a:first-child {padding:8px 12px;font-size:15px;line-height:1.7}
 .p-global-nav .c-submenu-toggle {width:44px;min-height:44px;margin:0}
 .p-global-nav .sub-menu,.p-global-nav .sub-menu .sub-menu {position:static;grid-column:1/-1;min-width:0;max-width:none;height:0;margin:0 0 0 16px;padding:0;overflow:hidden;box-shadow:none;border:0;border-left:2px solid #c4e6a8;border-radius:0;visibility:visible;opacity:0;transform:none;transition:none}
 .p-global-nav .sub-menu::before {display:none}
 .p-global-nav .m-nav-item--open > .sub-menu {height:auto;opacity:1}
 .p-global-nav .sub-menu .c-submenu-toggle svg {transform:none}
}
