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

common

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

#wpadminbar {
	top: auto;
	bottom: 0;
}

.custom-link-control {
	border-top: 1px solid #e0e0e0;
	padding: 16px 48px 16px 16px;
}

html {
	margin-top: 0 !important;
}

body {
	line-height: 2;
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	font-size: var(--wp--preset--font-size--16);
	font-feature-settings: 'palt';
	letter-spacing: 1px;
	min-width: 375px;
	box-sizing: border-box;
	right: 0;
	left: 0;
}

body * {
	box-sizing: border-box;
}

a {
	display: inline-block;
	transition: color .2s;
}

a img {
	transition: color .6s;
}

img {
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.6;
	font-weight: 600;
}

strong {
	color: var( --wp--preset--color--primary );
}

.en {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.ofi img {
	object-fit: cover;
	font-family: 'object-fit: cover;' /* ie */
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.line-clamp {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;  
	overflow: hidden;
}

/* clearfix */

.clearfix:before,
.clearfix:after {
	display: table;
	content: '';
}
.clearfix:after {
	clear: both;
}

.youtube {
	width: 800px;
	max-width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}

.g-map {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	height: 0;
}

.g-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.editor-styles-wrapper .g-map {
	width: auto;
	padding-top: 0;
	height: auto;
}

.editor-styles-wrapper .g-map iframe {
	position: relative;
	height: auto;
}

/* scrollbar */

/*
::-webkit-scrollbar {
	width: 5px;
	background: transparent;
}

::-webkit-scrollbar-track {
	box-shadow: none;
}

::-webkit-scrollbar-thumb {
	background-color: #ccc;
	box-shadow: none;
}
*/


@media ( min-width: 751px ) {

	.sp {
		display: none !important;
	}

	.editor-styles-wrapper .sp {
		display: block !important;
	}

}

@media ( max-width: 750px ) {

	.pc {
		display: none !important;
	}

	.pc-left {
		text-align: left;
	}

	.pc-left br {
		display: none;
	}

}


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

base

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

/* wp-block-post-content
---------------------------------------- */

.wp-block-post-content iframe {
	aspect-ratio: 16 / 9;
	max-width: 1000px;
	width: 100%;
	height: auto;
}

/* wp-block-embed
---------------------------------------- */

.wp-block-embed {
	max-width: 100% !important;
}

.wp-block-embed iframe {
	margin: 0 auto;
}

.wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* .wp-block-columns
---------------------------------------- */

@media ( max-width: 781px ) {

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 0 !important;
	}

}

@media ( max-width: 750px ) {

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
		padding-top: 0;
	}

}

/* wp-block-media-text
---------------------------------------- */

.wp-block-media-text {
	gap: 1em var(--wp--preset--spacing--30);
	grid-template-columns: 4fr 6fr !important;
}

.wp-block-media-text.has-media-on-the-right {
	grid-template-columns: 6fr 4fr !important;
}

.wp-block-media-text>.wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text>.wp-block-media-text__content p {
	margin: 0;
}

@media ( max-width: 750px ) {

	.wp-block-media-text,
	.wp-block-media-text.has-media-on-the-right {
		grid-template-columns: 1fr !important;
	}

	.wp-block-media-text>.wp-block-media-text__media,
	.wp-block-media-text>.wp-block-media-text__content {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media {
		grid-row: 1 !important;
	}

	.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
		grid-row: 2 !important;
	}

}

/* wp-block-code
---------------------------------------- */

.wp-block-code {
	border: none;
	border-radius: 0;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.8;
}

@media ( max-width: 750px ) {

	.wp-block-code {
		font-size: var(--wp--preset--font-size--12);
	}

}


/* wp-block-details
---------------------------------------- */

.wp-block-details summary {
	display: inline-block;
	list-style: none;
	font-size: var(--wp--preset--font-size--20);
	line-height: 1.5;
	position: relative;
	padding-right: 24px;
}

.wp-block-details summary::-webkit-details-marker { 
	display: none;
}

.wp-block-details summary::after {
	content: '';
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 10px solid var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 5px );
	right: 0;
}

.wp-block-details[open] summary::after {
	transform: rotate( 180deg );
}

.wp-block-details > * + * {
	margin-top: .5em;
}


/* wp-block-pullquote
---------------------------------------- */


.wp-block-pullquote {
	border-top: solid 2px var(--wp--preset--color--gray);
	border-bottom: solid 2px var(--wp--preset--color--gray);
	padding: var(--wp--preset--spacing--40) 0;
	position: relative;
	margin-top: 2em;
}

.wp-block-pullquote blockquote {
	font-size: var(--wp--preset--font-size--20);
}

.wp-block-pullquote blockquote::before {
	display: inline-block;
	content: '”';
	width: 64px;
	height: 48px;
	font-family: serif;
	font-size: 96px;
	line-height: 1;
	text-align: center;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
	position: absolute;
	top: -24px;
	left: calc(50% - 32px);
}

.wp-block-pullquote * {
	margin: 0;
}

.wp-block-pullquote blockquote > * + * {
	margin-top: 1em;
}

.wp-block-pullquote cite {
	font-size: var(--wp--preset--font-size--16);
	font-style: normal;
}

@media ( max-width: 750px ) {

	.wp-block-pullquote blockquote::before {
		width: 60px;
		height: 40px;
		font-size: 80px;
		top: -20px;
		left: calc(50% - 30px);
	}

}


/* wp-block-gallery
---------------------------------------- */

.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: inherit;
}


/* wp-block-file
---------------------------------------- */

.wp-block-file a {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--16);
}

.wp-block-file .wp-block-file__button {
	color: var(--wp--preset--color--base);
}

@media ( min-width: 751px ) {

	.wp-block-file .wp-block-file__button:hover {
		background-color: var(--wp--preset--color--base);
		color: var(--wp--preset--color--primary);
	}

}


/* wp-block-page-list
---------------------------------------- */

.wp-block-page-list {
	list-style: none;
	padding: 0;
	border-top: solid 1px var(--wp--preset--color--gray);
}

.wp-block-page-list > .wp-block-pages-list__item {
	border-bottom: solid 1px var(--wp--preset--color--gray);
}

.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link {
	display: block;
	color: var(--wp--preset--color--contrast);
	padding: 18px 40px 18px 0;
	position: relative;
}

.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link::after {
	font-family: 'Material Symbols Outlined';
	content: '\e5cc';
	line-height: 20px;
	color: var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 10px );
	right: 10px;
	transition: all .2s;
}

.wp-block-page-list .wp-block-navigation__submenu-container {
	list-style: none;
	padding: 0;
}

.wp-block-page-list .wp-block-navigation__submenu-container .wp-block-pages-list__item {
	width: 100%;
	border-top: solid 1px var(--wp--preset--color--gray);
}

.wp-block-page-list .wp-block-navigation__submenu-container .wp-block-pages-list__item__link {
	display: block;
	color: var(--wp--preset--color--contrast);
	padding: 18px 0 18px 40px;
	position: relative;
}

.wp-block-page-list .wp-block-navigation__submenu-container .wp-block-pages-list__item__link::before {
	content: '';
	width: 12px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: calc( 50% - 1px );
	left: 20px;
}

@media ( min-width: 751px ) {

	.wp-block-page-list .wp-block-pages-list__item__link:hover {
		color: var(--wp--preset--color--primary);
	}

	.wp-block-page-list > .wp-block-pages-list__item > .wp-block-pages-list__item__link:hover::after {
		right: 6px;
	}

}



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

slick

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

main .slick-track {
	display: flex;
	margin: 0 auto;
}

main .slick-dots {
	bottom: -60px;
}

main .slick-dots li,
main .slick-dots li button,
main .slick-dots li button:before {
	width: 32px;
	height: 32px;
	line-height: 32px;
	margin: 0;
}

main .slick-dots li button:before {
	font-size: 10px;
	transition: all .2s;
}

main .slick-dots li.slick-active button:before {
	color: var(--wp--preset--color--primary) !important;
}

main .slick-prev,
main .slick-next {
	width: 50px;
    height: 50px;
    top: calc(50% - 100px);
	transform: rotate(45deg);
	background-color: #000000;
	z-index: 1;
	transition: all .2s;
}

main .slick-prev {
	left: 15%;
}

main .slick-next {
	right: 15%;
}


main .is-style-slider-works .slick-next {
	right: -80px;
	transform: inherit;
}

main .is-style-slider-works .slick-prev:before,
main .is-style-slider-works .slick-next:before {
	transform: inherit;
}

main .is-style-slider-works .slick-prev:before {
    transform: rotate(180deg);
}

main .is-style-slider-works .slick-prev {
	width: 18px;
	height: 16px;
	left: -80px;
	transform: inherit;
}

main .is-style-slider-works .slick-prev,
main .is-style-slider-works .slick-next {
	background-color: transparent;
	top: inherit;
    transform: inherit;
}

@media screen and (max-width: 1200px) {
	main .slick-prev {
		left: 25px;
	}

	main .slick-next {
		right: 25px;
	}
	
}
@media screen and (max-width: 750px) {
	main .slick-prev,
	main .slick-next {
		background-color: transparent;
		top: 30%;
		width: 20px;
		height: 20px;
		transform: inherit;
	}
	main .slick-prev {
		left: -25px;
	}

	main .slick-next {
		right: -25px;
	}
	.rec-block .is-style-slider-posts .slick-slide, 
	.case-block .is-style-slider-posts .slick-slide {
		margin: 0;
	}
	main .slick-dots li,
	main .slick-dots li button,
	main .slick-dots li button:before {
		width: 20px;
    	height: 20px;
		line-height: 20px;
	}
	.slick-dots li button:before {
		color: #737373;
	}
	
}

main .slick-prev:before,
main .slick-next:before {
	content: "";
    width: 12px;
    height: 12px;
    background: url(../img/page/2x/arrow-01.png) center center / contain no-repeat;
    position: absolute;
    top: calc(50% - 5px);
    transform: rotate(-45deg);
    right: 17px;
	transition: all .3s;
}



main .slick-prev:before {
	transform: rotate(140deg);
	left: 17px;
}
main .is-style-slider-works .slick-prev:before {
	right: 0;
}

main .is-style-slider-works .slick-prev:before {
	left: 0px;
}

main .slick-dotted.slick-slider {
	margin-bottom: 90px;
}
@media screen and (max-width: 750px) {
	main .slick-prev,
	main .slick-next {
		top: 33%;
	}
	main .slick-next:before {
		width: 9px;
    	height: 8px;
		transform: rotate(0);
		right: 9px;
	}
	main .slick-prev:before {
		width: 9px;
    	height: 8px;
		transform: rotate(180deg);
		left: 9px;
	}
}

/* arrow-set */

main .arrow-set {
	padding-top: 80px;
}

main .arrow-set .slick-prev,
main .arrow-set .slick-next {
	position: absolute;
	top: 0;
	left: auto;
	transform: translateY( -80px );
}

main .arrow-set .slick-prev {
	right: calc( var(--wp--preset--spacing--10) + 56px );
}

main .arrow-set .slick-next {
	right: var(--wp--preset--spacing--10);
}

@media ( max-width: 750px ) {

	main .slick-dotted.slick-slider {
		margin-bottom: 48px;
	}

	main .slick-dots {
		bottom: -37px;
	}

	main .arrow-set {
		padding-top: 0;
	}

}

@media ( min-width: 751px ) {

	main .slick-prev:hover,
	main .slick-next:hover {
		opacity: .6;
	}

	main .slick-prev:hover {
		opacity: .6;
	}

	main .slick-dots li button:hover:before,
	main .slick-dots li button:focus:before {
		color: var(--wp--preset--color--secondary);
	}

}


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

layout

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

.contents-wrap.is-style-bg-line {
	padding: 3.8em var(--wp--preset--spacing--40);
}

.side-wrap {
	background-color: var(--wp--preset--color--secondary);
	border-radius: 5px;
	margin-top: 1.2em;
}

.side-wrap .cat-group {
	padding: 1.45em 1.25em
}

.side-wrap .cat-group + .cat-group {
	border-top: solid 1px var(--wp--preset--color--base);
	margin: 0;
}

.side-wrap .wp-block-categories {
	list-style: none;
	padding: 0;
	margin-top: .85em;
	position: relative;
}

.side-wrap .wp-block-categories::after {
	content: "";
	height: 1px;
	background-color: var(--wp--preset--color--base);
	position: absolute;
	right: -1.2em;
	bottom: 0;
	left: -1.2em;
}

.side-wrap .wp-block-categories:last-of-type:after {
	display: none;
}

.side-wrap .wp-block-categories a {
	display: block;
	color: var(--wp--preset--color--contrast);
	padding: 3px 20px 3px 0;
	position: relative;
}

.side-wrap .wp-block-categories a::after {
	font-family: 'Material Symbols Outlined';
	font-variation-settings:
		'FILL' 0,
		'wght' 200;
	content: '\e5cc';
	color: #333;
	width: 20px;
	font-size: 24px;
	line-height: 20px;
	text-align: center;
	position: absolute;
	top: calc( 50% - 9px );
	right: -5px;
	transition: all .2s;
}

.post-type-archive-item .sidebar,
.single-item .sidebar {
	padding-top: 12.5px;
}

.post-type-archive-item .title-03.wp-block-query-title,
.single-item .title-03.wp-block-query-title {
	margin-top: 12.5px;
}

.sidebar .post {
	padding: 0 !important;
}

.sidebar .post + .post {
	margin-top: 1.5em;
}

.sidebar .ttl {
	font-size: var(--wp--preset--font-size--16);
}

.thumb:has( > .default-image ) {
	border: solid 1px var(--wp--preset--color--gray) !important;
}

.sidebar .cont > p {
	padding: 18px 0;
}

.sidebar .cont-group {
	background-color: var(--wp--preset--color--base);
	border-radius: 5px;
	margin-top: 1.2em;
	overflow: hidden;
}

.sidebar .cont-group .wp-block-heading {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--19);
	padding: .4em 1em .6em;
}

.sidebar .cont-group .post-list {
	margin: 0;
}

.sidebar .cont-group .post-list .post {
	padding: 1.45em 1.25em !important;
	margin: 0;
}

.sidebar .cont-group .post-list .post + .post {
	border-top: solid 1px var(--wp--preset--color--secondary);
}

.sidebar .cont-group .post-list .thumb {
	box-shadow: none;
	margin-bottom: .5em;
}

.sidebar .cont-group .post-list .thumb:has( > .default-image ) {
	border: solid 1px var(--wp--preset--color--gray);
}

.sidebar .cont-group .post-list .txt {
	display: flex;
	flex-direction: column-reverse;
}

.sidebar .cont-group .post-list .date {
	font-size: var(--wp--preset--font-size--14);
}

.sidebar .cont-group .cat-menu {
	padding: 0 1.25em !important;
	margin: 0;
}


@media ( max-width: 1200px ) {

	.sidebar {
		flex-basis: 220px !important;
		font-size: var(--wp--preset--font-size--14);
	}

	.sidebar .wp-block-heading {
		font-size: var(--wp--preset--font-size--16);
	}

}

@media ( max-width: 1000px ) {

	.has-global-padding {
		padding-right: var(--wp--preset--spacing--40);
		padding-left: var(--wp--preset--spacing--40);
	}

	.has-global-padding :where(.has-global-padding:not(.wp-block-block)) {
		padding-right: 0;
		padding-left: 0;
	}

	:where(body .is-layout-flex) {
		gap: var(--wp--preset--spacing--20);
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.main-contents {
		flex-basis: calc( 100% - 1.5em - 200px ) !important;
		max-width: 100%;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.sidebar {
		flex-basis: 200px !important;
	}

	.has-global-padding > .alignfull {
		margin-right: calc( var(--wp--preset--spacing--40) * -1 );
		margin-left: calc( var(--wp--preset--spacing--40) * -1 );
	}

	.has-global-padding > .alignfull .alignfull {
		margin-right: 0;
		margin-left: 0;
	}

	.has-global-padding > .alignfull .alignfull.is-style-full-slider-posts {
		margin-left: calc(var(--wp--preset--spacing--40) * -1);
    	margin-right: calc(var(--wp--preset--spacing--40) * -1);
	}

	.has-global-padding > .alignfull .alignfull.img-block {
        margin-right: calc(var(--wp--preset--spacing--40) * -1);
        margin-left: calc(var(--wp--preset--spacing--40) * -1);
	}

	.side-wrap {
		display: grid;
		grid-template-columns: repeat( 3, 1fr );
		gap: var(--wp--preset--spacing--30);
	}

	.side-wrap .cat-group {
		border: none !important;
		width: 100%;
	}

	.side-wrap .wp-block-categories {
		border-top: solid 1px rgba( 0, 0, 0, 0.1 );
	}

	.side-wrap .wp-block-categories .cat-item {
		padding: .8em 0;
		border-bottom: solid 1px rgba( 0, 0, 0, 0.1 );		
	}

	.sidebar .cont-group .post-list .post {
		display: flex;
		align-items: center;
		gap: 1em;
		padding: var(--wp--preset--spacing--40) !important;
	}

	.sidebar .cont-group .post-list .thumb:has( > .default-image ) {
		width: 160px;
		margin: 0;
	}

}


@media ( max-width: 750px ) {

	.contents-wrap.is-style-bg-line {
		padding-top: 2.1em;
		padding-bottom: 2.1em;
		background: var(--wp--preset--color--secondary);
	}

	:where(body .is-layout-flow) > * {
		margin-block-start: 1.5em;
	}

	.has-global-padding > .alignfull .alignfull.is-style-full-slider-posts {
		margin: 0;
	}

	.sidebar {
		padding: 0;
		margin-right: calc( var(--wp--preset--spacing--40) * -1 ) !important;
		margin-left: calc( var(--wp--preset--spacing--40) * -1 ) !important;
	}

	.sidebar .wp-block-search {
		padding: 1.1em var(--wp--preset--spacing--40);
		background-color: var(--wp--preset--color--secondary);
	}

	.side-wrap {
		display: block;
		background-color: transparent;
		border-radius: 0;
		margin-top: 0;
	}

	.side-wrap .cat-group {
		padding: 0;
	}

	.side-wrap .wp-block-categories {
		margin: 0;
		border: none;
	}

	.side-wrap .wp-block-categories .cat-item {
		padding: 0;
	}

	.sidebar .wp-block-heading {
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--17);
		letter-spacing: .05em;
		line-height: 1.5;
		padding: .81em var(--wp--preset--spacing--40);
		border-bottom: solid 2px var(--wp--preset--color--primary);
	}

	.side-wrap .wp-block-categories a {
		font-size: var(--wp--preset--font-size--15);
		padding: 1.04em 3em 1.04em 3.8em;
	}

	.side-wrap .wp-block-categories a::before {
		content: "";
		width: 14px;
		height: 2px;
		background-color: var(--wp--preset--color--primary);
		position: absolute;
		top: calc( 50% - 1px );
		left: 35px;
		z-index: 99;
	}

	.side-wrap .wp-block-categories a::after {
		content: "";
		width: 18px;
		height: 18px;
		background: url(../img/page/2x/arrow-01-color.png) center center / contain no-repeat;
		position: absolute;
		top: calc( 50% - 9px );
		right: 20px;
		transition: all .2s;
	}

	.sidebar .cont-group {
		margin-right: var(--wp--preset--spacing--40);
		margin-left: var(--wp--preset--spacing--40);
	}

}

@media ( min-width: 751px ) {

	.side-wrap .wp-block-categories a:hover::after {
		right: -8px;
	}

}


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

post

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

.post {
	position: relative;
	transition: all .2s;
}

.wp-block-post-content .post a {
	color: #ffffff;
}

.post .post-wrap {
	padding: 3em;
	border-radius: 5px;
}

.thumb {
	overflow: hidden;
	line-height: .5;
	transition: all .2s;
}

.thumb img {
	width: 100%;
	height: auto;
	transition: all .6s;
}

.ttl {
	margin: 0;
	font-weight: normal;
	line-height: 1.5;
	transition: all .2s;
}

.meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 10px 0;
	min-height: 30px;
}

.meta .term,
.post-meta .term a,
.post-meta .wp-block-post-terms a {
	display: inline-block;
	font-size: var(--wp--preset--font-size--14);
	line-height: 1.5;
	padding: 5px 15px !important;
	color: var(--wp--preset--color--primary);
	border: solid 1px var(--wp--preset--color--primary) !important;
	margin-left: auto;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cat-list ul {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: 6px;
}

.cat-list li {
	line-height: .5;
}

.date,
.wp-block-post-date {
	font-family: var(--wp--preset--font-family--poppins);
	color: #ffffff;
}

.date .en {
	font-weight: normal;
}

.view-more a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	overflow: hidden;
	text-indent: -9999px;
}

.wp-block-post .more-wrap {
	margin: 0;
}

.wp-block-post .wp-block-read-more {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin: 0;
	padding: 3em;
	border: none !important;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	cursor: pointer;
}

.post-type-archive-works .wp-block-post .wp-block-read-more,
.tax-works-item-location .wp-block-post .wp-block-read-more,
.tax-construction .wp-block-post .wp-block-read-more,
.tax-works-construction .wp-block-post .wp-block-read-more {
	display: block;
    width: 100%;
	height: auto;
	position: unset;
	text-align: right;
	padding: 20px 0;
}

@media screen and (max-width: 750px) {
	.post-type-archive-works .wp-block-post .wp-block-read-more {
		padding: 10px 0;
	}
}

.wp-block-read-more .btn {
	transition: color .3s;
}

@media screen and (max-width: 750px) {
	.post-type-archive-works .post-list--thumb-meta .post-list.is-layout-grid .post-item .wp-block-post-title {
		max-width: initial;
	}
}

body.post-type-archive-works .post-title-meta .is-layout-flex,
body.tax-works-item-location .post-title-meta .is-layout-flex,
body.tax-construction .post-title-meta .is-layout-flex,
body.tax-works-construction .post-title-meta .is-layout-flex {
	gap: 10px;
}

.post-type-archive-works .post-list--thumb-meta .post-list .post-item .wp-block-post-terms a,
.tax-works-item-location .post-list--thumb-meta .post-list .post-item .wp-block-post-terms a,
.tax-construction .post-list--thumb-meta .post-list .post-item .wp-block-post-terms a,
.tax-works-construction .post-list--thumb-meta .post-list .post-item .wp-block-post-terms a {
	padding: 5px 10px;
}

.wp-block-postor-styles-wrapper .post .wp-block-read-more {
	pointer-events: none;
}

.wp-block-post .wp-block-read-more .btn {
	display: inline-block;
	position: relative;
	padding: .5em 0em .3em 1.5em;
	border-bottom: solid 1px var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
}

.wp-block-post .wp-block-read-more .btn::after {
	content: "";
    position: absolute;
    bottom: calc(50% - 10px);
    left: 0px;
    background-image: url(../img/page/2x/right-arrow-g.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 12px;
    height: 14px;
	transform: rotate(270deg);
	transition: left .3s;
}

.contents,
.wp-block-template-part:has( > .contents ) {
	margin-top: 0;
}

.main-contents > .title-03 {
	border-radius: 5px;
}

.contents-column {
	flex-direction: row-reverse;
	gap: var(--wp--preset--spacing--70);
	padding-bottom: 7.8em;
}

.is-style-bg-line .contents-column {
	padding-bottom: 0;
}

.contents-column .is-layout-grid {
	gap: var(--wp--preset--spacing--30);
}

.contents-column .is-layout-grid .post .post-wrap {
	padding: var(--wp--preset--spacing--30);
}

.wp-block-postents-wrap .is-layout-grid .post .wp-block-read-more {
	padding: var(--wp--preset--spacing--30);
}

.contents-column .is-layout-grid .meta {
	gap: var(--wp--preset--spacing--10);
}

.contents-column .is-layout-grid .wp-block-post-terms {
	gap: 5px !important;
}

.contents-column .is-layout-grid .post-contents {
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.contents-column .is-layout-grid .post-contents .img {
	line-height: 1;
}

.contents-column .is-layout-grid .wp-block-read-more {
	justify-content: center;
}

.contents-column .is-layout-grid .wp-block-post-excerpt {
	padding-bottom: var(--wp--preset--spacing--50) !important;
}

@media ( max-width: 1000px ) {

	.contents-column {
		flex-direction: column;
		padding-bottom: var(--wp--preset--spacing--80);
	}

}

@media ( max-width: 750px ) {

	#wpadminbar {
		display: none;
	}

	.meta .term,
	.post-meta .term a {
		padding: 5px 10px !important;
	}

	.wp-block-post .wp-block-read-more {
		justify-content: center;
	}

	.contents-column {
		gap: 3.3em;
		padding: 0;
	}

	.main-contents > .title-03 + .post-contents {
		margin-top: 1em;
	}

	.post .post-wrap {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 5em;
	}

	.wp-block-post .wp-block-read-more {
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) 2em;
	}

	.post .post-wrap .post-contents {
		gap: 1em !important;
	}

}


@media ( min-width: 751px ) {

	.post-list .wp-block-post:has( a:hover ) .thumb {
		background: var(--wp--preset--color--contrast);
	}

	.post-list .wp-block-post:has( a:hover ) img {
		transform: scale( 1.1 );
		opacity: .5;
	}

	.post-list .wp-block-post:has( a:hover ) .ttl {
		color: var(--wp--preset--color--primary);
	}
	.wp-block-read-more:hover .btn {
		color: var(--wp--preset--color--primary);
	}

	.wp-block-read-more:hover .btn::after {
		left: 5px;
	}

}

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

top-page

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


.page-template-wp-custom-template-no-page-header header {
	position: absolute;
	width: 100%;
}

.fv-box .wp-block-cover.fv-video-cover {
	padding-top: 0;
}

.fv-box .wp-block-cover.fv-video-cover video {
	object-fit: cover;
    transform: scale(1.2);
}

.fv-box .wp-block-cover.fv-video-cover .wp-block-cover__inner-container {
	position: initial;
}

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

page

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

.page-header {
	text-align: center;
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--gray) !important;
}

.page-header .wp-block-cover__inner-container {
	position: initial;
	text-align: center;
}

.page-header .ttl-wrap {
	display: inline-block;
	padding-top: 0;
	position: relative;
}

.page-header .page-ttl {
	font-size: var(--wp--preset--font-size--100);
	text-transform: capitalize;
	line-height: 1.1;
	position: relative;
}

.page-header .wp-block-post-title,
.page-header .wp-block-heading {
	font-size: var(--wp--preset--font-size--24);
	font-weight: normal;
	margin-block-start: 0;
	position: relative;
}

.page-header .default-image {
	display: none;
}

.tel-btn a {
	pointer-events: none;
}

.annotation .ttl {
	display: flex;
	justify-content: center;
	align-items: center;
}

.privacy-policy {
	max-height: 24rem;
	overflow: auto;
}

@media ( max-width: 750px ) {

	.page-header {
		min-height: 53vw !important;
	}

	.page-header .ttl-wrap {
		padding-top: .2em;
	}

	.tel-btn a {
		pointer-events: auto;
	}

}

/* 事業内容 */
/* .service-inner {
	padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
} */

.service-inner .post-list .thumb {
	aspect-ratio: 25 / 14;
}

.service-sec.is-style-bg-logo {
	padding-top: 5.4em !important;
}

/* 施工事例 */
.home .sec.works-sec {
	position: relative;
	overflow: hidden;
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 0 !important;
}
.works-sec::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	aspect-ratio: 1700 / 240;
	background-color: var(--wp--preset--color--gray) !important;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	top:  0;
}
@media screen and (max-width: 750px) {
	.home .sec.works-sec {
		padding-right: var(--wp--preset--spacing--40);
        padding-left: var(--wp--preset--spacing--40);
	}
	.home .sec.works-sec:has( #category ) {
		padding-bottom: 0 !important;
	}
	.works-sec::after {
		margin-left: -20px;
		top: -1px;
		width: 104%;
	}
	.works-sec .alignfull.img-txt {
		margin-right: calc(var(--wp--preset--spacing--40) * -1);
		margin-left: calc(var(--wp--preset--spacing--40) * -1);
	}
}
.works-sec .title-01 {
	align-items: baseline;
	margin-top: -238px;
    z-index: 2;
    transform: translateX(57px);
}

.works-sec .title-01 .wp-block-heading {
	padding: 23px 13px;
    transform: translate(4px, -12px);
    line-height: 1.15em;
}

.works-sec .title-01 .is-style-en {
	font-family: var(--wp--preset--font-family--noto-serif-jp) !important;
	transform: rotate(90deg) translateX(6px);
    padding: 12px 43px;
    font-weight: 600;    
	margin-left: -40px;
}

@media screen and (max-width: 750px) {
	.works-category-section-item img {
		height: 140px !important;
	}
}

.img-txt-list {
  	counter-reset: item;
}

.img-txt {
	position: relative;
  	counter-increment: item;
}

.img-txt:not(:first-child) {
	margin-top: 100px;
}
@media screen and (max-width: 750px) {
	.img-txt:not(:first-child) {
		margin-top: 38px;
	}
}

.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
	flex-basis: 47% !important; 
}
.information .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
	flex-basis: 240px !important; 
}
@media screen and (max-width: 780px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
    	flex-basis: 10% !important;
	}
}
.img-txt .txt-wrap {
	position: relative;
}

.img-txt .txt-wrap::before {
	position: absolute;
	content: "0" counter(item);
	line-height: 1;
	font-size: 200px;
	font-family: var(--wp--preset--font-family--dm-sans);
	color: #f5f5f5;
	z-index: -1;
}
@media screen and (max-width: 750px) {
	.img-txt .txt-wrap::before {
		font-size: 100px;
		font-weight: 500;
	}
}
.works-sec .category {
	margin: 0;
	padding: 0;
}

.has-global-padding > .alignfull.img-txt-list {
	margin: 80px 0 100px;
	padding: 0;
}
@media screen and (max-width: 750px) {
	.home .has-global-padding > .alignfull.img-txt-list {
		margin: 32px 0 0;
	}
	.has-global-padding > .alignfull.img-txt-list {
		margin-top: 40px;
		margin-right: calc(var(--wp--preset--spacing--40) * -1);
        margin-left: calc(var(--wp--preset--spacing--40) * -1);
	}
}

.img-txt .txt-wrap:nth-child(odd)::before {
	right: 0;
	top: 0;
}

.works-category-section-list {
	padding: 70px 20px;
}

.service-list-case .post-list.is-layout-grid {
	grid-template-columns: 1fr 1fr 1fr;
	padding-left: 0;
}
.works-category-section-list .post-list.is-layout-grid {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.works-category-section-list h3 {
	position: relative;
	font-family: 'Noto Serif', serif;
    letter-spacing: .1em;
	font-size: var(--wp--preset--font-size--20);
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    background-color: transparent;
    max-width: 100%;
    padding-right: 30px;
	padding: 9px 20px 9px 0;
    z-index: 9;
    margin-top: 8px;
}

.works-category-section-list h3::before {
	content: "";
    width: 11px;
    height: 10px;
    background: url(../img/page/2x/arrow-01.png) center center / contain no-repeat;
    position: absolute;
    top: calc(50% - 5px);
    right: 0px;
    transition: all .2s;
}

.service-list-case .wp-block-post .wp-block-read-more .btn {
	color: #ffffff;
	border-color: #ffffff;
}
.service-list-case .post-list.is-layout-grid .post-item .wp-block-post-title {
	color: #ffffff;
	text-align: left;
}
.service-list-case .wp-block-post .wp-block-read-more {
	display: block;
    width: 100%;
    height: auto;
    position: unset;
    text-align: right;
    padding: 20px 0;
}
.service-list-case .service-works a {
	color: #ffffff !important;
	padding: 5px 10px;
}
.service-list-case .case-list li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.service-list-case .service-works {
	gap: 1em;
	width: 100%;
}

.service-list-case .post-list.is-layout-grid .post-title-meta {
	margin-top: 20px;
}

.service-list-case .post-list .thumb img,
.service-list-case .post-list .thumb {
	aspect-ratio: 16 / 14;
}
@media screen and (min-width:751px) {
	.works-category-section-list a:hover h3::before {
		right: -5px;
	}
}
@media screen and (max-width: 750px) {
	.service-list-case .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
		grid-template-columns: 1fr 1fr;
		gap: 6px 20px;
	}
	.has-global-padding > .alignfull .alignfull.service-list-case {
		margin-right: calc(var(--wp--preset--spacing--40) * -1);
		margin-left: calc(var(--wp--preset--spacing--40) * -1);
		width: auto;
		padding: 20px 20px 15px 20px;
        max-width: inherit;
        margin-top: 40px !important;
        margin-block-end: 0px;
	}

	.post-list.num-list .thumb {
		aspect-ratio: 11 / 9.9;
	}

	.post-list.num-list .thumb img {
		height: 100%;
	}
	.has-global-padding > .alignfull.sec.service-sec {
		padding-top: 32px !important;
	}
	.has-global-padding > .alignfull.sec.service-sec .rec-block {
		margin-left: 20px;
        margin-right: 20px;
		margin-top: 2.3em;
	}
	.service-list-case .post-list.is-layout-grid {
		grid-template-columns: 1fr;
	}
	.works-category-section-list {
		padding: 40px 20px;
		margin-right: calc(var(--wp--preset--spacing--40) * -1) !important;
        margin-left: calc(var(--wp--preset--spacing--40) * -1) !important;
	}
	.works-sec .works-category-section-list .post-list.is-layout-grid {
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
}


/* 選ばれる理由 */
.sec.reason-sec {
	padding: 0;
	margin: 0;
}

.reason-sec .title-bg {
    padding: 8.5em 0 5em;
	margin: 0;
}
@media screen and (max-width: 1200px) {
	.reason-sec .title-bg {
		padding: 6.5em 20px;
	}
}

.reason {
	padding: 0;
	margin: 0;
}

.has-global-padding > .alignfull.reason-list {
	padding: 0;
	margin: 0;
	gap: 0;
	counter-reset: item;
}

.reason-item {
	min-height: 700px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0px 45px 20px;	
	counter-increment: item;
}

.reason-item .num {
	position: relative;
}

.reason-item .num::before {
	position: absolute;
	content: "0" counter(item);
	line-height: 1;
	font-size: 50px;
	font-family: var(--wp--preset--font-family--dm-sans);
	color: #ffffff;
	top: 27px;
}

.reason-item .num::after {
	content: "";
    position: absolute;
    left: calc(50% - 130px);
    top: -27px;
    background-repeat: no-repeat;
    background-size: contain;
    width: 260px;
    height: 160px;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjc2cHgiIGhlaWdodD0iMTQ4cHgiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLXdpZHRoPSIxcHgiIHN0cm9rZT0icmdiKDI1NSwgMjU1LCAyNTUpIiBmaWxsLW9wYWNpdHk9IjAiIG9wYWNpdHk9IjAuNTAyIiBmaWxsPSJyZ2IoMjU1LCAyNTUsIDI1NSkiIGQ9Ik0xMzguMDAwLDkuNTA5IEwyNjIuNDk5LDczLjEwMDAgTDEzOC4wMDAsMTM4LjQ5MCBMMTMuNTAxLDczLjEwMDAgTDEzOC4wMDAsOS41MDkgWiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLXdpZHRoPSIxcHgiIHN0cm9rZT0icmdiKDI1NSwgMjU1LCAyNTUpIiBmaWxsLW9wYWNpdHk9IjAiIG9wYWNpdHk9IjAuNTAyIiBmaWxsPSJyZ2IoMjU1LCAyNTUsIDI1NSkiIGQ9Ik0xMzguMDAwLDMuNTEwIEwyNzIuNDk5LDczLjEwMDAgTDEzOC4wMDAsMTQ0LjQ4OSBMMy41MDEsNzMuMTAwMCBMMTM4LjAwMCwzLjUxMCBaIi8+PC9zdmc+");
}
@media screen and (max-width: 750px) {
	.has-global-padding > .alignfull.reason-list {
		grid-template-columns: 1fr;
	}
	.reason-item {
		justify-content: space-between;
		min-height: 350px;
		padding: 45px 20px 35px;
	}
	.reason-item .num::after {
		left: calc(50% - 105px);
        top: -23px;
        width: 210px;
        height: 110px;
	}
	.reason-item h3 {
		margin-top: 42px;
	}
	.sec.reason-sec {
		margin-right: calc(var(--wp--preset--spacing--40) * -1);
        margin-left: calc(var(--wp--preset--spacing--40) * -1);
		padding: 0 !important;
	}
	.reason-sec.has-global-padding > .alignfull .alignfull.title-bg {
		padding: 54px 20px 27px;
	}
	.has-global-padding > .alignfull.reason-list p {
		margin-top: 10px;
    	font-size: 11px !important;
        margin-bottom: 26px;
	}
	.has-global-padding > .alignfull.reason-list .num {
		margin-top: 0px;
	}
	.reason-item .num::before {
		font-size: 36px;
		top: 22px;
	}
}

/* banner */
.contact-banner {
	margin-top: 0;
	padding: 80px 0 !important;
}
.contact-banner-text {
	position: relative;
	padding: 0 57px;
}
.contact-banner-text::before {
	content: "";
	position: absolute;
	background-color:  var(--wp--preset--color--primary);
	width: 3px;
	height: 100%;
	margin: 0;
	left: 25px;
}
.contact-banner-text h2 {
	letter-spacing: .08em;
}

@media screen and (max-width: 750px) {
	.contact-banner {
		padding: 41px 20px !important;
	}
	.contact-banner-text {
		padding: 0 20px;
	}
	.contact-banner-text::before {
		width: 2px;
		left: 5px;
	}
	.contact-banner-text h2 {
    	font-size: 18px !important;
	}	
	.contact-banner-text p {
    	font-size: 12px !important;
		margin-top: 5px !important;
	}
	.link-block {
		min-height: 100px !important;
	}
}
/* 1clm */

.link-block.clm01::before {
	content: "";
    position: absolute;
    width: 16px;
    height: 15px;
    background: url(../img/page/2x/arrow-01.png) center center / contain no-repeat;
    right: 40px;
    transition: all .2s;
    z-index: 5;
}
@media screen and (max-width: 750px) {
	.link-block.clm01::before {
		width: 10px;
    	height: 8px;
		right: 20px;
	}
}


.clm2-banner .link-block {
	position: relative;
}
.clm2-banner .link-block::before {
	content: "";
	position: absolute;
	border: solid 1px #ffffff;
	top: 10px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	z-index: 2;
}

.link-block-text {
	position: relative;
	z-index: 3;
}

.txt-bnr-m {
	margin: 0;
	max-width: 1600px !important;
}

.txt-bnr-m.is-layout-constrained .alignwide {
	max-width: 1600px !important;
    gap: 1em;
}
@media screen and (max-width: 750px) {
	.txt-bnr-m.is-layout-constrained .alignwide {
		gap: 20px;
	}
}

.clm2-banner .link-to-cover-and-group-blocks {
	position: relative;
}

.clm2-banner .link-to-cover-and-group-blocks::before {
	content: "";
	position: absolute;
	width: 11px;
	height: 10px;
	background: url(../img/page/2x/arrow-01.png) center center / contain no-repeat;
	bottom: 18px;
	right: 20px;
	transition: all .2s;
	z-index: 5;
}
.clm2-banner .link-to-cover-and-group-blocks::after {
	content: "";
	position: absolute;
	background-color: var(--wp--preset--color--primary);
	height: 50px;
	width: 50px;
	bottom: 0;
	right: 0;
	z-index: 4;
}

@media screen and (max-width: 750px) {
	.clm2-banner {
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
	.clm2-banner .txt-bnr-m {
		padding: 0 20px;
	}
	.clm2-banner .link-to-cover-and-group-blocks::after {
		width: 30px;
		height: 30px;
	}
	.clm2-banner .link-to-cover-and-group-blocks::before {
		bottom: 12px;
    	right: 11px;
	    width: 8px;
    	height: 7px;
	}
	.clm2-banner .link-block::before {
		right: 5px;
		left: 5px;
		top: 5px;
		bottom: 5px;
	}
	.clm2-banner .is-style-en {
		font-size: 12px !important;
	}
}

/* エリア */


.area-list ul {
  	list-style: none;
	padding: 7px 0 21px;
 	margin: 0;
}

.is-style-bg-map .cat-item a {
	position: relative;
	font-size: var(--wp--preset--font-size--24);
	background-color: #f5f5f5;
	padding: 10px 30px;
	width: 100%;
}

.cat-item a {
	position: relative;
	font-size: var(--wp--preset--font-size--20);
	padding: 10px 30px;
	width: 100%;
}

.is-style-bg-map .cat-item a::before {
	content: "";
	position: absolute;
	background-color: var(--wp--preset--color--primary);
	height: 54%;
	transform: translateY(3px);
	width: 4px;
	left: 0px;
}

.children .cat-item a {
	font-size: var(--wp--preset--font-size--16);
	background-color: transparent;
	width: auto;
	padding: 10px 30px 10px 0;
}

.children .cat-item a::before {
	content: none;
}

.children .cat-item:not(:last-child) a::before {
	content: "／";
	font-size: var(--wp--preset--font-size--16);
	background: transparent;
	display: inline-block;
	right: 14px !important;
	transform: inherit;
	left: inherit;
}

.area-list {
	display: flex;
	max-width: 680px;
	margin-left: 0 !important;
	padding: 50px 48px;
    flex-direction: column;
    width: 100%;
    gap: 15px;
}
@media screen and (max-width: 1000px) {
	.area-list {
		max-width: 68%;
	}
	.area-list ul {
		padding: 7px 0 12px;
		letter-spacing: .0em !important;
	}
}

.area-category-select {
	margin-top: 0;
	width: 100%;
}


.area-category-select-title-top {
	position: relative;
    font-size: var(--wp--preset--font-size--24);
	font-weight: 500;
    background-color: #f5f5f5;
    padding: 10px 30px;
    width: 100%;
}
.area-category-select-title-second {
	display: inline-block;
    padding: 5px 9px;
    line-height: 1;
    margin-top: 20px;
    margin-block-start: 24px !important;
}

.area-category-select-title-top::before {
	content: "";
    position: absolute;
    background-color: var(--wp--preset--color--primary);
    height: 49%;
    transform: translateY(10px);
    width: 4px;
    left: 0px;
}

.area-category-select ul {
	display: flex;
    flex-wrap: wrap;
}
.area-category-select ul:last-child {
	padding-bottom: 0;
	padding-top: 18px;
}

.area-category-select ul:not(:last-child) {
	border-bottom: solid 1px #f5f5f5;
}

.area-category-select li {
	margin-top: 0;
}

.area-category-select-title {
	line-height: 1;
	margin: 5px 0;
}

.area-category-select-title a {
	position: relative;
	font-size: var(--wp--preset--font-size--16);
    background-color: transparent;
    width: auto;
    padding: 0px 17px 0px 0;
	font-weight: 400;
	color: #111111;
}

.area-category-select li:not(:last-child) a::before {
	content: "／";
	position: absolute;
	font-size: var(--wp--preset--font-size--16);
	background: transparent;
	display: inline-block;
	right: 0px !important;
	transform: inherit;
	left: inherit;
}

.area-category-select-group {
	margin-top: 0px;
}
.area .wp-block-query {
	margin: 0;
}

@media screen and (max-width: 750px) {
	.has-global-padding > .alignfull.area {
		padding: 0 20px;
		background-color: #fafafa;		
	}
	.area-list {
		padding: 15px 20px 20px;
		margin-top: 70%;
		max-width: 100%;
		gap: 18px;
	}
	.area-list .cat-item .children {
		display: none;
		padding-bottom: 10px;
	}

	.area-category-select-group {
		display: none;
	}

	.area-category-select-title-top {
		padding: 8px 17px 9px;
		width: 100%;
		font-size: 16px !important;
	}
	.area-category-select-title-top::before {
		transform: translateY(4px);
    	width: 3px;
	}

	.area-category-select-title-second {
		padding: 6px 7px;
		margin-top: 14px;
		margin-block-start: 16px !important;
		font-size: 14px !important;
	}

	.area-category-select-title {
		margin: 5px 0 2px;
	}

	.area-category-select ul:last-child {
		padding-bottom: 4px;
    	padding-top: 8px;
	}

	.accordion-btn {
		position: absolute;
		right: 15px;
		background-color: #5ca33b;
		width: 25px;
		height: 25px;
		display: inline-block;
		cursor: pointer;
		margin-top: 0;
		padding: 0 6px;
        transition: transform 0.2s;
        top: 12px;
	}

	.accordion-btn::before {
		content: '';
		background-color: #ffffff;
		position: absolute;
		top: 47%;
		left: 5px;
		width: 60%;
		height: 2px; 
		transform: translateY(-50%);
	}

	.accordion-btn::after {
		content: '';
		position: absolute;
		top: 5px;
		left: 12.5px;
		width: 2px;
		height: 60%;
		background-color: #ffffff;
		transform: translateX(-50%);
		transition: transform 0.3s, opacity 0.3s;
	}
	.accordion-btn.is-open::after {
		transform: translateX(-50%) rotate(90deg);
		opacity: 0;
	}
}

/* 751px以上はボタン非表示 */
@media (min-width: 751px) {
  .accordion-btn {
    display: none;
  }
}


/* コラム */
.sec.column-sec{
	padding-top: 5.5em !important;
    padding-bottom: 7.5em !important;
}
.home .sec.column-sec .wp-block-post-date {
	margin-block-start: 0.7em !important;
}

.column-sec .taxonomy-category.wp-block-post-terms {
	margin-block-start: 0.7em;
}
.column-sec .taxonomy-category a {
	position: absolute;
	top: 0;
	left: 0;
	border: none;
	background-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

.column-sec .ttl-wrap {
	margin-bottom: 86px;
	align-items: flex-end;
}

.column-sec .is-style-full-slider-posts .slick-slide {
	margin: 0 25px;
}

.column-sec .slick-dots {
	display: none !important;
}
@media screen and (max-width: 750px) {
	.column-sec .slick-dots {
		display: block !important;
		bottom: -33px;
	}
}

.column-sec .is-style-full-slider-posts .post-list.slick-slider {
	margin-bottom: 10px;
}

.column-sec h2 {
	margin-top: 0;
	font-size: 20px !important;
	font-weight: 500;
}

.column-item {
	overflow: hidden;
}

.column-item img{
	aspect-ratio: 16 / 12;
}

@media screen and (max-width: 750px) {
	.column-sec h2 {
		margin-top: 2px;
		font-size: 16px !important;
		letter-spacing: .06em;	
	}
	.sec.column-sec {
		padding-top: 2.2em !important;
		padding-bottom: 2.9em !important;
	}
	.column-sec .ttl-wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.5em;
		margin-bottom: 32px;
	}
	.has-global-padding > .alignfull .alignfull.column-item {
		padding: 0 20px 20px;
	}
	.column-sec .is-style-full-slider-posts .slick-slide {
		margin: 0;
	}
	main .column-sec .slick-prev {
		left: -30px;
	}
	main .column-sec .slick-next {
		right: -30px;
	}
	main .column-sec .slick-prev:before,
 	main .column-sec .slick-next:before {
		width: 10.5px;
		height: 12.5px;
		transform: rotate(0);
	}
	main .column-sec .slick-prev:before {
		left: 11px;
		transform: rotate(180deg);
	}
	main .column-sec .slick-next:before {
		right: 11px;
	}
	.column-sec .wp-block-post-date {
		margin-block-start: 1em;
	}
	.home .sec.column-sec .wp-block-post-date time {
		font-size: 13px;
	}
	.sec.column-sec .wp-block-buttons.sp{
		margin-top: 43px;
	}

}

/* parts */
.lead-item {
	margin-top: 6vw;
	z-index: 2;
}
.lead-item.over {
	margin-top: 3vw;
}

.lead-item .lead-text-box {
    margin-top: -20px;
	padding: 40px 50px;
}
.lead-item h3 {
	position: relative;
	z-index: 2;
}
.lead-item h3::before {
	content: "";
	position: absolute;
	left: calc(50% - 0.5px);
	top: -60px;
	background-color: #5ca33b;
	width: 1px;
	height: 50px;
}
@media screen and (max-width: 1050px) {
	.lead-item .lead-text-box {
		padding: 40px 30px;
	}
}
@media screen and (max-width: 750px) {
	.lead-item .lead-text-box {
		margin-top: -15px;
	}
	.lead-item {
		margin-top: 20vw;
	}
	.lead-item h3::before {
		height: 30px;
		top: -30px;
	}
	.lead-item .lead-text-box {
		padding: 30px 20px;
    	font-size: 14px;
	}
	.lead-item .lead-text-box:has(.is-style-check-item) {
		padding: 30px 20px;
	}
}

.detail-contents {
 	gap: 90px;
	margin-top: 92px;
}
.detail-list {
	width: 100%;
	padding-top: 10px;
}
.detail-item {
	width: 100%;
	border-bottom: solid 1px #f5f5f5;
    padding: 41px 0 42px;
	margin-top: 0;
}
.detail-item:first-child {
	border-top: solid 1px #f5f5f5;
}
.detail-item h3 {
	max-width: 219px;
	width: 100%;
	text-align: center;
}



.detail-item h3 strong {
	font-weight: 500;
}


.works-img {
	background: linear-gradient(135deg, #3e3e3f, #000000);
	position: relative;
	overflow: hidden;
	padding: 69px 0 125px;
}

.works-img::before {
  content: "";
  position: absolute;
  top: 400px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  clip-path: polygon(0 47%, 100% 10%, 100% 100%, 0 100%);
}

.works-img::after {
	content: "";
	position: absolute;
	background-image: url(../../assets/img/page/2x/bg-logo-b.png);
	background-position: right -800px top 64%;
	background-size: 120%;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: .25;
	background-repeat: no-repeat, repeat;
}

@media screen and (max-width: 1240px) {
	.works-img {
		padding: 80px 20px;
	}
}

@media screen and (max-width: 750px) {
	.works-img {
		padding: 30px 20px;
	}
}
.works-deco-text {
	position: relative;
}
.works-deco-text::before {
	content: "Works";
	position: absolute;
	font-size: 280px;
    top: 122px;
    left: -286px;
	color: #ffffff;
	transform: rotate(90deg);
	opacity: .1;
	z-index: 2;
	background-repeat: no-repeat, repeat;
}

.works-img-column {
	position: relative;
	z-index: 2;
	margin-top: 22px;
	gap: 30px;
}

.works-img .is-style-heading-05:not(:first-child) {
	margin-top: 70px;
}
@media screen and (max-width: 750px) {
	.detail-contents {
		flex-direction: column;
	}
	.detail-item {
		flex-direction: column;
		gap: 10px;
		padding: 25px 0;
	}
	.detail-item h3 {
		max-width: 100%;
	}
	.works-img .slick-slide {
		max-height: 300px;
		padding: 0 20px;
		margin: 0 auto;
	}

	.works-img .slick-slide img {
		max-height: 300px !important;
    	object-fit: contain;
	}
	.works-img figure.slick-slide {
		max-width: 300px;
	}

	.works-img .is-style-slider-works .slick-prev,
	.works-img .is-style-slider-works .slick-next {
		top: 50%;
	}


	.works-img .is-style-slider-works-nav figure.slick-slide {
		padding: 0;
		max-width: inherit;
	}
	.works-img .is-style-slider-works-nav .slick-slide img {
		max-height: inherit !important;
	}
}

.addtoany_share_save_container {
	display: none;
}

.category-list-bg {
    padding: 50px;
	margin-block-start: 50px !important;
}
@media screen and (max-width: 1000px) {
	.category-list-bg {
		padding: 30px;
	}
}

.category-list ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
	padding-left: 0;
}

.category-list ul li {
	background-color: #ffffff;
}

.category-list ul a {
	position: relative;
	color: #111111;
	padding: 10px 15px;
	transition: .3s;
}
@media screen and (max-width: 1000px) {
	.category-list ul a {
		font-size: 16px;
		line-height: 1;
	}
}

.category-list ul a::before {
	position: relative;
	content: "#";
	color: #5ca33b;
	font-size: 20px;
	transition: .3s;
}

@media screen and (max-width: 750px) {
	.category-list-bg {
		padding: 20px;
		margin-block-start: 30px !important;
	}
	.category-list ul a {
		font-size: 14px;
		padding: 2px 9px;
    	line-height: 1;
	}
	.category-list ul a::before {
		font-size: 14px;
	}
	.category-list {
		margin-block-start: 1.4em;
	}
}

.flow-sec-page {
	padding-bottom: 0;
}

.flow-contents-side {
  	counter-reset: flow-number;
	padding: 5rem 0 7.5em;
}

.home .sec.flow-sec {
	padding-top: 83px;
	padding-bottom: 95px;
}

.flow-contents-side::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(../img/page/2x/flow-bg.png);
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.flow-contents-side .wp-block-image {
	width: 300px;
	height: 200px;
	aspect-ratio: 3 / 2;
}

.flow-contents-side img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.flow-item {
  	counter-increment: flow-number;
	padding: 40px 17px 34px 60px;
}
.flow-item .num {
	position: relative;
	line-height: 1;
	margin-top: -60px;
	padding-bottom: 30px;
	transform: translate(-45px, -3px);
}
.flow-item .num.one {
	transform: translate(-38px, -2px);
}

.flow-item .num.seven {
	transform: translate(-38px, -2px);
}
.flow-item .num::after {
	content: counter(flow-number);
	font-family: var(--wp--preset--font-family--dm-sans) !important;
	font-size: 80px;
	position: absolute;
    left: -3px;
    top: 13px;
}
.flow-item .num.one::after {
	left: 5px;
}
.flow-wrap {
	margin-top: 0;
	align-items: center;
}
.flow-item::before {
	content: "";
	position: absolute;
	inset: 0;
	left: 8px;
    top: 1px;
    height: 80px;
	width: 80px;
	background: #ffffff;
	z-index: 2;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.flow-item::after {
	content: "";
	position: absolute;
	top: 10px;
    left: 80px;
    width: 96px;
	height: 2px;
	background: #6bbf59;
	transform: rotate(135deg);
	transform-origin: left top;
	z-index: 3;
}
.flow-wrap-text-box {
	z-index: 3;
}

.flow-contents-side .title-01 {
	margin-bottom: 77px;
}

.flow-wrap-text-box p {
	margin-top: 25px;
}
.flow-box {
	position: relative;
	margin-top: 50px;
}
.flow-box:not(:last-child)::before {
	content: "";
	position: absolute;
	bottom: -31px;
	left: calc(50% - 6px);
	background-image: url(../img/page/2x/right-arrow-g.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 12px;
	height: 14px;
}
@media screen and (max-width: 1200px) {
	.flow-contents-side {
		padding: 10rem 20px;
		margin-right: calc(var(--wp--preset--spacing--40) * -1) !important;
        margin-left: calc(var(--wp--preset--spacing--40) * -1) !important;
	}
}

@media screen and (max-width: 750px) {
	.home .sec.flow-sec {
		padding-top: 42px;
		padding-bottom: 24px;
	}
	.flow-sec .ttl-wrap {
		justify-content: center !important;
		margin-bottom: 35px;
	}
	.flow-item {
		padding: 70px 15px 20px 15px;
	}
	.flow-wrap {
		flex-direction: column-reverse;
		z-index: 2;
		position: relative;
	}
	.flow-contents-side {
		padding: 5rem 0;
		margin: 0 !important;
	}
	.flow-item .num {
		transform: inherit;
	}
	.flow-contents-side .wp-block-image {
		width: 100%;
	}
	.flow-box {
		padding: 0 20px;
	}
	.has-global-padding > .alignfull.sec.flow-sec-page {
		padding: 0 !important;
	}
	.flow-contents-side::before {
		background-image: url(../img/page/2x/flow-bg-sp.png);
	}
	.has-global-padding > .alignfull.sec.flow-sec-page .title-01 {
		padding: 0 20px;
	}
	.flow-item .num {
		transform: translate(-15px, -35px);
	}
	.flow-item .num::after {
		left: 0px;
		font-size: 60px;
	}
	.flow-item .num.one {
		transform: translate(-15px, -35px);
	}
	.flow-item::before {
		left: 0px;
		top: 2px;
		height: 50px;
		width: 50px;
	}
	.flow-item .num.one::after {
		left: 4px;
		top: 12px;
	}
	.flow-item::after {
		top: 1px;
		left: 52px;
		width: 74px;
	}
	.flow-sec .wp-block-buttons.sp {
		margin-top: 30px;
	}
}

.sns-item {
	width: 60px;
    height: 234px;
    position: absolute !important;
    right: 0;
    bottom: 0;
	background-color: #181817CC !important;
}
.sns-item figure {
	margin-top: 20px;
}
.sns-item a {
	transition: opacity .3s;
}
@media screen and (min-width: 751px) {
	.sns-item a:hover {
		opacity: .3;
	}
}
@media screen and (max-width: 750px) {
	.sns-item {
		width: 50px;
    	height: 184px;
	}
	.sns-item figure {
		transform: scale(.8);
		margin-top: 10px;
	}
}
/* エリアページの事業内容 */

.area-content {
	padding: 0;
}
.area-services .post-list.is-layout-grid {
	grid-template-columns: repeat(3, 1fr);
	max-width: 1600px !important;
}

.area-services {
	max-width: 1600px !important;
}

.area-services .post-list .thumb {
    aspect-ratio: 25 / 14;
}

.area-services .post-list p {
	text-align: left;
}

.area-services ul {
	list-style: none;
}

.sec.area-works-sec {
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
}

.area-works {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0 !important;
}

.area-services .post-list.is-layout-grid .post-item .wp-block-post-title {
	position: relative;
    font-size: var(--wp--preset--font-size--28);
    font-weight: normal;
    font-family: 'Noto Serif', serif;
    letter-spacing: .1em;
    background-color: #000000;
    color: #ffffff;
    max-width: 280px;
    margin-top: -33px;
    padding: 9px;
    z-index: 9;
}

.post-type-archive-works .post-list.is-layout-grid .post-item .wp-block-post-title {
	text-align: left;
}

.page-title,
.page-title-contents p {
	display: inline-block;
}

.page-title {
	font-weight: 400;
}

.page-title-contents p {
    margin-left: -4px !important;
	margin-top: 0 !important;
}

.page-title-contents {
	padding-left: 20px;
    font-family: var(--wp--preset--font-family--noto-sans-jp);
}

.page-title-contents::before {
	content: "";
    width: 12px;
    height: 2px;
    background: var(--wp--preset--color--primary);
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
}

.area-content.has-global-padding > .alignfull {
	margin: 0;
}

.area-content.has-global-padding > .alignfull.area-works-sec {
	padding-left: 0;
	padding-right: 0;
}

.title-main .page-title-contents  {
	text-align: center;
    font-size: 50px !important;
    width: 100%;
	line-height: 1.2;
}

.title-main .page-title {
	position: relative;
	color: var(--wp--preset--color--primary);
}

.title-main .page-title-contents::before {
	content: "";
	top: inherit;
	width: 50px;
	height: 5px;
	bottom: -32px;
    left: calc(50% - 25px);
}

.title-main .page-title-contents p:last-child {
	display: block;
	margin: 0 auto !important;
}

@media screen and (max-width: 750px) {
	.area-content.has-global-padding > .alignfull.area-works-sec {
		padding-right: var(--wp--preset--spacing--40);
        padding-left: var(--wp--preset--spacing--40);
	}
	.area-content.has-global-padding > .alignfull {
		padding-left: 20px;
		padding-right: 20px;
	}
	.area-content.has-global-padding > .alignfull.clm2-banner {
		padding-left: 0px;
		padding-right: 0px;
	}
	.area-content.has-global-padding > .alignfull.contact-banner {
		padding: 30px 20px;
	}
	.title-main .page-title-contents {
		font-size: 25px !important;
	}
	.area-services .post-list.is-layout-grid {
		grid-template-columns: 1fr;
		padding: 0;
	}
	.area-content-reason {
		padding-left: 20px;
		padding-right: 20px;
	}
}
