@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root {
	--color-background: #fff;
	--color-font: #444;
	--color-primary: #444;
	--color-primary-shade: #020202;
	--color-primary-tint: #999;
	--color-secondary: #EFEFEF;
	--color-secondary-tint: #D9D9D9;
	--color-table-border: #ccc;
	--body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
	--body-font-family: 'Zen Kaku Gothic New', sans-serif;
	--content-max-width: 1240px;
	--header-background: #fff;
	--header-color-font: #444;
	--header-color-primary: #111;
	--header-color-primary-shade: #111;
	--header-color-primary-tint: #aaa;
	--footer-background: #444;
	--footer-color-font: #fff;
	--footer-color-primary: #fff;
	--font-family01: 'Zen Kaku Gothic New', sans-serif;
	--font-family02: 'Playfair Display', 'Zen Kaku Gothic New', sans-serif;
	--px24w: min(calc(24px + (1vw - 19.2px) * 0.3883), 24px);
}

body {
	position: relative;
	font-weight: 500;
}

body.home {
	&::before {
		content: "";
		background: url(/wp-content/uploads/bgimg_06.jpg.webp) no-repeat top left;
		background-size: cover;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 20%;
		max-height: 1260px;
	}
}

/*=============================================
header
=============================================*/

nav#mainNav ul li a b {
	font-weight: 500;
}

@media print,
screen and (min-width: 1024px) {
	#header {
		background: transparent;
		height: 100px;
	}

	body:not(.home) #header {
		background: transparent;
	}

	#header .logo {
		padding: 5px 20px;
		margin-left: 0;
	}

	#header .logo img {
		-o-object-fit: contain;
		object-fit: contain;
		width: 100%;
		height: 100%;
		max-width: 500px;
		max-height: 80px;
	}

	.sticky-header #header-layout {
		background: transparent;
	}

	nav#mainNav ul li a {
		padding: var(--px20) var(--px16);
	}

	nav#mainNav ul li:first-child a {
		padding-left: var(--px30);
	}

	nav#mainNav ul li a b,
	nav#mainNav ul li a span {
		margin-top: 0;
		font-weight: 500;
	}

	nav#mainNav ul li li a:hover,
	nav#mainNav ul li li.current-menu-item a,
	nav#mainNav ul li li.current-menu-item li a:hover,
	nav#mainNav ul li.current-menu-item li a:hover,
	nav#mainNav ul li.current-menu-ancestor li.current-menu-item a,
	nav#mainNav ul li.current-menu-ancestor li a:hover {
		background: var(--header-background);
	}

	nav#mainNav ul li a:active,
	nav#mainNav ul li a:hover {
		background: transparent;
	}

	nav#mainNav ul li a:active,
	nav#mainNav ul li a:hover,
	nav#mainNav ul li.current-menu-ancestor a,
	nav#mainNav ul li.current-menu-item a,
	nav#mainNav ul li.current-menu-parent a {
		background: transparent;
	}

	nav#mainNav ul li.current-menu-item a b,
	nav#mainNav ul li a:hover b,
	nav#mainNav ul li a:active b,
	nav#mainNav ul li.current-menu-parent a b,
	nav#mainNav ul li a:active span,
	nav#mainNav ul li a:hover span,
	nav#mainNav ul li.current-menu-item a span,
	nav#mainNav ul li.current-menu-parent a span {
		color: var(--header-color-primary);
	}

	.sticky-header #header>.inner {
		background: transparent;
		-webkit-box-shadow: none;
		box-shadow: none;
	}

	nav#mainNav ul li a:hover {
		color: var(--header-color-primary);
		background: transparent;
	}

	.header__nav-contact {
		background: #ffffffa3;
		-webkit-backdrop-filter: blur(20px);
		backdrop-filter: blur(20px);
	}

	#header ul.header__contact {
		gap: 8px;
	}

	#header ul.header__contact li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	#header a.head_btn::before {
		content: none;
	}

	#header a.head_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 10px;
		position: relative;
		width: 100%;
		min-width: 160px;
		height: auto;
		min-height: 73px;
		font-size: var(--px18);
		font-weight: 500;
		font-family: var(--font-family01);
		letter-spacing: .01em;
		text-align: center;
		color: var(--header-font);
		padding: var(--px16) var(--px30);
		margin: 0;
		background: transparent;
		border-radius: 0;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		transition: 0.3s all;

		&.tel_btn {
			font-size: var(--px24);
			color: var(--header-color-font);
			background: transparent;
			display: block;

			.note,
			.note b {
				font-size: 12px;
				font-weight: 500;
				text-align: left;
			}

			i {
				margin-right: 4px;
			}

			&::before {
				content: none;
			}

			&:hover {
				opacity: 1;
				background: #eee;
				text-decoration: none;
			}
		}

		&.mail_btn {
			font-size: var(--px18);
			color: var(--header-color-font);
			position: relative;

			&::before,
			&::after {
				content: "";
				position: absolute;
				height: 70%;
				width: 1px;
				background: var(--header-color-font);
				top: 50%;
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				transform: translateY(-50%);
			}

			&::before {
				left: -4px;
			}

			&::after {
				right: -4px;
			}
		}

		&::before {
			font-size: 20px;
		}

		&:hover {
			opacity: 1;
			background: #eee;
			text-decoration: none;
		}
	}
}

@media print,
screen and (max-width: 1400px) {
	#header a.head_btn {
		min-width: auto;
	}

	nav#mainNav ul li a {
		padding: var(--px20) var(--px12);
		font-size: var(--px14);
	}

	#header a.head_btn {
		font-size: var(--px14);
		padding: var(--px16);
	}
}

@media print,
screen and (max-width: 1023px) {
	nav#mainNav ul li a {
		padding: 15px 10px;
		font-size: var(--px16);
	}
}

.spmenu #menu p {
	color: var(--color-font);
}

.spmenu #menu span,
.spmenu #menu span:before,
.spmenu #menu span:after {
	width: 35px;
	-webkit-transform: translate(-50%, 0) rotate(0);
	-ms-transform: translate(-50%, 0) rotate(0);
	transform: translate(-50%, 0) rotate(0);
	left: 50%;
	height: 1px;
	background: var(--color-font);

}

.spmenu #menu.menuOpen span {
	height: 1px;
	-webkit-transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
	-ms-transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
	transform: translate(-50%, calc(50% + 5px)) rotate(-45deg);
}

.spmenu #menu.menuOpen span::before {
	-webkit-transform: translate(-50%, 0) rotate(90deg);
	-ms-transform: translate(-50%, 0) rotate(90deg);
	transform: translate(-50%, 0) rotate(90deg);
	bottom: auto;
}

.spmenu #menu.menuOpen span::after {
	opacity: 0;
	-webkit-transform: translate(-50%, 0) rotate(45deg);
	-ms-transform: translate(-50%, 0) rotate(45deg);
	transform: translate(-50%, 0) rotate(45deg);
	bottom: auto;
}

@media only screen and (max-width: 1023px) {
	body.mobile nav#mainNav a.menuOpen {
		background-image: none;
		border: none;
		border-top: 1px solid #ddd;
	}

	body.mobile nav#mainNav ul li li a.menuOpen {
		background: rgba(255, 255, 255, 1) url(/wp-content/themes/mrp/images/sub1.png) no-repeat 30px 50%;
		color: var(--header-color-font);
		padding-left: 43px;
	}

	body.mobile nav#mainNav ul li li:last-child a.menuOpen {
		background: rgba(255, 255, 255, 1) url(/wp-content/themes/mrp/images/subLast.png) no-repeat 30px 50%;
		color: var(--header-color-font);
		padding-left: 40px;
	}
}

/*=============================================
footer
=============================================*/

#footer .socialicon .fa-facebook:before,
#footer .socialicon .fa-twitter:before,
#footer .socialicon .fa-youtube:before,
#footer .socialicon .fa-instagram:before,
#footer .socialicon .fa-x-twitter:before,
#footer .socialicon .fa-line:before,
#footer .socialicon .fa-tiktok:before {
	color: var(--footer-color-primary);
	font-size: var(--px24);
}

#footer .footer__logo img {
	max-width: 320px;
	max-height: var(--px120);
}

/*======================================================
					front TOP
======================================================*/

.post .front_contents {

	padding: 0;

	/* --- Inner Reset --- */
	h2 {
		margin: 0;
		padding: 0;
		border: none;
		background: none;
		font-family: var(--font-family01);
		line-height: 1.4;

		&::before,
		&::after {
			content: none;
			display: none;
		}
	}

	figure {
		margin: 0;
		padding: 0;
		line-height: 0;
	}

	img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		vertical-align: bottom;
	}
}

/* =========================================
   Component Styles
   ========================================= */

/* -------------------------------------------
   Shared Utilities (Buttons)
   ------------------------------------------- */
.post {

	.c-btn--bgcolor {
		position: relative;
		display: inline-block;
		color: #fff;
		background: var(--color-primary);
		width: 100%;
		max-width: 280px;
		font-size: var(--px16);
		font-weight: 500;
		line-height: 1.6;
		text-align: left;
		padding: var(--px24) var(--px80) var(--px24) var(--px40);
		border-radius: 50vw;
		-webkit-transition: .3s;
		-o-transition: .3s;
		transition: .3s;
		border: none;

		&::after {
			content: '\f061';
			position: absolute;
			font-size: var(--px16);
			font-family: 'Font Awesome 6 Free';
			font-weight: 900;
			top: 50%;
			right: var(--px30);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			transform: translateY(-50%);
			width: auto;
			height: auto;
			border: none;
			margin-top: 2px;
		}

		&:hover {
			color: #fff;
			background: var(--color-primary-tint);
			border: none;
		}
	}


	/* 円形の矢印付きボタン */
	.c-btn--arrow {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		font-weight: 600;
		color: var(--color-font);
		font-family: var(--font-family01);
		text-align: left;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		transition: 0.3s all;
		gap: var(--px16);

		/* 矢印アイコン */
		&:after {
			content: '\f061';
			position: absolute;
			font-size: 16px;
			font-family: 'Font Awesome 6 Free';
			font-weight: 900;
			top: 50%;
			right: 12px;
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			transform: translateY(-50%);
			width: auto;
			height: auto;
			border: none;
			color: #fff;
		}

		&::before {
			content: "";
			background: var(--color-primary);
			width: 40px;
			height: 40px;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			border-radius: 50vh;
			-webkit-transition: 0.3s all;
			-o-transition: 0.3s all;
			transition: 0.3s all;
		}

		&:hover {
			color: var(--color-font);

			&:after {
				-webkit-filter: inherit;
				filter: inherit;
			}

			&::before {
				background: var(--color-primary-tint);
			}
		}
	}

	/* 楕円形の矢印付き+下線ボタン */

	.c-btn--arrowline {
		border-bottom: solid 2px;
		padding: 8px;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		font-weight: 600;
		color: var(--color-font);
		font-family: var(--font-family01);
		text-align: left;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		transition: 0.3s all;
		gap: var(--px40);

		/* 矢印アイコン */
		&:after {
			content: '\f061';
			position: absolute;
			font-size: 16px;
			font-family: 'Font Awesome 6 Free';
			font-weight: 900;
			top: 50%;
			right: calc(12px + 8px);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			transform: translateY(-50%);
			width: auto;
			height: auto;
			border: none;
			color: #fff;
		}

		&::before {
			content: "";
			background: var(--color-primary);
			width: 40px;
			height: 40px;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			border-radius: 50vh;
			-webkit-transition: 0.3s all;
			-o-transition: 0.3s all;
			transition: 0.3s all;
		}

		&:hover {
			color: var(--color-font);
			border-bottom: solid 2px transparent;

			&:after {
				-webkit-filter: inherit;
				filter: inherit;
			}

			&::before {
				background: var(--color-primary-tint);
			}
		}
	}
}

@media screen and (max-width: 768px) {
	.post {
		.c-btn--arrowline {
			&::before {
				width: 30px;
				height: 30px;
			}

			&:after {
				font-size: 13px;
				right: calc(13px + 4px);
			}
		}
	}
}



/* =========================================
   TOP
   ========================================= */


/* -------------------------------------------
   Overlap Content Block sec01
   ------------------------------------------- */
.post {
	.c-overlap-block {
		position: relative;
		margin-top: calc(0% - var(--px160));
		padding: calc(var(--px120) + var(--px160)) 0 var(--px120);
		overflow: hidden;

		/* --- Background Texture (Right side) --- */
		.c-overlap-block__bg-texture {
			-webkit-clip-path: border-box;
			clip-path: border-box;
			position: absolute;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			z-index: -1;

			img {
				position: fixed;
				top: 0;
				right: 0;
				width: 65%;
				height: 100%;
				pointer-events: none;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}

		/* --- Inner Container --- */
		.c-overlap-block__inner {
			position: relative;
			z-index: 1;
			max-width: 1500px;
			margin: 0 auto;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: end;
			-ms-flex-align: end;
			align-items: end;
		}

		/* --- Main Image (Left side) --- */
		.c-overlap-block__figure {
			-webkit-box-flex: 0;
			-ms-flex: 0 0 70%;
			flex: 0 0 70%;
			margin-bottom: 5%;
			position: relative;
			z-index: 2;
			-webkit-box-shadow: 0 var(--px20) var(--px40) rgba(0, 0, 0, 0.1);
			box-shadow: 0 var(--px20) var(--px40) rgba(0, 0, 0, 0.1);
			aspect-ratio: 1.667/1;
			overflow: hidden;
		}

		/* --- Content Box (Overlay) --- */
		.c-overlap-block__content {
			-webkit-box-flex: 0;
			-ms-flex: 0 0 45%;
			flex: 0 0 45%;
			margin-left: -10%;
			position: relative;
			z-index: 3;
			background: rgba(255, 255, 255, 0.7);
			-webkit-backdrop-filter: blur(30px);
			backdrop-filter: blur(30px);
			padding: var(--px80) var(--px60);
			-webkit-box-shadow: 0 var(--px12) var(--px30) rgba(0, 0, 0, 0.05);
			box-shadow: 0 var(--px12) var(--px30) rgba(0, 0, 0, 0.05);
		}

		.c-overlap-block__contentinner {
			max-width: 400px;
			margin: 0 auto;
			text-align: left;
		}

		.c-overlap-block__title {
			font-family: var(--font-family01);
			font-weight: 500;
			font-size: var(--px30w);
			line-height: 1.6;
			letter-spacing: 0.2em;
			color: var(--color-font);
			margin-bottom: var(--px40);
			text-align: left;
		}

		.c-overlap-block__text {
			font-size: var(--px16);
			line-height: 2;
			color: var(--color-font);
			margin-bottom: var(--px50);
			text-align: left;
		}
	}
}

/* SP Media Query */
@media screen and (max-width: 960px) {
	.post {
		.c-overlap-block {
			.c-overlap-block__figure {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 90%;
				flex: 0 0 90%;
				margin-bottom: 25%;
			}

			.c-overlap-block__content {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 60%;
				flex: 0 0 60%;
				margin-left: -50%;
			}

			.c-overlap-block__title {
				letter-spacing: 0.15em;
			}
		}
	}
}

@media screen and (max-width: 640px) {
	.post {
		.c-overlap-block {
			.c-overlap-block__inner {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
			}

			.c-overlap-block__figure {
				-webkit-box-flex: inherit;
				-ms-flex: inherit;
				flex: inherit;
				margin-bottom: -10%;
				width: 90%;
				margin-right: auto;
			}

			.c-overlap-block__content {
				-webkit-box-flex: inherit;
				-ms-flex: inherit;
				flex: inherit;
				width: -webkit-fit-content;
				width: -moz-fit-content;
				width: fit-content;
				margin-left: 6%;
			}
		}
	}
}

/* -------------------------------------------
    Project Examples sec02
   ------------------------------------------- */

.post {

	.front_contents.sec02 {
		padding: var(--px120) 0 0;
	}

	/* ---bgimg --- */
	.c-image__bgimg {
		-webkit-clip-path: border-box;
		clip-path: border-box;
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: -1;

		img {
			position: fixed;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			pointer-events: none;
			-o-object-fit: cover;
			object-fit: cover;
		}
	}

	/* -- Project --- */

	.c-project-grid {
		position: relative;
		z-index: 1;

		/* --- Header --- */
		.c-project-grid__header {
			margin-bottom: var(--px160);
			padding: 0 var(--px40) 0 var(--px160);
			width: -webkit-fit-content;
			width: -moz-fit-content;
			width: fit-content;
		}

		h2 {
			margin: 0;
			padding: 0;
			border: none;
			background: none;
			font-family: var(--font-family01);
			line-height: 1.4;
			text-align: left;

			&::before,
			&::after {
				content: none;
				display: none;
			}
		}

		.c-project-grid__title {
			font-family: var(--font-family02);
			font-size: var(--px50);
			margin-bottom: var(--px16);
			letter-spacing: 0.05em;
			color: var(--color-font);
			line-height: 1.4;
		}

		.c-project-grid__sub {
			font-size: var(--px24);
			font-family: var(--font-family01);
			color: var(--color-font);
			margin: 0;
		}


		/* --- Project Item Common --- */

		.c-project-grid__wrap {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			gap: 5%;
		}

		.c-project-grid__wrap--02 {
			-webkit-box-pack: end;
			-ms-flex-pack: end;
			justify-content: flex-end;
			margin-top: calc(0% - var(--px40));

		}

		.c-project-grid__wrap--03 {
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;
			margin-left: 10%;
		}

		figure {
			margin: 0;
			padding: 0;
			line-height: 0;
		}

		img {
			width: 100%;
			height: 100%;
			-o-object-fit: cover;
			object-fit: cover;
			max-width: none;
			padding: 0 !important;
			border: none !important;
			margin: 0;
			-webkit-transition: 0.5s;
			-o-transition: 0.5s;
			transition: 0.5s;
		}

		.c-project-item__figure {
			-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
			box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
			overflow: hidden;
		}

		/* Info Area */

		.c-project-item__link {
			width: -webkit-fit-content;
			width: -moz-fit-content;
			width: fit-content;
			padding: var(--px30);
			position: relative;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: end;
			-ms-flex-pack: end;
			justify-content: flex-end;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-orient: horizontal;
			-webkit-box-direction: reverse;
			-ms-flex-direction: row-reverse;
			flex-direction: row-reverse;
			font-weight: 600;
			color: var(--color-font);
			font-family: var(--font-family01);
			text-align: left;
			-webkit-transition: 0.3s all;
			-o-transition: 0.3s all;
			transition: 0.3s all;
			gap: var(--px16);
			-ms-flex-negative: 0;
			flex-shrink: 0;
			-ms-flex-item-align: start;
			align-self: flex-start;

			/* 矢印アイコン */
			&:after {
				content: '\f061';
				position: absolute;
				font-size: 16px;
				font-family: 'Font Awesome 6 Free';
				font-weight: 900;
				top: 50%;
				right: calc(var(--px30) + 13px);
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				transform: translateY(-50%);
				width: auto;
				height: auto;
				border: none;
				color: #fff;
			}

			&::before {
				content: "";
				background: var(--color-font);
				width: 40px;
				height: 40px;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				border-radius: 50vh;
				-webkit-transition: 0.3s all;
				-o-transition: 0.3s all;
				transition: 0.3s all;
				-ms-flex-negative: 0;
				flex-shrink: 0;
			}

			&:hover {
				color: var(--color-font);

				&:after {
					-webkit-filter: inherit;
					filter: inherit;
				}

				&::before {
					background: var(--color-primary-tint);
				}
			}
		}

		.c-project-item__images:has(.c-project-item__link:hover) .c-project-item__figure--main {
			img {
				opacity: 1;
				-webkit-transform: scale(1.05);
				-ms-transform: scale(1.05);
				transform: scale(1.05);
			}
		}

		.c-project-item__info {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			gap: 10px;
		}

		.c-project-item__label {
			font-size: var(--px20);
			font-weight: 700;
			color: var(--color-font);
		}

		.c-project-item__en {
			font-size: var(--px16);
			color: var(--color-font);
			font-family: var(--font-family02);
			width: 100%;
			margin-top: 5px;
		}

		/* 1. Office */
		.c-project-item--office {
			max-width: 900px;
			width: 56%;

			.c-project-item__images {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
			}

			.c-project-item__has-link {
				margin-top: var(--px80);
				width: 35%;
				-ms-flex-negative: 0;
				flex-shrink: 0;
			}

			.c-project-item__figure--main {
				aspect-ratio: 299 / 248;
			}

			.c-project-item__figure--sub {
				aspect-ratio: 311 / 416;
			}
		}

		/* 2. Showroom */
		.c-project-item--showroom {
			margin-top: var(--px80);
			max-width: 840px;
			width: 46%;

			.c-project-item__has-link {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
			}

			.c-project-item__figure--main {
				aspect-ratio: 299 / 248;
				margin-right: var(--px80);
				max-width: 700px;
			}

			.c-project-item__figure--sub {
				aspect-ratio: 517/387;
				max-width: 517px;
				margin-left: auto;
			}
		}

		.c-project-item--renovation {
			max-width: 980px;
			width: 57%;

			.c-project-item__images {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: end;
				-ms-flex-align: end;
				align-items: flex-end;
			}

			.c-project-item__has-link {
				width: 70%;
				-ms-flex-negative: 0;
				flex-shrink: 0;
			}

			.c-project-item__figure--main {
				aspect-ratio: 299 / 248;
			}

			.c-project-item__figure--sub {
				aspect-ratio: 283 / 362;
			}
		}

		/* 4. Furniture */

		.c-project-item--furniture {
			max-width: 420px;
			margin-top: calc(40px + var(--px80));
			width: 25%;

			.c-project-item__images {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: end;
				-ms-flex-align: end;
				align-items: flex-end;
			}

			.c-project-item__figure--main {
				aspect-ratio: 409/546;
			}
		}

		/* 5. Exterior */
		.c-project-item--exterior {
			max-width: 700px;
			width: 45%;

			.c-project-item__images {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: end;
				-ms-flex-align: end;
				align-items: flex-end;
			}

			.c-project-item__has-link {
				width: 35%;
				-ms-flex-negative: 0;
				flex-shrink: 0;
			}

			.c-project-item__figure--main {
				aspect-ratio: 395/526;
				margin-bottom: var(--px80);
			}

			.c-project-item__figure--sub {
				aspect-ratio: 298/377;
			}
		}

		/* 6. Other */
		.c-project-item--other {
			max-width: 360px;
			margin-top: var(--px160);
			width: 25%;

			.c-project-item__images {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: end;
				-ms-flex-align: end;
				align-items: flex-end;
			}

			.c-project-item__figure--main {
				aspect-ratio: 1 / 1;
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 1500px) {
	.post {
		.c-project-grid {
			.c-project-grid__wrap--02 {
				margin-top: var(--px60);
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
			}
		}
	}
}

@media screen and (max-width: 1100px) {
	.post {
		.c-project-grid {

			.c-project-item--office {
				width: 70%;
			}

			.c-project-item--exterior {
				width: 64%;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.post {
		.c-project-grid {
			.c-project-grid__header {
				margin-left: auto;
				margin-right: auto;
				text-align: center;
				padding: 0 0 0 4%;
			}

			.c-project-item__link {
				-webkit-box-orient: vertical;
				-webkit-box-direction: reverse;
				-ms-flex-direction: column-reverse;
				flex-direction: column-reverse;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
				min-width: 120px;

				&::before {
					width: 30px;
					height: 30px;
				}

				&:after {
					font-size: 12px;
					top: inherit;
					right: inherit;
					-webkit-transform: inherit;
					-ms-transform: inherit;
					transform: inherit;
					left: 26px;
					bottom: 19px;
				}
			}

			.c-project-item__label {
				font-size: var(--px30);
			}

			.c-project-grid__wrap--01 {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;

				.c-project-item--office {
					width: 96%;

					.c-project-item__has-link {
						width: 45%;
						margin-top: 0;
					}
				}

				.c-project-item--showroom {
					width: 90%;
					margin-left: auto;

					.c-project-item__images {
						display: -webkit-box;
						display: -ms-flexbox;
						display: flex;
						-webkit-box-orient: horizontal;
						-webkit-box-direction: normal;
						-ms-flex-direction: row;
						flex-direction: row;
					}

					.c-project-item__figure--main {
						margin: 0;
					}

					.c-project-item__has-link {
						-webkit-box-orient: vertical;
						-webkit-box-direction: normal;
						-ms-flex-direction: column;
						flex-direction: column;
					}

					.c-project-item__figure--sub {
						max-width: 580px;
					}
				}
			}

			.c-project-grid__wrap--02 {
				margin-top: var(--px60);
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;

				.c-project-item--renovation {
					width: 90%;

					.c-project-item__images {
						-webkit-box-orient: horizontal;
						-webkit-box-direction: reverse;
						-ms-flex-direction: row-reverse;
						flex-direction: row-reverse;
					}
				}

				.c-project-item--furniture {
					width: 60%;
					margin-top: var(--px40);
					margin-left: auto;

					.c-project-item__has-link {
						display: -webkit-box;
						display: -ms-flexbox;
						display: flex;
					}
				}
			}

			.c-project-grid__wrap--03 {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				margin: var(--px60) auto 0;

				.c-project-item--exterior {
					width: 85%;
				}

				.c-project-item--other {
					width: 80%;
					margin-top: var(--px60);
					margin-left: auto;

					.c-project-item__has-link {
						display: -webkit-box;
						display: -ms-flexbox;
						display: flex;
						-webkit-box-orient: horizontal;
						-webkit-box-direction: reverse;
						-ms-flex-direction: row-reverse;
						flex-direction: row-reverse;
					}
				}
			}
		}
	}
}

/* -------------------------------------------
   Project Portfolio (Wrap Layout)  sec03
   ------------------------------------------- */

.post {
	.front_contents.sec03 {
		background: #EFEFEF;
		position: relative;
		z-index: 0;
		padding-bottom: var(--px120);
	}

	.c-portfolio-wrap {
		margin-top: calc(0% - var(--px240));
		padding: calc(var(--px240) + var(--px120)) 0 0;
		position: relative;
		z-index: 0;

		.c-portfolio-inner {
			max-width: 1640px;
			width: 90%;
			margin: 0 auto;
			z-index: 1;
			position: relative;
		}

		/* --- Header --- */
		.c-portfolio-wrap__header {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
			-webkit-box-align: start;
			-ms-flex-align: start;
			align-items: flex-start;
			margin-bottom: var(--px60);
		}

		.c-portfolio-wrap__titles {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: baseline;
			-ms-flex-align: baseline;
			align-items: baseline;
			gap: 20px;
		}

		h2 {
			margin: 0;
			padding: 0;
			border: none;
			background: none;
			font-family: var(--font-family01);
			line-height: 1.4;

			&::before,
			&::after {
				content: none;
				display: none;
			}
		}

		.c-portfolio-wrap__title {
			font-family: var(--font-family02);
			font-size: 36px;
			color: #333;
		}

		.c-portfolio-wrap__sub {
			font-size: 14px;
			color: #666;
			font-weight: 700;
		}

		/* --- List Container (Flex Wrap) --- */

		.c-portfolio-wrap__list {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			/* Wrap to next line */
			gap: var(--px40);
		}

		/* --- Card Style --- */
		.c-portfolio-card {
			display: block;
			/* 4 Columns Logic: (100% - (gap * 3)) / 4 */
			width: calc((100% - (var(--px40) * 3)) / 4);
			text-decoration: none;
			color: inherit;
			background: #fff;
			-webkit-filter: drop-shadow(0px 5px 40px rgba(0, 0, 0, 0.2));
			filter: drop-shadow(0px 5px 40px rgba(0, 0, 0, 0.2));
			-webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
			transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
			-o-transition: transform 0.3s, box-shadow 0.3s;
			transition: transform 0.3s, box-shadow 0.3s;
			transition: transform 0.3s, box-shadow 0.3s, -webkit-transform 0.3s, -webkit-box-shadow 0.3s;

			&:hover {
				-webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
				box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
			}
		}

		figure {
			margin: 0;
			padding: 0;
			line-height: 0;
			aspect-ratio: 380 / 296;
			overflow: hidden;
		}

		img {
			width: 100%;
			height: 100%;
			-o-object-fit: cover;
			object-fit: cover;
			max-width: none;
			padding: 0 !important;
			border: none !important;
			margin: 0;
			-webkit-transition: 0.5s;
			-o-transition: 0.5s;
			transition: 0.5s;
		}

		a:hover img {
			opacity: 1;
			-webkit-transform: scale(1.05);
			-ms-transform: scale(1.05);
			transform: scale(1.05);
		}

		.c-portfolio-card__body {
			padding: var(--px24) var(--px24) var(--px30);
		}

		.c-portfolio-card__title {
			color: var(--color-font);
			font-size: var(--px18);
			font-weight: 500;
			margin: 0 0 var(--px18) 0;
			padding: 0;
			line-height: 1.5;
			border: none;
		}

		.c-portfolio-card__catelist {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			gap: 8px;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;

			.c-portfolio-card__cate {
				display: inline-block;
				background-color: #f0f0f0;
				color: var(--color-font);
				font-size: 12px;
				padding: 4px 12px;
				border-radius: 2px;
			}
		}

		/* --- bg Style --- */

		.c-portfolio-wrap__bg-texture {
			-webkit-clip-path: border-box;
			clip-path: border-box;
			position: absolute;
			top: 0;
			right: 0;
			width: 100%;
			height: 70%;
			z-index: 0;

			img {
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				object-fit: cover;
				max-width: none;
				padding: 0 !important;
				border: none !important;
				margin: 0;
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post {
		.c-portfolio-wrap {
			padding: var(--px60) 0;
			margin-top: 0;

			.c-portfolio-wrap__header {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
				padding: 0 var(--px20);
				gap: 15px;
			}

			.c-portfolio-wrap__titles {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
				gap: 5px;
			}

			.c-portfolio-wrap__title {
				font-size: 28px;
			}

			.c-portfolio-wrap__container {
				padding: 0 var(--px20);
			}

			/* Adjust columns for SP */
			.c-portfolio-card {
				/* 2 Columns on SP: (100% - gap) / 2 */
				width: calc((100% - var(--px40)) / 2);
			}
		}
	}
}

@media screen and (max-width: 540px) {
	.post {
		.c-portfolio-wrap {
			padding: var(--px120) 0 0;

			.c-portfolio-wrap__titles {
				text-align: center;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				gap: var(--px20);
			}

			.c-portfolio-wrap__container {
				padding: 0;
				width: 80%;
				margin: 0 auto;
			}

			.c-portfolio-wrap__header {
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
			}

			/* Adjust columns for SP */
			.c-portfolio-card {
				width: 100%;
			}
		}
	}
}

/* -------------------------------------------
   Major Clients Grid sec04
   ------------------------------------------- */

.post {

	.c-clients-grid {
		padding: 0 0 calc(var(--px16) + var(--px200));
		margin-bottom: var(--px120);
		background-color: #EFEFEF;
		/* Light gray background from image */

		/* --- Header --- */
		.c-clients-grid__header {
			text-align: center;
			margin-bottom: var(--px60);
		}

		.c-clients-grid__title {
			font-family: var(--font-family02);
			font-size: var(--px50);
			margin-bottom: var(--px12);
			letter-spacing: 0.05em;
		}

		.c-clients-grid__sub {
			font-size: var(--px24);
			font-family: var(--font-family01);
			margin: 0;
		}

		/* --- Grid List --- */

		.c-clients-grid__list {
			width: 100%;
			display: -ms-grid;
			display: grid;
			-ms-grid-columns: 1fr var(--px40) 1fr var(--px40) 1fr var(--px40) 1fr;
			grid-template-columns: repeat(4, 1fr);
			/* 4 columns */
			gap: var(--px40);
			list-style: none;
			margin: 0 auto;
		}

		.c-clients-grid__item {
			background-color: #fff;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			aspect-ratio: 360 / 160;
			/* Adjust ratio as needed */
			padding: var(--px20);
			box-sizing: border-box;
		}

		img {
			width: auto;
			height: auto;
			max-width: 100%;
			max-height: 100%;
			object-fit: contain;
			padding: 0 !important;
			border: none !important;
			margin: 0;
		}

		.c-clients-grid__figure {
			width: 100%;
			height: 100%;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			overflow: hidden;
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post {
		.c-clients-grid {

			.c-clients-grid__list {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 10px;
				padding: 0;
				margin: 0;
				width: 100%;
				box-sizing: border-box;
			}

			.c-clients-grid__item {
				padding: var(--px20) var(--px40);
				box-sizing: border-box;
			}
		}
	}
}

/* -------------------------------------------
	Image & Text Block (NIKKEN FACTORY) sec05
   ------------------------------------------- */
.post {
	.c-image-text-block {
		position: relative;

		.c-image-text-inner {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: stretch;
			-ms-flex-align: stretch;
			align-items: stretch;
			max-width: 1600px;
			margin: 0 auto;
			width: 94%;
			margin-top: calc(0% - var(--px200));
			padding-bottom: 100px;
		}

		/* --- Left Image --- */
		.c-image-text-block__figure {
			-webkit-box-flex: 0;
			-ms-flex: 0 0 60%;
			flex: 0 0 60%;
			position: relative;
			aspect-ratio: 1 / 0.667;
			overflow: hidden;
		}

		/* --- Right Content (Blurred Background) --- */
		.c-image-text-block__content {
			-webkit-box-flex: 0;
			-ms-flex: 0 0 40%;
			flex: 0 0 40%;
			max-width: 580px;
			margin-left: auto;
			position: relative;
			padding: var(--px80) var(--px60);
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			-ms-flex-direction: column;
			flex-direction: column;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			text-align: left;
			color: #fff;
			overflow: hidden;
			margin-top: 100px;
		}

		.c-image-text-block__label {
			font-size: var(--px18);
			padding-left: var(--px14);
			margin-bottom: var(--px20);
			border-left: double 7px;
		}

		.c-image-text-block__title {
			font-size: var(--px30);
			font-weight: 700;
			margin-bottom: var(--px30);
			color: #fff;
			text-align: left;
			margin-right: auto;
		}

		.c-image-text-block__text {
			font-size: var(--px16);
			line-height: 1.8;
			margin-bottom: var(--px50);
			color: rgba(255, 255, 255, 0.9);
		}

		/* --- Background Texture (Right side) --- */

		.c-image-text-block__bg-texture {
			-webkit-clip-path: border-box;
			clip-path: border-box;
			position: absolute;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			z-index: -1;

			&:before {
				content: "";
				position: absolute;
				width: 100%;
				height: 100%;
				left: 0;
				top: 0;
				background: rgba(0, 0, 0, 0.4);
				-webkit-backdrop-filter: blur(20px);
				backdrop-filter: blur(20px);
				z-index: 1;
			}

			img {
				position: fixed;
				top: 0;
				right: 0;
				width: 100%;
				height: 100%;
				pointer-events: none;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 960px) {
	.post {
		.c-image-text-block {

			.c-image-text-inner {
				padding-bottom: 0;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
			}

			.c-image-text-block__content {
				width: 100%;
				-webkit-box-flex: inherit;
				-ms-flex: inherit;
				flex: inherit;
				margin: var(--px80) auto;
				padding: 0;
			}

			.c-image-text-block__figure {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
				aspect-ratio: 16 / 9;
				/* Set a ratio for SP */
			}

			.c-image-text-block__content {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
			}
		}
	}
}

/* -------------------------------------------
   Instagram Feed Section sec06
   ------------------------------------------- */
.post {
	.c-instagram-feed {
		padding: var(--px80) 0;
		position: relative;

		.c-instagram-feed__inner {
			max-width: 1400px;
			margin: 0 auto;
		}

		/* --- Header --- */
		.c-instagram-feed__header {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			margin: 0 0 var(--px40);
			padding: 0 var(--px40);
		}

		.c-instagram-feed__title-group {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			gap: 15px;
		}

		/* Reset h2 */
		h2 {
			margin: 0;
			padding: 0;
			border: none;
			background: none;
			font-family: var(--font-family01);
			line-height: 1.4;

			&::before,
			&::after {
				content: none;
				display: none;
			}
		}

		.c-instagram-feed__title {
			font-family: var(--font-family02);
			font-size: var(--px40);
			color: var(--color-font);
			letter-spacing: 0.05em;
		}

		/* Icon Container */
		.c-instagram-feed__icon {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			width: 48px;
			height: 48px;
			background-color: var(--color-font);
			/* Dark background circle */
			border-radius: 50%;

			&:before {
				font-family: "Font Awesome 6 Brands";
				font-weight: 400;
				content: "\f16d";
				color: #fff;
				font-size: 24px;
			}
		}

		/* --- Background Texture (Right side) --- */

		.c-instagram-feed__bg-texture {
			-webkit-clip-path: border-box;
			clip-path: border-box;
			position: absolute;
			bottom: 0;
			right: 0;
			width: 100%;
			height: 50%;
			z-index: -1;

			img {
				position: fixed;
				top: 0;
				right: 0;
				width: 100%;
				height: 100%;
				pointer-events: none;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post {
		.c-instagram-feed {
			padding: var(--px60) 0;

			.c-instagram-feed__header {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				-webkit-box-align: start;
				-ms-flex-align: start;
				align-items: flex-start;
				padding: 0 var(--px20);
				gap: 20px;

				p:has(.c-btn) {
					margin-left: auto;
				}
			}
		}
	}
}

/* -------------------------------------------
    Double Image & Text Block sec07-01
   ------------------------------------------- */

.post {
	.c-double-image-block {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px60);
		max-width: 1400px;
		margin: 0 auto;
		padding: var(--px120) 0;

		/* --- Images Area --- */
		.c-double-image-block__images {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: start;
			-ms-flex-align: start;
			align-items: flex-start;
			/* Align bottom */
			gap: var(--px40);
			-webkit-box-flex: 0;
			-ms-flex: 0 0 55%;
			flex: 0 0 55%;
			/* Occupy 55% of width */
		}

		.c-double-image-block__figure {
			position: relative;
			overflow: hidden;
			aspect-ratio: 200/300;

			&+.c-double-image-block__figure {
				margin-top: var(--px80);
			}
		}

		/* --- Text Content Area --- */
		.c-double-image-block__content {
			-webkit-box-flex: 1;
			-ms-flex: 1;
			flex: 1;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			-ms-flex-direction: column;
			flex-direction: column;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: start;
			-ms-flex-align: start;
			align-items: flex-start;
			padding: var(--px60);
		}

		.c-double-image-block__label {
			margin-bottom: var(--px50);
			color: var(--color-font);
			border-left: 1px solid;
			/* Line decoration if needed, based on previous designs */
			padding-left: 0;
			border: none;
			/* Reset if not needed */

			span {
				display: block;
				line-height: 1.4;
			}

			.en {
				font-family: var(--font-family02);
				font-size: var(--px16);
				margin-bottom: var(--px16);
			}

			.ja {
				font-size: var(--px18);
			}
		}

		.c-double-image-block__title {
			font-size: var(--px30);
			font-weight: 500;
			margin-bottom: var(--px40);
			letter-spacing: 0.1em;
			text-align: left;
		}

		.c-double-image-block__text {
			line-height: 2;
			margin-bottom: var(--px50);
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */

@media screen and (max-width: 960px) {
	.post {
		.c-double-image-block {
			gap: 0;

			.c-double-image-block__images {
				-webkit-box-flex: inherit;
				-ms-flex: inherit;
				flex: inherit;
				width: 50%;
			}
		}
	}
}

@media screen and (max-width: 768px) {
	.post {
		.c-double-image-block {
			-webkit-box-orient: vertical;
			-webkit-box-direction: reverse;
			-ms-flex-direction: column-reverse;
			flex-direction: column-reverse;
			/* Text on top, images below? Or standard order */
			flex-direction: column;
			/* Standard: Images first */

			.c-double-image-block__images {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
			}

			.c-double-image-block__figure {
				width: 45%;
			}

			.c-double-image-block__content {
				width: 100%;
				padding: var(--px20) var(--px60) 0;
			}
		}
	}
}

/* -------------------------------------------
   Step Flow Section sec07-02
   ------------------------------------------- */
.post {
	.c-step-flow {
		padding: var(--px120) 0;
		background-color: #f2f2f2;
		/* Light gray background */
		text-align: center;

		.c-step-flow__inner {
			max-width: 1400px;
			margin: 0 auto;
		}

		/* --- Inner Reset --- */
		ol {
			list-style: none;
			margin: 0;
			padding: 0;
		}

		img {
			width: auto;
			height: auto;
			max-width: 60%;
			/* Icon size within circle */
			display: block;
			margin: 0 auto;
		}

		/* --- List Container --- */
		.c-step-flow__list {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: start;
			-ms-flex-align: start;
			align-items: flex-start;
			gap: 40px;
			margin-bottom: var(--px60);
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			/* Allow wrapping on smaller screens if needed */
		}

		/* --- Item --- */
		.c-step-flow__item {
			-webkit-box-flex: 1;
			-ms-flex: 1;
			flex: 1;
			max-width: var(--px240);
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			-ms-flex-direction: column;
			flex-direction: column;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			position: relative;

			/* Arrow between items (except last) */
			&:not(:last-child)::after {
				content: "→";
				font-family: var(--font-family01);
				font-size: 24px;
				color: #333;
				position: absolute;
				top: 50%;
				right: -30px;
				/* Position between items */
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				transform: translateY(-50%);
			}
		}

		.c-step-flow__head {
			font-family: var(--font-family01);
			font-size: var(--px24);
			letter-spacing: 0.2em;
			margin-bottom: var(--px16);
			line-height: 1.4;
		}

		.c-step-flow__circle {
			width: 120px;
			height: 120px;
			border: 1px solid #333;
			border-radius: 50%;
			background-color: #fff;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			margin-bottom: var(--px20);
			-webkit-transition: background-color 0.3s;
			-o-transition: background-color 0.3s;
			transition: background-color 0.3s;

			/* Optional: Hover effect */
			&:hover {
				background-color: #f9f9f9;
			}
		}

		.c-step-flow__text {
			font-size: var(--px20);
			font-weight: 500;
			line-height: 1.4;
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post {
		.c-step-flow {

			.c-step-flow__list {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				/* Stack vertically */
			}

			.c-step-flow__item {
				width: 100%;
				max-width: none;

				/* Downward Arrow for SP */
				&:not(:last-child)::after {
					content: "↓";
					/* Change to down arrow */
					top: auto;
					right: auto;
					bottom: -30px;
					left: 50%;
					-webkit-transform: translateX(-50%);
					-ms-transform: translateX(-50%);
					transform: translateX(-50%);
					line-height: 1;
				}

				.c-step-flow__text {
					font-size: var(--px30);
				}
			}

			/* Optional: Reduce circle size on SP */
			.c-step-flow__circle {
				width: 100px;
				height: 100px;
			}
		}
	}
}

/*=============================================
	CTA
=============================================*/

.c-cta {
	width: 100%;
	margin: 0 auto;
	padding: var(--px80) var(--px40);
	position: relative;

	&:before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, 0.25);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		z-index: -1;
	}

	.c-cta__inner {
		color: #fff;
		padding: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: var(--px60);
		width: 100%;
		margin: 0 auto;
	}

	.c-cta__column {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: var(--px80);
	}

	.c-cta__titlearea {
		color: #fff;
		-ms-flex-negative: 0;
		flex-shrink: 0;
	}

	.c-cta__title {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		padding: 0px;
		gap: var(--px20);
		font-family: var(--font-family02);
		font-style: normal;
		font-weight: 700;
		font-size: var(--px50);
		line-height: 100%;
	}

	.c-cta__subtitle {
		font-family: var(--font-family01);
		font-style: normal;
		font-weight: 500;
		font-size: var(--px24);
		line-height: 140%;
	}

	.c-cta__titletxt {
		margin-top: var(--px40);
		font-size: var(--px18);
	}

	.c-cta__btn-body {
		line-height: 1.2;

		b {
			font-family: var(--font-family01);
			letter-spacing: 0.01em;
		}
	}

	.c-cta__btnlist {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px40);
		margin: 0;
		-ms-flex-item-align: stretch;
		-ms-grid-row-align: stretch;
		align-self: stretch;
	}

	.c-cta__btnitem {
		margin: 0;
		height: 100%;
	}

	.c-cta__btn {
		width: 500px;
		height: 100%;
		min-height: var(--px240);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		text-align: center;
		text-decoration: none;
		background: var(--color-grad);
		background-size: 100% 100%;
		padding: var(--px16) var(--px30);
		font-size: var(--px16);
		color: var(--color-font);
		gap: 2px;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		-webkit-transition: 0.3s all;
		-o-transition: 0.3s all;
		transition: 0.3s all;

		.c-cta__btn-subtxt {
			font-size: var(--px14);
			margin-top: 4px;
		}

		&.c-cta__btn--tel {
			color: #fff;
			font-size: var(--px14);
			background: rgba(120, 120, 120, 0.7);
			-webkit-backdrop-filter: blur(10px);
			backdrop-filter: blur(10px);

			b {
				font-weight: 500;
				font-size: var(--px30);
			}

			.note,
			.note.note b {
				font-size: var(--px14);
				font-weight: 400;
			}

			&:hover {
				opacity: 1;
				background: rgba(120, 120, 120, 1);
			}
		}

		&.c-cta__btn--mail {
			font-size: var(--px24);
			background: rgba(0, 0, 0, 0.7);
			-webkit-backdrop-filter: blur(10px);
			backdrop-filter: blur(10px);
			color: #fff;

			b {
				font-weight: 500;
				font-size: var(--px24);
			}

			&:hover {
				opacity: 1;
				background: rgba(0, 0, 0, 1);
			}
		}

		i {
			font-size: var(--px24);
			margin-right: 4px;
		}
	}

	.c-cta__bg-texture {
		-webkit-clip-path: border-box;
		clip-path: border-box;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: -2;

		img {
			position: fixed;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			pointer-events: none;
			-o-object-fit: cover;
			object-fit: cover;
		}
	}
}

@media print,
screen and (max-width: 1600px) {
	.c-cta {
		.c-cta__column {
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			-ms-flex-direction: column;
			flex-direction: column;
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			gap: var(--px30);
		}

		.c-cta__title {
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
		}

		.c-cta__btnlist {
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: stretch;
			-ms-flex-align: stretch;
			align-items: stretch;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		}

		.c-cta__btnitem {
			height: inherit;
		}
	}
}

@media print,
screen and (max-width: 768px) {
	.c-cta__btn {
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
	}
}

@media print,
screen and (max-width: 640px) {
	.c-cta {
		padding: var(--px80) var(--px40);

		.c-cta__inner {
			padding: 0;
		}

		.c-cta__btnlist {
			gap: var(--px20);
		}

		.c-cta__btnitem {
			width: 100%;
		}

		.c-cta__btn {
			max-width: 320px;
			width: 100%;
		}
	}
}

body.home .c-cta.c-cta--subpage {
	display: none;
}

/* -------------------------------------------
   post Section 
   ------------------------------------------- */
.post {
	.c-postseparate {
		padding: 0;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;

		.c-postseparate__body {
			width: 50%;
			padding: var(--px120);
		}

		/* --- Header --- */
		.c-postseparate__header {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			margin: 0 0 var(--px40);
			padding: 0;
		}

		/* Reset h2 */
		h2 {
			margin: 0;
			padding: 0;
			border: none;
			background: none;
			font-family: var(--font-family01);
			line-height: 1.4;

			&::before,
			&::after {
				content: none;
				display: none;
			}
		}

		.c-postseparate__title {
			font-family: var(--font-family02);
			font-size: var(--px50);
			color: var(--color-font);
			letter-spacing: 0.05em;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			-ms-flex-direction: column;
			flex-direction: column;
			-webkit-box-align: start;
			-ms-flex-align: start;
			align-items: flex-start;
			gap: var(--px12);
			line-height: 1.4;
		}

		.c-postseparate__subtitle {
			font-size: var(--px24);
			font-weight: 400;
		}

		/* --- img (Right side) --- */

		.c-postseparate__img {
			position: relative;
			width: 50%;
			z-index: 0;
			-ms-flex-item-align: stretch;
			-ms-grid-row-align: stretch;
			align-self: stretch;

			img {
				position: absolute;
				top: 0;
				right: 0;
				width: 100%;
				height: 100%;
				pointer-events: none;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}
	}
}

/* --- 詳細 --- */

.post .time,
.postlist .time,
.post2b .time,
.post4b .time {
	color: var(--color-font);
	font-size: var(--px14);
	background: var(--color-secondary);
	font-weight: 500;
}

.post .time a,
.post2b .time a,
.post4b .time a,
.postlist .time a {
	color: var(--color-font);
}

.postlist .ttls,
.postlist .date {
	font-size: var(--px16);
}

.postlist li,
.postlist li:first-child {
	border-bottom: 1px solid var(--color-table-border);
	border-top: none;
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 1100px) {
	.post {
		.c-postseparate {
			.c-postseparate__body {
				padding: var(--px80) var(--px60);
			}
		}
	}
}

@media screen and (max-width: 960px) {
	.post {
		.c-postseparate {
			-webkit-box-orient: vertical;
			-webkit-box-direction: reverse;
			-ms-flex-direction: column-reverse;
			flex-direction: column-reverse;

			.c-postseparate__header {
				-webkit-box-orient: horizontal;
				-webkit-box-direction: normal;
				-ms-flex-direction: row;
				flex-direction: row;
				-webkit-box-align: anchor-center;
				-ms-flex-align: anchor-center;
				align-items: anchor-center;
				padding: 0 var(--px20);
				gap: 20px;
			}

			.c-postseparate__body {
				width: 100%;
				padding: var(--px80) var(--px40);
			}

			.c-postseparate__img {
				width: 100%;
				height: 300px;
			}
		}
	}
}

/*=============================================
	sub page
=============================================*/

/* -------------------------------------------
   common style
   ------------------------------------------- */

header#h1Header {
	background: transparent;
	height: auto;
	z-index: -1;
	margin-top: -100px;
	overflow: visible;
	-webkit-clip-path: border-box;
	clip-path: border-box;

	&::before {
		background: url(/wp-content/uploads/bgimg_06.jpg.webp) no-repeat top left;
		background-size: cover;
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: -1;
		opacity: 1;
	}

	& h1.title {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: var(--px16);
		padding-block: calc(var(--px80) + 100px) var(--px80);
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		color: var(--color-font);
		font-size: var(--px30);
		font-weight: 500;
		max-width: var(--content-max-width);
		margin: 0 auto;
		width: 90%;
		line-height: 1.4;
		text-align: left;

		.subtxt {
			font-family: var(--font-family02);
			font-size: var(--px100);
			text-transform: capitalize;
			margin-left: -0.1em;
			text-align: left;
		}
	}
}

@media print,
screen and (max-width: 640px) {
	header#h1Header {
		margin-top: -100px;

		& h1.title {
			font-size: var(--px30);

			.subtxt {
				font-size: var(--px60);
				text-align: center;
			}
		}
	}
}

/*--------#breadcrumb--------*/

#breadcrumb {
	z-index: 1;
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	width: 90%;
	padding: var(--px16) 0 var(--px60)
}

#breadcrumb ul {
	width: 100%;
}

#breadcrumb ul li {
	line-height: 1;
}

#breadcrumb .subtxt {
	display: none;
}

/*--------#breadcrumb--------*/

.fw_contents .page_contents_inner {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: var(--px100w) calc((100vw - 100%) / 2);
	margin-top: 0;
}

/*--------btn--------*/

body:not(.home) .post {
	.c-btn--bgcolor {
		max-width: -webkit-fit-content;
		max-width: -moz-fit-content;
		max-width: fit-content;
	}
}

/*---------coln02-----------*/

.post .col2_list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.post .col2_list>li {
	width: 46%;
	margin-bottom: 5%;
}

@media print,
screen and (max-width: 414px) {
	.post .col2_list>li {
		width: 100%;
	}

	.post .col2_list>li:last-child {
		margin-bottom: 0;
	}
}

.post {
	.c-col {
		.aspect_img {
			width: 100%;
			position: relative;
			aspect-ratio: 1 / 0.667;
			overflow: hidden;
			line-height: 0;
		}

		.c-col__title {
			font-family: var(--font-family01);
			font-weight: 600;
			font-size: var(--px24);
			line-height: 1.4;
			color: var(--color-font);
			padding: 0;
			margin: var(--px18) 0 var(--px12);
			border-bottom: none;
		}

		.c-col__text {
			font-size: var(--px16);
		}
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.c-col {
			.c-col__title {
				font-size: var(--px24w);
			}

			.c-col__text {
				line-height: 1.6;
			}
		}
	}
}

/*---------table-----------*/

.post table {
	margin: var(--px30) auto;
	border: none;
	border-collapse: separate;
	border-spacing: 10px;
}

.post table th,
.post table td {
	padding: 20px 15px 18px;
	min-height: 40px;
	vertical-align: middle;
	border: none;
	color: var(--color-font);
	background: var(--color-background);
}

.post table th {
	border-bottom: solid 1px var(--color-font);
}

.post table td {
	border-bottom: solid 1px var(--color-table-border);
}

@media screen and (max-width: 640px) {
	.post table {
		border-spacing: 0;
	}

	.post table th {
		border-bottom: none;
		padding-bottom: 0;
	}

	.post table td {
		padding-top: 10px;
	}
}

/*---------c-table--style01-----------*/

@media screen and (max-width: 640px) {
	.post .c-table--style01 th {
		border-bottom: solid 1px var(--color-font);
		padding: 20px 15px 18px;
	}

	.post .c-table--style01 td {
		padding: 20px 15px 18px;
	}
}

/*---------default head-----------*/

.post {

	h2,
	.c-ttl--style01 {
		position: relative;
		background: transparent;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px12);
		color: var(--color-font);
		font-family: var(--font-family01);
		line-height: 1.4;
		font-weight: 500;
		margin: var(--px100) auto var(--px40);
		border: none;
		padding: 0;
		font-size: var(--px40);
		letter-spacing: 0.05em;

		&::after {
			content: '';
			position: relative;
			visibility: visible;
			display: block;
			width: 2.2em;
			height: 2px;
			background: var(--color-primary);
			margin: var(--px24) auto 0;
		}

		&::before,
		&:has(span):before,
		&:has(span):after,
		&.bordernone:before,
		&.bordernone:after {
			content: none;
		}
	}

	h3,
	.c-ttl--style02 {
		position: relative;
		line-height: 1.4;
		text-align: left;
		font-family: var(--font-family01);
		font-weight: 600;
		font-size: var(--px30);
		color: var(--color-font);
		padding: 0 0 var(--px12) 0;
		margin: var(--px40) 0 var(--px20);
		border-bottom: 1px solid;
		display: block;

		&::before,
		&::after {
			content: none;
		}
	}

	h4,
	.c-ttl--style03 {
		font-family: var(--font-family01);
		font-weight: 700;
		font-size: var(--px24s);
		letter-spacing: 0;
		margin: var(--px40) 0 var(--px18);
		padding-left: var(--px16);
		border-left: double 8px;
		background: transparent;
		color: var(--color-bk);
		line-height: 1.6;
		text-align: left;
		display: block;

		&::before,
		&::after {
			content: none;
		}
	}

	h5,
	.c-ttl--style04 {
		display: block;
		font-family: var(--font-family01);
		font-weight: 700;
		font-size: var(--px18);
		letter-spacing: 0;
		margin: var(--px30) 0 var(--px18);
		padding: 0px 6px;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		background: var(--color-primary);
		color: var(--color-wt);
		border: none;
		line-height: 1.6;
		text-align: left;
		display: block;

		&::before,
		&::after {
			content: none;
		}
	}

	.c-ttl--style06 {
		font-size: var(--px24s);
		font-family: var(--font-family01);
		font-weight: 700;
		letter-spacing: 0;
		padding: 0 0 var(--px16);
		margin: var(--px60) auto var(--px20);
		border-bottom: 3px solid var(--color-font);
		text-align: left;
		background: transparent;
		display: block;

		&::before,
		&::after {
			content: none;
		}
	}

	.c-ttl--style07 {
		position: relative;
		font-size: var(--px18);
		font-family: var(--font-family01);
		font-weight: 800;
		padding: 0 0 0 1.2em;
		margin: var(--px40) auto var(--px24);
		border: none;
		color: var(--color-primary);
		background: transparent;
		display: block;

		&::before {
			content: '';
			position: absolute;
			width: .7em;
			height: 4px;
			background: var(--color-primary);
			top: .8em;
			left: 0;
		}

		&::after {
			content: none;
		}
	}
}

@media print,
screen and (max-width: 640px) {
	.post {

		.c-ttl--style01 {

			&::before,
			&::after {
				height: 5px;
			}

			&::before {
				background-color: var(--color-primary);
				width: 60px;
			}

			&::after {
				background-color: #849fe4;
				width: 30px;
			}
		}
	}
}

/*---------text-----------*/

.post {
	.c-subpagehead {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px12);
		font-family: var(--font-family02);
		line-height: 1.4;
		font-weight: 500;
		margin: var(--px100) auto var(--px80);
		border: none;
		padding: 0;
		font-size: var(--px50);
		letter-spacing: 0.05em;

		.c-subpagehead__subtitle {
			display: block;
			font-family: var(--font-family01);
			font-size: var(--px24);
			font-weight: 400;
			margin: 0;
		}
	}

	.read_txt {
		font-size: var(--px18);
		text-align: center;
		line-height: 2.2;
		margin: var(--px60) auto var(--px80);

		p+p {
			margin-top: var(--px16);
		}
	}

	p {
		line-height: 2;
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.read_txt {
			line-height: 1.6;
			text-align: left;
			margin: var(--px18) auto;
		}

		p {
			line-height: 1.6;
		}
	}
}

/* -------------------------------------------
   会社概要
   ------------------------------------------- */

.post {
	.googlemap {
		margin: 0 auto;
	}
}

/* -------------------------------------------
  私たちにできること
   ------------------------------------------- */

.post {
	.c-scope-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: var(--px40) var(--px50);
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.c-scope-list__ico {
		width: 120px;
		height: 120px;
		border: 1px solid #333;
		border-radius: 50%;
		background-color: #fff;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 auto var(--px20);

		img {
			width: auto;
			height: auto;
			max-width: 60%;
			display: block;
			margin: 0 auto;
		}
	}

	.c-scope-list__text {
		text-align: center;
		font-size: var(--px20);
		font-weight: 500;
		line-height: 1.4;
	}
}

@media print,
screen and (max-width: 960px) {
	.post {
		.c-scope-list__text {
			font-size: var(--px24);

		}

		.c-scope-list__ico {
			width: 100px;
			height: 100px;
		}
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.c-scope-list {
			margin-top: var(--px60);
		}

		.c-scope-list__ico {
			width: var(--px160w);
			height: var(--px160w);
		}
	}

}

.post {
	.c-case {
		padding: var(--px60);
	}

	.c-case__title {
		font-size: var(--px30);
		font-weight: 600;
		color: var(--color-font);
		border: none;
		text-align: left;
		padding: 0;
		margin: 0 0 var(--px40);
		font-family: var(--font-family01);
	}

	.c-case__title--en {
		font-size: var(--px16);
		color: var(--color-font);
		font-family: var(--font-family02);
		display: block;
		margin-top: var(--px12);
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.c-case {
			padding: 0;
		}

		.c-case__title {
			font-size: var(--px24w);
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
			-ms-flex-direction: row;
			flex-direction: row;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			gap: var(--px12);
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;
		}

		.c-case__title--en {
			margin: 0;
			font-size: var(--px14);
		}
	}
}

.post {
	.flowlist01 {
		padding-left: 130px;
		position: relative;

		&::before {
			content: "";
			width: 15px;
			height: 100%;
			background: #eee;
			margin-left: -8px;
			display: block;
			position: absolute;
			top: 0;
			left: 130px;
		}

		&>li {
			position: relative;

			&:not(:last-child) {
				margin-bottom: 8vh;
			}

			.icon {
				margin-left: auto;
				font-size: var(--px20);
				background: var(--color-secondary);
				padding: 8px;
				position: absolute;
				top: -37px;
				left: -143px;
				z-index: 100;
				border-radius: 10px;
				line-height: 1.2;
				width: 120px;
				height: 120px;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
				-webkit-box-align: center;
				-ms-flex-align: center;
				align-items: center;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				gap: 3px;
				text-align: center;

				&::after {
					content: "";
					border-style: solid;
					border-width: 5px 0 5px 10px;
					border-color: transparent transparent transparent var(--color-secondary);
					position: absolute;
					top: 50%;
					left: 100%;
					-webkit-transform: translateY(-50%);
					-ms-transform: translateY(-50%);
					transform: translateY(-50%);
				}

				.icon__min {
					font-size: var(--px14);
					line-height: 1.3;
				}
			}

			dl {
				padding-left: 70px;
				position: relative;

				&:before,
				&::after {
					content: "";
					display: block;
					position: absolute;
					top: 20px;
				}

				&::before {
					width: 12px;
					height: 12px;
					margin-top: -3px;
					background: var(--color-primary);
					border-radius: 50%;
					left: -7px;
				}

				&::after {
					width: 50px;
					border-bottom: 1px dashed var(--color-primary);
					position: absolute;
					left: 5px;
					top: 23px;
				}

				dt {
					font-size: var(--px24);
					font-weight: 600;
					margin-bottom: var(--px20);
					padding-bottom: 8px;
					border-bottom: dotted 2px #ccc;
				}

				dd {
					padding: 0;

					&+dd {
						margin-top: var(--px16);
					}

					&.aspect_img {
						width: 100%;
						position: relative;
						aspect-ratio: 4 / 3;
						max-height: 300px;
						overflow: hidden;
						line-height: 0;

						img {
							max-width: 500px;
							width: 100%;
							height: 100%;
							margin-right: auto;
							margin-left: 0;
						}
					}
				}
			}
		}
	}
}

@media (max-width: 768px) {
	.post {
		.flowlist01 {
			padding-left: 20px;

			&::before {
				left: 19px;
			}

			&>li {
				.icon {
					position: relative;
					left: 0;
					top: inherit;
					display: block;
					height: auto;
					width: calc(100% - 20px);
					margin-bottom: var(--px18);

					&::after {
						left: -10px;
						-webkit-transform: translateY(-50%) rotate(180deg);
						-ms-transform: translateY(-50%) rotate(180deg);
						transform: translateY(-50%) rotate(180deg);
					}

					&::before {
						content: "";
						display: block;
						position: absolute;
						top: 18px;
						width: 12px;
						height: 12px;
						margin-top: -3px;
						background: var(--color-secondary);
						border-radius: 50%;
						left: -27px;
					}
				}

				dl {
					padding-left: 20px;

					&::after {
						content: none;
					}

					&:before {
						content: none;
					}

					dd {
						img {
							margin-right: auto;
							margin-left: auto;
						}
					}
				}
			}
		}
	}
}

/* -------------------------------------------
  個人のお客様へ
   ------------------------------------------- */

.post {
	.c-box {
		background: #f5f5f5;
		padding: var(--px80);
		border-radius: 0;
		margin: var(--px60) 0 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px30);

		.c-box__title {
			font-size: var(--px24);
			font-family: var(--font-family01);
			font-weight: 500;
			letter-spacing: 0;
			padding: 0;
			line-height: 1.8(--px14);
			border-bottom: none;
			text-align: center;
		}
	}
}

.post {

	.c-service-case__title {
		font-family: var(--font-family01);
		font-weight: 600;
		font-size: var(--px30);
		line-height: 1.4;
		color: var(--color-font);
		padding: 0;
		margin: var(--px40) 0 var(--px20);
		border-bottom: none;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: var(--px12);

		.c-service-case__subtitle {
			font-family: var(--font-family02);
			font-weight: 500;
			margin: 0;
			border: none;
			padding: 0;
			font-size: var(--px18);
		}

	}

	.c-service-case__subtitle {
		border-left: double 4px;
		padding-left: var(--px16);
	}

	.c-service-case__item {
		padding: 8px var(--px12);
		border-bottom: dotted 1px;
		font-size: var(--px18);
	}

}

.post {
	.c-individual-concept {
		position: relative;
		z-index: 1;
		margin-right: calc(((100vw - 100%) / 2) * -1);
		margin-left: calc(((100vw - 100%) / 2) * -1);
		padding: var(--px100) calc((100vw - 100%) / 2) var(--px100);
	}

	.c-individual-concept__inner {
		background: rgba(255, 255, 255, 0.7);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		padding: var(--px80) var(--px60);
	}

	.c-individual-concept__bg-texture {
		-webkit-clip-path: border-box;
		clip-path: border-box;
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: -2;

		img {
			position: fixed;
			top: 0;
			right: 0;
			width: 100%;
			height: 100%;
			pointer-events: none;
			-o-object-fit: cover;
			object-fit: cover;
		}
	}
}

/* -------------------------------------------
   コンセプト
   ------------------------------------------- */
.post {

	.c-concept {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: var(--px80);
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.c-concept__title {
		font-size: var(--px40);
		font-weight: 600;
		color: var(--color-font);
		border: none;
		text-align: left;
		padding: 0;
		margin: 0 0 var(--px40);
		font-family: var(--font-family01);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		gap: var(--px30);
		line-height: 2;
		letter-spacing: 0.1em;
		-ms-flex-negative: 0;
		flex-shrink: 0;

		&:before,
		&:after {
			content: none;
		}
	}

	.c-concept__title--en {
		font-size: var(--px16);
		color: var(--color-font);
		font-family: var(--font-family02);
		display: block;
		margin-top: var(--px12);
	}

	.c-concept__text {
		line-height: 3;
	}

	.c-title-hasimg {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		text-align: center;
		font-size: var(--px40);
		gap: 0;

		&::before,
		&::after {
			content: none;
		}
	}

	.c-title-hasimg img {
		max-width: 540px;
		height: auto;
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.c-concept {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;
			gap: var(--px60);
		}

		.c-concept__title {
			line-height: 1.8;
			margin: 0;
		}

		.c-concept__text {
			line-height: 2;
		}

		.c-concept__title--en {
			margin: 0;
		}

		.c-title-hasimg img {
			max-width: 300px;
			height: auto;
		}
	}
}

/*================================================
				CONTACT
================================================*/

@media print,
screen and (max-width: 768px) {
	#contact .c-column.c-fullarea {
		gap: var(--px16);
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="number"],
select,
textarea {
	vertical-align: middle;
	line-height: 30px;
	min-height: 50px;
	padding: 10px;
	border: none;
	border-radius: 0;
	color: var(--color-font);
	background: #f5f5f5;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wpcf7-form {
	padding: 0;
}

.wpcf7-form a {
	border-bottom: solid 1px;
}

.wpcf7-form a:hover {
	opacity: 0.7;
}

.wpcf7-form input[type=submit] {
	display: block;
	background: var(--color-primary);
	border: none;
	border-radius: 0px;
	font-family: var(--font-family01);
	font-weight: 500;
	font-size: var(--px16);
	line-height: 1.4;
	color: #fff;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	margin: var(--px30) auto 0;
	max-width: 240px;
	width: 100%;
	padding: var(--px20) var(--px30);
	border-radius: var(--px80);

	&:hover {
		color: #fff;
		background: var(--color-primary-tint);
	}
}

.submit_btn,
.post .submit_btn {
	position: relative;
	width: auto !important;
}

.submit_btn .wpcf7-spinner,
.post .submit_btn .wpcf7-spinner {
	top: inherit;
	background-color: #adadad;
}

.wpcf7-form .must {
	background: var(--color-primary-shade);
}

/*================================================
				NOTFOUND
================================================*/

body.error404 #wrapper section h1 {
	padding: 0;
	font-family: var(--font-family01);
	background: transparent;
	margin: 20px 0 calc(40px + (1vw - 19.2px) * 1.6828) 0;
	/*40px-14px*/
	color: var(--color-bk);
	font-weight: 500;
	font-size: calc(3rem + (1vw - 1.92rem) * 0.6472);
	/*3rem-1.7rem*/
	line-height: 1.4;
	letter-spacing: -1px;
	padding-bottom: 10px;
	border-bottom: solid 1px var(--color-bk);
	width: 100%;
}

/*================================================
				sitemap
================================================*/

.post ul#sitemap_list>li {
	margin-bottom: 5px;
	padding: var(--rem24) 0 var(--rem24) 5px;
	background: none;
	border-bottom: solid 1px var(--color-table-border);
}

.post ul#sitemap_list>li a {
	font-weight: 500;
	font-family: var(--font-family02);
	color: var(--color-font);
}