@charset "utf-8";

/* 変数 -----------------------------------------------------------------------------------------*/
:root {
	--family-min: "游明朝", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Noto Serif JP", "Sawarabi Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--family-go: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

	--wrapper: 84%;
	--wrapper-max: 1024px;

	--header-h: 53px;
	--logo-h: 29px;

	--color-main: #000;
	--color-black: #000;
	--color-white: #fff;
	--color-gray: #e8e8e8;
	--color-gray-d: #b6b6b6;
	--color-border: #afafaf;

	--color-alpha: rgba(255, 255, 255, 0.94);
	--color-active: var(--color-black);
	--color-error: #cd401a;
	--color-floor: #8b8b8b;

	--font-xl: 2.1rem;
	--font-ll: 1.9rem;
	--font-l: 1.7rem;
	--font-m: 1.5rem;
	--font-s: 1.3rem;
	--font-ss: 1.2rem;
	--font-xs: 1.1rem;

	--font-menu: 1.6rem;
	--font-menu-s: 1.4rem;

	--weight-r: 400;
	--weight-m: 500;
	--weight-b: 600;

	--line-ll: 3.0em;
	--line-l: 2.0em;
	--line-m: 1.7em;
	--line-s: 1.4em;

	--margin-ll: 120px;
	--margin-l: 90px;
	--margin-m: 60px;
	--margin-ms: 40px;
	--margin-s: 30px;
	--margin-ss: 20px;
	--margin-xs: 10px;
	--margin-xxs: 5px;
}
/*-----------------------------------------------------------------------------------------------*/


/*html, body { height: 100%; }*/
html { font-size: 62.5%; }
body {
	background-color: var(--color-white);
	color: var(--color-base);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/*font-feature-settings: "palt";*/
	line-height: 1;
	overflow-x: hidden;
	min-width: 320px;
}
img/*,
svg*/ {
	height: auto;
	width: 100%;
	max-width: 100%;
}
a:link, a:visited, .hover {
	color: var(--color-black);
	transition: 0.2s ease-out;
	transition-property: background-color, color, opacity;
	text-decoration: none;
}
a[href*="tel:"] { text-decoration: underline; }
a:hover, a:active, .hover:hover {
	color: var(--color-active);
	opacity: 0.7;
	text-decoration: underline;
}
a:focus { outline: none; }

strong { font-weight: var(--weight-b); }

th,
dt { font-weight: var(--weight-r); }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*::selection {
	background-color: var(--color-black);
	color: var(--color-white);
}*/

/*.pc { display: none; }*/
.indent {
	padding-left: 1em;
	text-indent: -1em;
}



/* フォント -------------------------------------------------------------------------------------*/
body {
	font-family: var(--family-min);
	font-weight: var(--weight-r);
}

body { opacity: 0; }
.wf-active body,
.wfno-load body { opacity: 1; }
/*-----------------------------------------------------------------------------------------------*/


/* wrapper --------------------------------------------------------------------------------------*/
.wrapper,
.swrapper {
	margin: 0 auto;
	width: var(--wrapper);
}
.swrapper { max-width: var(--wrapper-max); }
#works .article .swrapper,
#contact .swrapper,
#privacy .swrapper { max-width: 890px; }
/*.global .wrapper,
.footer .wrapper { max-width: none; }*/
/*-----------------------------------------------------------------------------------------------*/


/* lazy -----------------------------------------------------------------------------------------*/
.js-lazy {
	opacity: 0;
	transform: translateY(10%) scale(1);
	transition-duration: 0.8s;
	transition-property: opacity, transform;
	transition-timing-function: cubic-bezier(0.61, 1, 0.88, 1);/*cubic-bezier(0.5, 1, 0.89, 1);*/
}
/*-----------------------------------------------------------------------------------------------*/


/* ボタン ---------------------------------------------------------------------------------------*/
.button a,
.button span,
.button input[type="submit"] {
	background-color: var(--color-white);
	border: var(--color-black) solid 1px;
	color: var(--color-black);
	display: block;
	font-size: var(--font-m);
	margin: 0 auto;
	padding: 16px 0 15px;
	transition-property: background-color, color;
	text-align: center;
	text-decoration: none;
	width: 210px;
}
.button a:hover {
	background-color: var(--color-black);
	color: var(--color-white);
	opacity: 1;
}
.button.off a,
.button.off span,
.button.off input[type="submit"] {
	border-color: var(--color-gray-d);
	color: var(--color-gray-d);
}

.button.b a,
.button.b span,
.button.b input[type="submit"] {
	background-color: var(--color-black);
	color: var(--color-white);
}
.button.b a:hover {
	background-color: var(--color-white);
	color: var(--color-black);
	opacity: 1;
}
.button.b.off a,
.button.b.off span,
.button.b.off input[type="submit"] {
	background-color: var(--color-gray);
	border-color: var(--color-gray-d);
	color: var(--color-gray-d);
}

a span.win {
	padding-right: 20px;
	position: relative;
}
a span.win::before,
a span.win::after {
	background-color: var(--color-white);
	border: var(--color-black) solid 1px;
	content: "";
	height: 8px;
	position: absolute;
	width: 9px;
}
a span.win::before { right: 4px; top: 6px; }
a span.win::after { right: 7px; top: 3px; }

/* ＞ */
a.arrow {
	padding-right: 15px;
	position: relative;
}
a.arrow::after {
	border-top: var(--color-black) solid 1px;
	border-right: var(--color-black) solid 1px;
	content: "";
	height: 8px;
	position: absolute;
	top: 6px;
	right: 0;
	transform: rotate(45deg);
	width: 9px;
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ヘッダー -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.header {
	background-color: var(--color-alpha);
	height: var(--header-h);
	position: fixed;
	top: 0;
	left: 0;
	/*transition: transform 0.2s ease-out;*/
	width: 100%;
	z-index: 100;
}
/*.header.hide { transform: translateY(calc(var(--header-h) * -1)); }*/


/* ロゴ -----------------------------------------------------------------------------------------*/
.header .logo {
	display: flex;
	align-items: center;
	height: 100%;
	margin-left: var(--margin-ss);
}

/*.header .logo img {*/
.header .logo svg {
	height: var(--logo-h);
	width: auto;
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ナビ -----------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
/* ＝ -------------------------------------------------------------------------------------------*/
.nav {
	color: var(--color-black);
	cursor: pointer;
	height: var(--header-h);
	position: fixed;
	top: 0;
	right: 0;
	transition: 0.2s ease-out;
	transition-property: color top;
	width: var(--header-h);
	z-index: 102;
}
/*.nav.hide { transform: translateY(calc(var(--header-h) * -1)); }*/

.nav span,
.nav::before,
.nav::after {
	background-color: var(--color-black);
	height: 1px;
	position: absolute;
	left: 11px;
	transition: background-color 0.2s ease-out;
	width: 30px;
}
.nav::before,
.nav::after { content: ""; }

.nav span { top: 26px; }
.nav::before { top: 20px; }
.nav::after { bottom: 20px; }
.nav.actived span { opacity: 0; }
.nav.actived::before { top: 26px; transform: rotate(45deg); }
.nav.actived::after { bottom: 26px; transform: rotate(-45deg); }

.nav:hover { color: var(--color-active); }
.nav:hover span,
.nav:hover::before,
.nav:hover::after { background-color: var(--color-active); }

/* × */
.nav.active span,
.nav.reverse span { opacity: 0; }
@keyframes navt {
	0% { top: 20px; transform: rotate(0deg); }
	50% { top: 26px; transform: rotate(0deg); }
	100% { top: 26px; transform: rotate(45deg); }
}
.nav.active:before { animation: navt 0.2s linear forwards; }
.nav.reverse:before { animation: navt 0.2s linear reverse both; }
@keyframes navb {
	0% { bottom: 20px; transform: rotate(0deg); }
	50% { bottom: 26px; transform: rotate(0deg); }
	100% { bottom: 26px; transform: rotate(-45deg); }
}
.nav.active:after { animation: navb 0.2s linear forwards; }
.nav.reverse:after { animation: navb 0.2s linear reverse both; }
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* メニュー -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.menu {
	position: relative;
	text-align: center;
}

.menu li a {
	display: block;
	font-size: var(--font-menu);
	padding: 9px 0 8px;
	position: relative;
	text-align: left;
}
.menu li a:hover { text-decoration: underline; }
.menu li li a { font-size: var(--font-menu-s); }

.menu li a span:not(.win) {
	display: block;
	font-size: var(--font-xs);
	padding-bottom: 3px;
}


/* メインメニュー -------------------------------------------------------------------------------*/
.menu .mainmenu > li { margin-top: var(--margin-s); }
.menu .mainmenu > li > a { font-weight: var(--weight-b); }
.menu .mainmenu > li > ul { margin-top: var(--margin-xs); }

/* SOWEL */
.menu .mainmenu .sowel { margin-top: var(--margin-ss); }

/* サブメニュー ---------------------------------------------------------------------------------*/
.menu .submenu > li { padding-left: 1em; }


/* インフォメーション ---------------------------------------------------------------------------*/
.global .info,
.footer .info { padding-top: var(--margin-l); }

/* 住所 */
.global .address,
.footer .address {
	font-size: var(--font-s);
	line-height: var(--line-m);
	text-align: center;
}
.global .address span,
.footer .address span { font-size: var(--font-xs); }

.global .address a,
.footer .address a { font-size: var(--font-l); }

/* インスタグラム */
.global .instagram,
.footer .instagram {
	display: flex;
	justify-content: center;
	column-gap: var(--margin-s);
	margin-top: var(--margin-xs);
}
.global .instagram a,
.footer .instagram a {
	display: inline-block;
	font-family: var(--family-go);
	font-size: var(--font-ss);
	font-weight: var(--weight-m);
	padding-top: 3px;
	padding-left: 23px;
	position: relative;
}
.global .instagram a::before,
.footer .instagram a::before {
	background-image: url("../images/icon_instagram.svg");
	content: "";
	height: 17px;
	position: absolute;
	top: 0;
	left: 0;
	width: 17px;
}

/* コピーライト */
.global .copyright,
.footer .copyright {
	font-size: var(--font-ss);
	line-height: var(--line-m);
	margin-top: var(--margin-ms);
	padding-bottom: var(--margin-s);
	text-align: center;
}
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* グローバル -----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.global {
	background-color: var(--color-alpha);
	height: calc(100% - var(--header-h));
	overflow-y: auto;
	opacity: 0;
	position: fixed;
	top: var(--header-h);
	left: 100%;
	transition: 0.4s cubic-bezier(0.77, 0, 0.18, 1);
	transition-property: opacity, transform;
	width: 100%;
	z-index: 101;
}
.global.active {
	opacity: 1;
	transform: translateX(-100%);
}


/* お問い合わせ ---------------------------------------------------------------------------------*/
.global .contact { margin-top: var(--margin-s); }
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* フッター -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.footer {
	border-top: var(--color-border) solid 1px;
	margin-top: var(--margin-ll);
	padding-top: var(--margin-m);
}
.footer .wrapper { width: 100%; }


/* ロゴ -----------------------------------------------------------------------------------------*/
.footer .logo { text-align: center; }
.footer .logo img { width: 120px; }


/* メニュー -------------------------------------------------------------------------------------*/
.footer .menu { display: none;/*margin-top: var(--margin-l);*/ }
/*-----------------------------------------------------------------------------------------------*/



/*-----------------------------------------------------------------------------------------------*/
/* ボディー -------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.main { padding-top: var(--header-h); }
.main a.google { text-decoration: underline; }

/* コンテナー */
.main .container:not(:first-of-type) {
	margin-top: var(--margin-ll);
	padding-top: var(--margin-ll);
	position: relative;
}
.main .container:not(:first-of-type)::before {
	background-color: var(--color-border);
	content: "";
	height: 1px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: var(--wrapper);
	max-width: var(--wrapper-max);
}
.main .container .contents { margin-top: var(--margin-m); }

/* 見出し */
.main .midashi { margin-top: var(--margin-m); }
.main h1 { font-size: var(--font-xl); }
.main h2 { font-size: var(--font-ll); }
.main h3 { font-size: var(--font-l); }

/* リード */
.main .read {
	font-size: var(--font-m);
	line-height: var(--line-m);
	text-align: justify;
}
.main .read p:not(:first-of-type) { margin-top: 2em; }
.main h1 + .read { margin-top: var(--margin-ms); }
.main .read + .comment { margin-top: var(--margin-ss); }

/* コメント */
.main .comment {
	font-size: var(--font-m);
	line-height: var(--line-l);
	text-align: justify;
}
.main .comment p:not(:first-of-type) { margin-top: 2em; }
.main h2 + .comment { margin-top: var(--margin-ss); }

/* リンク */
.main .comment a { text-decoration: underline; }


/* ページ ---------------------------------------------------------------------------------------*/
.main .wp-pagenavi {
	display: flex;
	column-gap: var(--margin-xs);
	justify-content: center;
	font-size: var(--font-m);
	margin-top: var(--margin-ll);
	position: relative;
	width: 100%;
}
.main .wp-pagenavi a { text-decoration: none; }

.main .wp-pagenavi a,
.main .wp-pagenavi span.current {
	display: block;
	height: 30px;
	padding-top: 8px;
	text-align: center;
	width: 30px;
}
.main .wp-pagenavi span.current {
	background-color: var(--color-black);
	color: var(--color-white);
}

.main .wp-pagenavi .extend { display: none;/*padding-top: 2px;*/ }

.main .wp-pagenavi .first,
.main .wp-pagenavi .previouspostslink,
.main .wp-pagenavi .nextpostslink,
.main .wp-pagenavi .last { position: absolute;/*relative;*/ }
.main .wp-pagenavi .first { left: 0; }
.main .wp-pagenavi .previouspostslink { left: 30px; }
.main .wp-pagenavi .nextpostslink { right: 30px; }
.main .wp-pagenavi .last { right: 0; }
.main .wp-pagenavi .first::before,
.main .wp-pagenavi .first::after,
.main .wp-pagenavi .previouspostslink::before,
.main .wp-pagenavi .nextpostslink::after,
.main .wp-pagenavi .last::before,
.main .wp-pagenavi .last::after {
	border-top: var(--color-black) solid 1px;
	border-right: var(--color-black) solid 1px;
	content: "";
	height: 10px;
	position: absolute;
	top: 10px;
	transition: border-color 0.2s ease-out;
	width: 10px;
}
.main .wp-pagenavi .first::before,
.main .wp-pagenavi .first::after,
.main .wp-pagenavi .previouspostslink::before { transform: rotate(-135deg); }
.main .wp-pagenavi .nextpostslink::after,
.main .wp-pagenavi .last::before,
.main .wp-pagenavi .last::after { transform: rotate(45deg); }
.main .wp-pagenavi .first::before { left: 9px; }
.main .wp-pagenavi .first::after { left: 14px; }
.main .wp-pagenavi .previouspostslink::before { left: 12px; }
.main .wp-pagenavi .nextpostslink::after { right: 12px; }
.main .wp-pagenavi .last::before { right: 14px; }
.main .wp-pagenavi .last::after { right: 9px; }

.main .wp-pagenavi a:hovre { background-color: var(--color-black); }
.main .wp-pagenavi .first:hover::before,
.main .wp-pagenavi .first:hover::after,
.main .wp-pagenavi .previouspostslink:hover::before,
.main .wp-pagenavi .nextpostslink:hover::after,
.main .wp-pagenavi .last:hover::before,
.main .wp-pagenavi .last:hover::after { border-color: var(--color-black); }


/* タグ -----------------------------------------------------------------------------------------*/
.main .tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.main .tags a,
.main .tags span {
	background-color: var(--color-gray-d);
	border: var(--color-gray-d) solid 1px;
	color: var(--color-white);
	display: inline-block;
	font-family: var(--family-go);
	font-size: var(--font-ss);
	font-weight: var(--weight-m);
	padding: 3px 1em 2px;
	text-decoration: none !important;
}
.main .tags a:hover {
	background-color: var(--color-white);
	color: var(--color-black);
}

.main .tags span {
	font-size: var(--font-s);
	padding: 4px 1em 3px;
}


/* アーカイブ -----------------------------------------------------------------------------------*/
.main .archive {
	background-color: var(--color-gray);
	border-top: var(--color-border) solid 1px;
	position: fixed;
	top: var(--header-h);
	left: 0;
	transition: transform 0.2s ease-out;
	width: 100%;
	z-index: 1;
}
.main .archive.hide { transform: translateY(calc(var(--header-h) * -1)); }

/* 絞り込み */
.main .archive h2 {
	height: var(--header-h);
	cursor: pointer;
	font-size: var(--font-l);
	letter-spacing: 0;
	line-height: 1;
	padding-top: 19px;
	padding-left: var(--margin-ss);
	position: relative;
	text-align: left;
}
.main .archive h2::after {
	border-top: var(--color-black) solid 1px;
	border-right: var(--color-black) solid 1px;
	content: "";
	height: 12px;
	position: absolute;
	top: 18px;
	right: var(--margin-ss);
	transform: rotate(135deg);
	width: 12px;
}
.main .archive.active h2::after {
	top: 22px;
	transform: rotate(-45deg);
}

/* 見出し */
.main .archive h3 {
	font-size: var(--font-ll);
	letter-spacing: 0;
	line-height: 1;
	padding-bottom: var(--margin-xxs);
}

/* リスト */
.main .archive .archivelist {
	max-height: 0;
	overflow-y: auto;
	padding: 0 var(--margin-ss);
	transition: max-height 0.2s ease-out;
}

.main .archive .archivelist section { padding-bottom: var(--margin-ms); }
.main .archive .archivelist section:first-of-type { margin-top: var(--margin-ss); }
.main .archive .archivelist section:last-of-type { margin-top: var(--margin-s); }

.main .archive .archivelist ul {
	font-size: var(--font-m);
	line-height: var(--line-s);
	margin-top: var(--margin-xs);
}
.main .archive .archivelist li {
	margin-top: var(--margin-xs);
	padding-left: 1em;
	text-indent: -1em;
}
.main .archive .archivelist li::before { content: "・"; }


/* お知らせ（一覧） -----------------------------------------------------------------------------*/
.main .articlelist { position: relative; }
.main .articlelist .cat {
	font-size: var(--font-ll);
	font-weight: var(--weight-b);
	line-height: 1;
	position: absolute;
	top: -30px;
}

.main .newslist {
	border-top: var(--color-border) solid 1px;
	margin-top: var(--margin-m);
}
.main .newslist li { border-bottom: var(--color-border) solid 1px; }

.main .newslist li a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: var(--font-m);
	padding: 10px 30px 10px 0;
	text-decoration: none;
}

/* 日付、カテゴリー */
.main .newslist .info {
	display: flex;
	/*align-items: center;*/
	font-size: var(--font-ss);
	line-height: var(--line-s);
}
.main .newslist .date::after { content: "｜"; }
.main .newslist .category {
	flex: 1;

	/*padding: 4px 20px 3px 0;*/
	padding-right: 20px;
	position: relative;
}
.main .newslist .pin .category::after {
	background-image: url("../images/icon_pin.svg");
	content: "";
	height: 15px;
	position: absolute;
	top: 0;/*1px;*/
	right: 0;
	width: 15px;
}

/* タイトル */
.main .newslist .title {
	line-height: var(--line-s);
	margin-top: var(--margin-xxs);
	padding-top: 2px;
	padding-right: 20px;
	position: relative;
	text-align: justify;
}
.main .newslist .title::after {
	border-top: var(--color-border) solid 1px;
	border-right: var(--color-border) solid 1px;
	content: "";
	height: 8px;
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	transform: rotate(45deg) translateY(-50%);
	transition: border-color 0.2s ease-out;
	width: 8px;
}
.main .newslist .title br { display: none; }


/* 施工事例（一覧） -----------------------------------------------------------------------------*/
.main .workslist {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-m);
	margin-top: var(--margin-s);
}
.main .workslist a { text-decoration: none; }

/* 画像 */
.main .workslist .image {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	position: relative;
}
.main .workslist .image img {
	height: 100%;
	position: absolute;
	top: 50%;	
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease-out;
	width: auto;
	max-width: none;
}
.main .workslist .image.h img {
	height: auto;
	width: 100%;
}
.main .workslist :hover .image img { transform: translate(-50%, -50%) scale(1.02); }

/* 場所 */
.main .workslist .place {
	font-family: var(--family-go);
	font-size: var(--font-s);
	font-weight: var(--weight-m);
	margin-top: var(--margin-ss);
}

/* カテゴリー */
.main .workslist .category {
	font-family: var(--family-go);
	font-size: var(--font-s);
	font-weight: var(--weight-m);
	margin-top: var(--margin-xs);
}

/* タイトル */
.main .workslist .title {
	font-size: var(--font-m);
	line-height: var(--line-s);
	margin-top: var(--margin-ss);
	text-align: justify;

	min-height: calc(var(--line-s) * 2);
    -webkit-box-orient: vertical;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.main .workslist .title br { display: none; }

/* タグ*/
.main .workslist .tags { margin-top: var(--margin-xs); }



/* 404 Not Found --------------------------------------------------------------------------------*/
#n404 h1,
#n404 .read { text-align: center; }
#n404 .read a { text-decoration: underline; }
/*-----------------------------------------------------------------------------------------------*/





@media(min-width: 530px) {
}



@media(min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none !important;
	}

	/* 変数 -----------------------------------------------------------------------------------------*/
	:root {
		--header-h: 67px;
		--logo-h: 35px;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ナビ -----------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* ＝ -------------------------------------------------------------------------------------------*/
	.nav span,
	.nav::before,
	.nav::after {
		left: 14px;
		width: 39px;
	}
	.nav span { top: 33px; }
	.nav::before { top: 25px; }
	.nav::after { bottom: 25px; }
	.nav.actived span { opacity: 0; }
	.nav.actived::before { top: 33px; transform: rotate(45deg); }
	.nav.actived::after { bottom: 33px; transform: rotate(-45deg); }
	/* × */
	@keyframes navt {
		0% { top: 25px; transform: rotate(0deg); }
		50% { top: 33px; transform: rotate(0deg); }
		100% { top: 33px; transform: rotate(45deg); }
	}
	@keyframes navb {
		0% { bottom: 25px; transform: rotate(0deg); }
		50% { bottom: 33px; transform: rotate(0deg); }
		100% { bottom: 33px; transform: rotate(-45deg); }
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* メニュー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.menu { text-align: left; }
	.menu > ul {
		display: flex;
		flex-wrap: wrap;
		gap: var(--margin-ms);
	}
	/* メインメニュー -------------------------------------------------------------------------------*/
	.menu .mainmenu > li { margin-top: 0; }
	/* サブメニュー ---------------------------------------------------------------------------------*/
	/*.menu .submenu > li { padding-left: 1em; }*/
	/* インフォメーション ---------------------------------------------------------------------------*/
	.global .info,
	.footer .info {
		pointer-events: none;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	/* 住所 */
	.global .address,
	.footer .address { text-align: left; }
	/* お問い合わせ */
	.global .contact,
	.footer .contact {
		position: absolute;
		right: 0;
		bottom: var(--margin-s);
	}
	.global .contact a,
	.footer .contact a { pointer-events: all; }
	/* インスタグラム */
	.global .instagram a,
	.footer .instagram a { pointer-events: all; }
	/* コピーライト */
	.global .copyright,
	.footer .copyright {
		margin-top: var(--margin-ss);
		text-align: left;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* グローバル -----------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.global .wrapper {
		min-height: 100%;
		position: relative;
	}
	.global .menu { padding-top: var(--margin-s); }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* フッター -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.footer .wrapper {
		position: relative;
		width: var(--wrapper);
	}
	.footer .menu {
		display: block;
		margin-top: var(--margin-l);
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* ページ ---------------------------------------------------------------------------------------*/
	.main .wp-pagenavi {
		column-gap: var(--margin-s);
		margin-top: 0;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	/* アーカイブ -----------------------------------------------------------------------------------*/
	.main .archive {
		background-color: transparent;
		border-top: none;
		border-bottom: none;
		position: static;
		width: 24%;
	}
	.main .archive.hide { transform: none; }
	/* 絞り込み */
	.main .archive h2 { display: none; }
	/* 見出し */
	.main .archive h3 {
		border-bottom: var(--color-border) solid 1px;
		padding-bottom: var(--margin-xs);
	}
	/* リスト */
	.main .archive .archivelist {
		max-height: none;
		padding: 0;
	}
	.main .archive .archivelist section:first-of-type { margin-top: 0; }
	.main .archive .archivelist li {
		margin-top: calc(var(--margin-xs) + var(--margin-xxs));
		padding-left: 0;
		text-indent: 0;
	}
	.main .archive .archivelist li li { padding-left: 1em; }
	.main .archive .archivelist li::before { content: none; }
	/* お知らせ（一覧） -----------------------------------------------------------------------------*/
	.main .articlelist .cat { top: 0; }
	.main .newslist { margin-top: calc(var(--margin-ss) + var(--margin-xs)); }
	/* 施工事例（一覧） -----------------------------------------------------------------------------*/
	.main .workslist {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--margin-l) var(--margin-s);
	}
	.main .workslist > li { width: calc((100% - var(--margin-s)) / 2); }
	/*-----------------------------------------------------------------------------------------------*/
}



@media(min-width: 1024px) {
	/*-----------------------------------------------------------------------------------------------*/
	/* メニュー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.global .info br,
	.footer .info br { display: none; }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* グローバル -----------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.global .menu { padding-top: var(--margin-l); }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* フッター -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.footer .wrapper {
		display: flex;
		column-gap: var(--margin-m);
	}
	.footer .menu {
		flex: 1;
		margin-top: 0;
	}
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* 施工事例（一覧） -----------------------------------------------------------------------------*/
	.main .workslist { column-gap: var(--margin-ms); }
	.main .workslist > li { width: calc((100% - var(--margin-ms)) / 2); }
	/*-----------------------------------------------------------------------------------------------*/
}



@media(min-width: 1280px) {
	/*-----------------------------------------------------------------------------------------------*/
	/* グローバル -----------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.global .menu > ul { justify-content: center; }
	.global .menu { padding-top: var(--margin-ll); }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* フッター -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.footer .wrapper {
		column-gap: var(--margin-l);
		width: 95%;
		max-width: 1280px;
	}
	.footer .menu > ul {
		justify-content: flex-end;
		gap: 0 var(--margin-ms);
	}
	.footer .info br { display: inline; }
	/*-----------------------------------------------------------------------------------------------*/

	/*-----------------------------------------------------------------------------------------------*/
	/* ボディー -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* 施工事例（一覧） -----------------------------------------------------------------------------*/
	.main .workslist { column-gap: var(--margin-m); }
	.main .workslist > li { width: calc((100% - var(--margin-m)) / 2); }
	/*-----------------------------------------------------------------------------------------------*/
}



@media(min-width: 1366px) {
	/*-----------------------------------------------------------------------------------------------*/
	/* フッター -------------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	.footer .menu > ul { gap: var(--margin-s); }
	/*-----------------------------------------------------------------------------------------------*/
}