@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=Montserrat:wght@100..900&family=Train+One&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
	--color-background: #fff;
	--color-font: #444444;
	--color-primary: #2679BD;
	--color-primary-shade: #002173;
	--color-primary-tint: #44abff;
	--color-secondary: #3BB296;
	--color-secondary-tint: #89C9BA;
	--color-table-border: #CCCCCC;
	--body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
	--body-font-family: "Zen Maru Gothic", sans-serif;
	--content-max-width: 1240px;
	--header-background: #fff;
	--header-color-font: #221E1F;
	--header-color-primary: #3BB296;
	--header-color-primary-shade: #89C9BA;
	--header-color-primary-tint: #e4fff9;
	--footer-background: #36434B;
	--footer-color-font: #F2F7FA;
	--footer-color-primary: #F2F7FA;
	--color-wt: #fff;
	--color-bk: #444444;
	--color-fw: #F2F7FA;
	--font-family01: "Zen Maru Gothic", sans-serif;
	--font-family02: "Zen Kaku Gothic New", sans-serif;
	--font-family03: "Montserrat", "Zen Maru Gothic", sans-serif;
	--font-family04: "Train One", "Zen Kaku Gothic New", sans-serif;
	--font-family05: "Noto Sans JP", sans-serif;
	--px20: min(calc(20px + (1vw - 19.2px) * 0.1294), 20px);
	/*20px-18px*/
	--px24: min(calc(24px + (1vw - 19.2px) * 0.2589), 24px);
	/*24px-20px*/
	--px24s: min(calc(24px + (1vw - 19.2px) * 0.3883), 24px);
	/*24px-18px*/
}

body {
	font-weight: 500;

	&:before {
		content: "";
		background: var(--color-fw);
		border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
		animation: round_s 25s ease-in-out infinite;
		width: 120%;
		height: 30%;
		position: absolute;
		left: 0;
		top: -15%;
		transform: translateX(-50%);
		z-index: -1;
	}

	&.home {
		&:before {
			width: 100%;
			height: 140%;
			z-index: -99;
		}
	}
}

@media print,
screen and (max-width: 768px) {
	body {
		&.home {
			&:before {
				width: 192%;
				height: 102%;


			}
		}
	}
}

.post p {
	line-height: 2;
}

@media print,
screen and (max-width: 768px) {
	.post p {
		line-height: 1.8;
	}
}

/* -------------------------------------------
	    keyframes
   ------------------------------------------- */

@keyframes round_s {
	50% {
		border-radius: 45% 55% 68% 32% / 38% 73% 27% 62%;
	}

	75% {
		border-radius: 33% 67% 20% 80% / 74% 49% 51% 26%;
	}
}

/*=============================================
					MV
=============================================*/

/* -------------------------------------------
    slide
   ------------------------------------------- */

.c-mainimg {
	position: relative;
}

.n2-ss-layer.n2-ow.fvimg {
	border-radius: 0 0 0 var(--px160);
	overflow: hidden;
}

/* -------------------------------------------
    Campaign Banner
   ------------------------------------------- */
.post {

	.c-campaign-banner-wrap {
		display: flex;
		justify-content: center;
		max-width: 420px;
		width: 100%;
		text-align: center;
		position: absolute;
		bottom: -7%;
		right: 7%;
		transform: none;
	}

	.c-campaign-banner {
		display: block;
		position: relative;
		width: 100%;
		max-width: 500px;
		/* バナーの最大幅 */
		background-color: var(--color-primary);
		color: #fff;
		text-decoration: none;
		border-radius: 30px;
		/* 右下の円が飛び出すため、右下の角丸だけ調整して融合させる */
		border-bottom-right-radius: 60px;
		padding: 40px 30px;
		box-shadow: 0 10px 20px rgba(38, 113, 185, 0.2);
		transition: transform 0.3s, box-shadow 0.3s;
		margin: 20px;
		/* バッジのはみ出し分を確保 */

		&:hover {
			transform: translateY(-5px);
			box-shadow: 0 15px 30px rgba(38, 113, 185, 0.3);

			.c-campaign-banner__arrow {
				transform: translateX(5px);
			}
		}

		/* --- Badge (CHECK) --- */
		.c-campaign-banner__badge {
			position: absolute;
			top: -20px;
			left: -15px;
			background-color: #fcc800;
			/* 黄色 */
			padding: 10px 20px;
			border-radius: 50px;
			font-weight: 700;
			color: #2671b9;
			/* 青文字 */
			font-size: 16px;
			letter-spacing: 0.05em;
			transform: rotate(-5deg);
			box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
			z-index: 2;

			/* 吹き出しのしっぽ */
			&::after {
				content: "";
				position: absolute;
				bottom: -6px;
				right: 20px;
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 10px 8px 0 0;
				border-color: #fcc800 transparent transparent transparent;
				transform: rotate(20deg);
			}
		}

		/* --- Content --- */
		.c-campaign-banner__content {
			text-align: center;
		}

		.c-campaign-banner__title {
			font-size: var(--px24);
			font-weight: 700;
			margin-bottom: var(--px20);
			color: #fff;
			text-align: center;

			/* Reset h3 default */
			margin-top: 0;
			line-height: 1.4;
		}

		.c-campaign-banner__text {
			font-size: 14px;
			line-height: 1.8;
			color: #fff;
			margin: 0;
		}

		/* --- Arrow Circle (Bottom Right) --- */
		.c-campaign-banner__arrow-circle {
			position: absolute;
			bottom: -30px;
			right: -55px;
			width: 120px;
			height: 120px;
			background-color: var(--color-primary);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			z-index: 1;
			/* 本体と融合して見えるようにする */
			box-shadow: none;
		}

		.c-campaign-banner__arrow {
			position: relative;
			transition: 0.3s all;

			&:before {
				content: "";
				position: absolute;
				background: url(/wp-content/uploads/btnarrow.png) no-repeat center / contain;
				width: 25px;
				height: auto;
				aspect-ratio: 25 / 14;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);
				-webkit-filter: brightness(0) invert(1);
				z-index: 1;
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 1240px) {
	.post {
		.c-campaign-banner {
			display: none;
		}
	}
}

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

nav#mainNav ul li a b {
	font-weight: 500;
	transition: 0.3s all;
}

.c-logotext {
	display: block;
	line-height: 1.4;
	font-size: var(--px14) !important;
	margin-bottom: 4px;
	margin-left: auto;
	margin-right: auto;
	letter-spacing: 0.2em;
	font-weight: 500;
	width: fit-content;
	color: var(--color-font);
}

.c-logotext.c-logotext--info {
	display: block;
	line-height: 1.2;
	padding: 6px var(--px12) !important;
	background: #E0ECF4;
	width: fit-content;
	font-size: var(--px12) !important;
	border-radius: var(--px20);
	letter-spacing: 0.01em;
	font-weight: 500;
}

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

	#header .logo {
		padding: 5px 20px;
		margin-left: 0;
		background: transparent;
		position: absolute;
		left: 10px;
		top: 10px;
		transition: none;
		z-index: 1;
		height: auto;
	}

	#header .logo img {
		max-width: 360px;
		max-height: 80px;
	}

	#header .header__nav-contact {
		flex-shrink: 0;
		padding: 0 30px;
		background: #ffffff5e;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(30px);
		border-radius: 0 0 0 10px;
		margin-left: auto;
	}

	#header ul.header__contact {
		margin-left: var(--px20);

		a.head_btn {

			&.btn_beginner {
				display: flex;
				flex-direction: row;
				justify-content: center;
				align-items: center;
				background: var(--header-color-primary);
				color: #fff;
				font-size: var(--px16);
				font-weight: 600;
				line-height: 1.4;
				padding: var(--px24);
				-webkit-transition: .3s;
				transition: .3s;
				gap: 8px;

				.c-cta__btn-icon {
					display: flex;
					flex-direction: row;
					justify-content: center;
					align-items: center;
				}

				img {
					width: 100%;
					height: auto;
					max-height: 25px;
				}

				&:hover {
					opacity: 0.5;

					img {
						opacity: 1;
					}
				}
			}
		}
	}


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

	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;

		b {
			background: transparent;
			color: var(--color-primary);
		}
	}

	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;
	}
}

@media print,
screen and (max-width: 1500px) {
	nav#mainNav ul li a {
		padding: 10px;
	}

	#header .logo img {
		max-width: 250px;
	}

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

@media print,
screen and (max-width: 1200px) {
	nav#mainNav ul li a {
		padding: 5px;
	}
}

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

@media print,
screen and (max-width: 670px) {
	body.mobile #header .logo img {
		max-width: 240px;
	}
}


.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) {

	/* --- arrow reset --- */

	body.mobile #header {
		background: transparent;
		box-shadow: none;
	}

	body.mobile #header .inner {
		height: 100%;
	}

	body.mobile #header .logo {
		background: #fff;
		box-shadow: 0 0 6px rgba(0, 0, 0, .2);
	}

	body.mobile nav#mainNav {
		width: 80%;
		margin-left: auto;
		margin-right: 0;
	}

	body.mobile nav .panel {
		height: 100%;
		background: #fff;
		padding: 1em;
	}

	body.mobile nav#mainNav.menuOpen {
		width: 80%;
		right: 0;
	}

	body.mobile nav#mainNav a.menuOpen {
		background-image: none;
		border: none;
		border-top: 1px solid #ddd;
	}

	/* --- arrow --- */

	body.mobile nav#mainNav ul li a b {
		position: relative;
		width: 100%;
		display: block;
		padding-right: 3em;
	}

	body.mobile nav#mainNav ul li a b:before {
		content: "\f061";
		font-family: "Font Awesome 6 Free";
		font-weight: 600;
		color: var(--color-secondary);
		position: absolute;
		right: 0.5em;
		top: 50%;
		transform: translateY(-50%);
		font-size: 90%;
	}

	/* --- submenu --- */

	body.mobile nav#mainNav ul.sub-menu a,
	body.mobile nav#mainNav ul.sub-menu li:last-child a {
		background: var(--color-secondary);
		padding: 1em 3em 1em 1em;
		color: #fff;
		font-weight: 500;
		position: relative;
	}

	body.mobile nav#mainNav ul.sub-menu a:hover,
	body.mobile nav#mainNav ul.sub-menu li:last-child a:hover {
		background: var(--color-secondary-tint) !important;
		padding: 1em 3em 1em 1em;
		color: #fff;
	}

	/* --- submenu arrow--- */

	body.mobile nav#mainNav ul.sub-menu a:before,
	body.mobile nav#mainNav ul.sub-menu li:last-child a:before {
		content: "\f061";
		font-family: "Font Awesome 6 Free";
		font-weight: 600;
		color: #fff;
		position: absolute;
		right: 1.5em;
		top: 50%;
		transform: translateY(-50%);
		font-size: 80%;
	}

	/* --- submenu --- */
	body.mobile nav#mainNav ul.sub-menu li>ul.sub-menu a {
		padding: 1em 3em 1em 2em !important;
	}
}

#header {
	ul.header__contact {
		height: auto;
	}

	.c-cta {
		background: transparent;
		padding: 0;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		max-width: none;
		margin: 0 var(--px12);
	}

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

	.c-cta__btn {
		width: 240px;
		min-height: 80px;
	}

	.c-cta__btn--tel {
		color: var(--color-bk);
		font-size: var(--px20);
		border: 1px solid var(--color-bk);
		border-radius: var(--px80);
		background: #ffffff0d;
		-webkit-backdrop-filter: blur(30px);
		backdrop-filter: blur(10px);

		&:hover {
			color: var(--color-wt);
			opacity: 1;
			background: #444444;
			text-decoration: none;
		}
	}
}

@media only screen and (max-width: 1023px) {
	#header {
		.c-cta {
			width: 100%;

			.c-cta__btnlist {
				margin: 8px 0;
				padding: 0;
			}

			.c-cta__btnitem {
				width: 48%;

				.c-cta__btn {
					width: 100%;
				}
			}
		}
	}
}

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

/* -------------------------------------------
   CTA Section (Info + Map)
   ------------------------------------------- */
.post {
	.c-cta {
		display: flex;
		width: 100%;
		margin-top: 0;
		background-color: var(--color-fw);
	}

	/* --- Left Block (Info) --- */
	.c-cta__block--info {
		width: 50%;
		padding: 60px 5%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	/* Footer Logo in CTA */
	.footer__logo {
		margin-bottom: var(--px30);

		img {
			max-width: 350px;
			width: 100%;
			height: auto;
			margin-bottom: var(--px16);
		}
	}

	.c-cta__footerinfo {
		font-size: var(--px16);
		line-height: 1.6;
		color: var(--color-font);
	}

	/* Headlines */
	.c-cta__read {
		font-size: var(--px30);
		font-weight: 700;
		color: var(--color-primary);
		margin-bottom: var(--px20);
		line-height: 1.4;
	}

	.c-cta__text {
		font-size: var(--px16);
		margin-bottom: var(--px20);
		color: var(--color-font);
		line-height: 1.6;
	}

	/* --- Buttons --- */

	.c-cta__btnlist {
		display: flex;
		gap: var(--px20);
		list-style: none;
		padding: 0;
		margin: 0 0 var(--px16) 0;
	}

	.c-cta__btnitem {
		flex: 1;
		max-width: 300px;
	}

	.c-cta__btn {
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 4px;
		text-decoration: none;
		transition: opacity 0.3s;
		padding: var(--px30) var(--px20);

		&:hover {
			opacity: 0.5;

			img {
				opacity: 1;
			}

		}
	}

	.c-cta__btn-body {
		display: flex;
		align-items: center;
		gap: var(--px16);
	}

	.c-cta__btn-icon img {
		width: var(--px30);
		height: auto;
		display: block;
	}

	/* Tel Button */

	.c-cta__btn--tel {
		background-color: var(--color-wt);
		color: var(--color-primary);
		border: 1px solid var(--color-wt);

		b {
			font-size: var(--px24);
			font-family: var(--font-family03);
			letter-spacing: 0.05em;
			color: var(--color-font);
		}
	}

	/* Mail Button (Blue) */

	.c-cta__btn--mail {
		background-color: var(--color-primary);
		color: var(--color-wt);

		b {
			font-size: var(--px20);
			color: var(--color-wt);
		}
	}

	/* Reception Info */

	.c-cta__block--info p:last-child {
		font-size: var(--px14);
		color: var(--color-font);
		line-height: 2.2;
	}

	/* note */

	.note {
		font-size: var(--rem14);

		b {
			font-weight: 500;
		}
	}


	/* --- Right Block (Map) --- */

	.c-cta__block--map {
		width: 50%;
		position: relative;
		min-height: 400px;
		/* PCでの最小高さ */
	}

	.googlemap {
		width: 100%;
		height: 100%;

		iframe {
			width: 100%;
			height: 100%;
			border: 0;
			vertical-align: bottom;
			min-height: 400px;
			/* iframeが潰れないように */
		}
	}
}

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

@media screen and (max-width: 768px) {
	.post {

		.c-cta {
			flex-direction: column;
		}

		.c-cta__block--info {
			width: 100%;
			padding: var(--px80) 3%;
		}

		.c-cta__btnlist {
			flex-direction: column;
			gap: 10px;
		}

		.c-cta__btn {
			width: 100%;
		}

		.c-cta__block--map {
			width: 100%;
			height: 300px;
			min-height: 300px;
			overflow: hidden;

			.googlemap iframe {
				min-height: 300px;
			}
		}
	}
}

/* -------------------------------------------
   Footer Styles
   ------------------------------------------- */

#footer {
	background-color: var(--footer-background);
	/* ダークグレー */
	color: var(--color-wt);
	padding: var(--px50) 0 var(--px30);
	font-size: var(--px14);

	.inner {
		max-width: none;
		width: 100%;
		margin: 0 auto;
		padding: 0 var(--px100);
	}

	a {
		color: var(--color-wt);
		text-decoration: none;
		transition: opacity 0.3s;

		&:hover {
			opacity: 0.7;
		}
	}

	/* Footer Menu List */

	.footnav {
		max-width: 860px;
	}

	.footnav ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0;
		justify-content: flex-start;
		gap: 0;
		padding: 0;
		margin: 0;

		&>li {
			padding: 0;
			margin: 0;

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

			a {
				padding: 8px var(--px12);
				font-weight: 400;

				&:hover {
					opacity: 0.5;
					text-decoration: none;

				}
			}
		}
	}

	/* Footer Bottom (SNS & Copyright) */
	.footer_bottom {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: var(--px80);
	}

	.socialicon ul {
		margin: 0;
		flex-direction: row;
	}

	#copyright {
		margin: 0;
		text-align: left !important;
	}

}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {

	/* Footer */
	#footer {
		padding: var(--px60) 0;

		ul {
			flex-direction: column;
			gap: var(--px16);
			margin-bottom: var(--px30);
		}

		.footer_bottom {
			flex-direction: column;
			align-items: flex-start;
			gap: var(--px20);
			margin-top: var(--px20);
		}

		.inner {
			padding: 0 3%;
		}

		& .footer__logo {
			img {
				max-width: 240px;
			}
		}

	}
}

/*------サイドcontact---------------------*/

#sidemenu {
	position: fixed;
	right: 1%;
	top: 20%;
	z-index: 999;
}

#sidemenu>div+div {
	margin-top: 0.5rem;
}

.side_mail,
.side_tel {
	width: 80px;
	height: 80px;
	position: relative;
	text-align: center;
	-webkit-transition: 0.3s all;
	-o-transition: 0.3s all;
	transition: 0.3s all;
}


#sidemenu a {
	height: 100%;
	width: 100%;
	padding: 14px;
	background: #fff;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1.6;
	color: var(--color-font);
	font-family: var(--font-family03);
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	box-shadow: 0 10px 20px rgba(38, 113, 185, 0.2);
}

#sidemenu .side_mail a {
	background-color: var(--color-primary);
	color: #fff;
}

#sidemenu a>img {
	max-width: 28px;
	height: auto;
}

#sidemenu a:hover {
	opacity: 0.5;

	img {
		opacity: 1;
	}
}

.mobile #sidemenu {
	display: none;
}

@media only screen and (max-width: 1100px) {
	#sidemenu {
		top: 46%;
	}

	#sidemenu>div {
		width: 64px;
	}

	.side_mail,
	.side_tel {
		height: 64px;
	}

	#sidemenu a {
		font-size: 12px;
		padding: 6px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

/*================================================
			    subpage-parts
================================================*/

/*----------------------------
layout
-----------------------------*/


.fw_contents .page_contents_inner:nth-child(even) {
	background: var(--color-fw);
}

.fw_contents {
	.page_contents_inner {
		padding-top: var(--px100);
		padding-bottom: var(--px100);

		&+.page_contents_inner {
			margin-top: 0;
		}
	}

}

body:not(.home) {
	position: relative;
	background: var(--color-background);

	#wrapper {
		width: 94%;
	}
}

/*----------------------------
parts
-----------------------------*/

.post {
	.read_txt {
		font-size: var(--px20);
		font-weight: 600;
		text-align: center;
		letter-spacing: .01em;
		line-height: 2.2;
		margin: var(--px60) auto var(--px80);
	}
}

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

body:not(.home) {
	#wrapper {
		width: 94%;
	}

	.post p:not([class])+p:not([class]) {
		margin-top: 1em;
	}

	b {
		color: var(--color-font);
		font-weight: 700;
		display: inline-block;
	}
}

/*================================================
   					テーブル
================================================*/

.post {
	table.c-table--style01 {
		margin: var(--px30) auto;
		border-spacing: 10px;
		table-layout: fixed;
		border: none;
		text-align: center;

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

		th {
			color: var(--color-font);
			background-color: var(--color-wt);
			border-bottom: solid 2px var(--color-font);
		}

		td {
			border-bottom: solid 2px var(--color-table-border);
		}
	}
}

/*================================================
				リンクボタンリスト
================================================*/

.linkBtn,
.post .linkBtn {
	position: relative;
	border: none;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-width: 300px;
	max-width: 400px;
	border-radius: 0;
	z-index: 1;
	box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.25);
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-transition: 0.3s all;
	-o-transition: 0.3s all;
	transition: 0.3s all;
	margin: var(--px40) auto 0;
	display: flex;
	padding: var(--px24) var(--px40) var(--px24) var(--px24);
	color: var(--color-wt);
	font-family: var(--font-family01);
	font-weight: 600;
	font-size: var(--px16);
	text-align: left;
	width: 100%;
	padding-right: 60px;
	background: var(--color-primary-tint);

	&::after {
		border: none !important;
		content: "\f101";
		position: static;
		font-family: 'Font Awesome 6 Free';
		font-style: normal;
		font-weight: 600;
		font-size: var(--px18);
		line-height: 1.6;
		border: none;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		height: -webkit-fit-content;
		height: -moz-fit-content;
		height: fit-content;
		-webkit-transform: inherit;
		-ms-transform: inherit;
		transform: inherit;
		margin: 0 0 0 auto;
		display: inline-block;
		color: var(--color-wt);
		background: var(--color-primary-shade);
		width: 60px;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 0;
	}

	&:hover {
		color: var(--color-wt);
		background: var(--color-primary);
		opacity: 1;

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

	&.leftbtn {
		margin-left: 0;
		margin-right: auto;
	}

	&.rightbtn {
		margin-left: auto;
		margin-right: 0;
	}
}

/* -------------------------------------------
   Shared Utilities (Buttons)
   ------------------------------------------- */

/* -------------------------------------------
   Shared Utilities (Buttons)
   ------------------------------------------- */

.post {

	/* Buttons */
	.c-default-btn {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		padding: var(--px16) var(--px40);
		background-color: var(--color-primary-tint);
		color: var(--color-wt);
		font-size: var(--px18);
		gap: var(--px12);
		font-weight: 700;
		text-decoration: none;
		transition: opacity 0.3s;
		min-width: 200px;
		align-self: stretch;

		&:hover {
			opacity: 0.8;
			color: var(--color-wt);
			background-color: var(--color-primary);
		}

		&.c-default-btn--small {
			padding: 10px var(--px20);
			font-size: var(--px12);
			min-width: auto;
		}

		&.u--telbtn {
			font-family: var(--font-family01);
			font-size: var(--px24);
			font-weight: 500;
			display: flex;
			background: #4B4B4B;
			align-items: center;

			&:hover {
				opacity: 1;
			}
		}
	}

	.c-default-arrow-btn {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: var(--px50);
		height: var(--px50);
		background-color: #001441;
		color: var(--color-wt);
		text-decoration: none;
		position: relative;
		-webkit-transition: all 0.3s;
		-o-transition: all 0.3s;
		transition: all 0.3s;

		&::after {
			content: "\f101";
			position: static;
			font-family: 'Font Awesome 6 Free';
			font-style: normal;
			font-weight: 600;
			color: var(--color-wt);
			font-size: var(--px20);
		}

		&:hover {
			opacity: 0.8;
			color: var(--color-wt);
		}

		&.c-default-arrow-btn--small {
			width: var(--px80);
			height: var(--px80);
		}
	}
}

/*================================================
			layoutリンクボタンリスト
================================================*/

.post {

	/*---ボタンリストレイアウト---*/

	.c-btnlist {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: var(--px40) auto 0;
		gap: var(--px14) 2%;

		.c-btnlist__listitem {
			position: relative;
		}

		.c-btnlist__btn {
			position: relative;
			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-align: center;
			-ms-flex-align: center;
			align-items: center;
			-webkit-box-pack: start;
			-ms-flex-pack: start;
			justify-content: flex-start;
			padding: var(--px18) 60px var(--px18) var(--px30);
			gap: var(--px20);
			height: 100%;
			font-family: var(--font-family01);
			font-weight: 500;
			font-size: var(--px16);
			text-align: left;
			line-height: 1.4;
			width: 100%;
			color: var(--color-wt);
			-webkit-transition: all 0.3s;
			-o-transition: all 0.3s;
			transition: all 0.3s;
			border-radius: var(--px80);
			border: none;
			background: var(--color-primary);

			&.c-btnlist__btn--external:after {
				content: "\f08e";
				font-family: "Font Awesome 6 Free";
				font-weight: 900;
				font-size: var(--px16);
				line-height: 1;
				color: var(--color-wt);
				position: absolute;
				right: 15px;
				top: 50%;
				-webkit-transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				transform: translateY(-50%);
				width: auto;
				height: auto;
				border: none;
				margin: 0;
			}

			&:hover {
				background: var(--color-primary-tint);
				color: var(--color-wt);

				&:after {
					color: var(--color-wt);
				}
			}
		}

		&.c-btnlist--anchor {
			.c-btnlist__btn {

				&:after {
					content: "\f358";
					font-family: "Font Awesome 6 Free";
					font-weight: 900;
					font-size: var(--px16);
					line-height: 1;
					color: var(--color-wt);
					position: absolute;
					right: 15px;
					top: 50%;
					-webkit-transform: translateY(-50%);
					-ms-transform: translateY(-50%);
					transform: translateY(-50%);
					width: auto;
					height: auto;
					border: none;
					margin: 0;
					-webkit-transition: all 0.3s;
					-o-transition: all 0.3s;
					transition: all 0.3s;
				}

				&:hover {
					&:after {
						color: var(--color-wt);
					}
				}
			}
		}
	}
}

@media print,
screen and (max-width: 640px) {
	.post {
		.c-btnlist {
			.c-btnlist__listitem {
				width: 100%;
				max-width: 240px;
			}

			.c-btnlist__btn {
				max-width: none;
				width: 100%;
				min-width: auto;
				line-height: 1.4;
				font-size: var(--px14);
			}
		}
	}
}

/*================================================
				eyecatch
================================================*/

header#h1Header {
	background: transparent;
	height: auto;
	z-index: -1;
	overflow: visible;
	max-width: none;
	margin: 0 auto;

	&:before {
		content: "";
		background: url(/wp-content/uploads/commoncatch.jpg.webp) no-repeat center / cover;
		position: absolute;
		bottom: 0;
		right: 0;
		left: inherit;
		width: 60%;
		height: 100%;
		z-index: -2;
		opacity: 1;
		border-radius: 0 0 0 var(--px120);
	}

	h1.title {
		position: relative;
		padding-block: calc(18rem + (1vw - 1.92rem) * 9.7087) calc(10rem + (1vw - 1.92rem) * 2.5890);
		/*180-30(1920-1024)*/
		/*70-30(1920-1024)*/
		padding-inline: 0;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;
		color: var(--color-font);
		font-size: var(--px40);
		font-weight: 700;
		font-family: var(--font-family02);
		line-height: 1.2;
		text-transform: lowercase;
		display: block;
		text-transform: capitalize;
		max-width: var(--content-max-width);
		margin: 0 auto;
		text-align: left;

		&>span:not([class]) {
			display: block;
			font-family: var(--font-family01);
			font-weight: 700;
			width: fit-content;
			font-size: var(--px50);
			letter-spacing: 0;
			margin: 0 0 var(--px18);
			padding: 4px var(--px16) 6px;
			background: var(--color-wt);
			color: var(--color-font);
			border: none;
			line-height: 1.6;
			border-radius: 8px;
		}

		.subttl {
			display: block;
			background: transparent;
			padding: 0;
			font-family: var(--font-family04);
			font-weight: 400;
			margin-top: var(--px18);
			font-size: var(--px30);
			text-transform: uppercase;
		}
	}
}

@media print,
screen and (max-width: 1240px) {
	header#h1Header {
		h1.title {
			padding-inline: 3%;
		}
	}
}

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

	header#h1Header {
		h1.title {
			&>span:not([class]) {
				font-size: var(--px40);
			}
		}
	}
}

/*================================================
					見出し
================================================*/

.post {

	h2,
	.c-ttl--style01 {
		position: relative;
		color: var(--color-font);
		font-size: var(--px40w);
		font-weight: 900;
		font-family: var(--font-family02);
		line-height: 1.4;
		background: transparent;
		padding: calc(var(--px40) + 2%) 0 0;
		margin: var(--px120) auto var(--px60);
		text-align: center;
		letter-spacing: 0;
		border: none;

		&>.c-ttl__subtxt {
			font-size: var(--px30);
			display: block;
			font-family: var(--font-family04);
			font-weight: 400;
		}

		&::before {
			content: '';
			background: url(/wp-content/uploads/parts_subttl.svg) no-repeat center / contain;
			width: var(--px240);
			height: var(--px40);
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
		}

		&::after {
			content: none;
		}
	}

	h3,
	.c-ttl--style02 {
		position: relative;
		font-size: var(--px30w);
		font-family: var(--font-family02);
		font-weight: 900;
		padding: var(--px18) 8px;
		margin: var(--px60) 0 var(--px40);
		border: none;
		border-bottom: solid 3px;
		background: transparent;
		color: var(--color-bk);
		line-height: 1.4;
		text-align: left;

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

	h4,
	.c-ttl--style03 {
		font-family: var(--font-family02);
		font-weight: 900;
		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;

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

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

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

	.c-ttl--style05 {
		font-size: var(--px24s);
		font-family: var(--font-family02);
		font-weight: 700;
		letter-spacing: 0;
		padding: var(--px12);
		margin: var(--px60) auto var(--px20);
		border: 3px solid var(--color-font);
		text-align: center;
		border-radius: var(--px12);

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

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

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

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

/*================================================
					front top
================================================*/

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

.post .front_contents {
	padding: 0;
}

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

.post .front_contents {
	.c-basebtn__area {
		width: 100%;
		margin-top: var(--px30);
	}

	.c-basebtn {
		border-top: 3px solid var(--color-font);
		border-bottom: 3px solid var(--color-font);
		position: relative;
		padding-block: var(--px20);
		display: block;
		margin-inline: auto;
		width: min(400px, 90%);
		font-weight: 700;
		text-align: center;
		color: var(--color-font);
		font-size: var(--px18);
		transition: all ease 0.8s;

		&::after {
			content: "";
			display: inline-block;
			position: absolute;
			color: var(--color-primary);
			background: url(/wp-content/uploads/btnarrow.png) no-repeat center / contain;
			width: 25px;
			height: auto;
			aspect-ratio: 25 / 14;
			right: 5%;
			top: calc(50% - .3em);
			transform: inherit;
		}

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

			&::after {
				background-image: url(/wp-content/uploads/btnarrow_wh.png);
				animation: rote 0.7s;
			}
		}
	}
}

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

.post .front_contents {

	.c-title {
		display: flex;
		flex-direction: column;
		position: relative;
		color: var(--color-font);
		font-size: var(--px50);
		font-weight: 900;
		font-family: var(--font-family02);
		line-height: 1.4;
		background: transparent;
		padding: 0;
		margin: var(--px120) auto var(--px60);
		text-align: center;
		letter-spacing: 0;
		border: none;
		gap: var(--px12);

		&>.c-title__subtxt {
			font-size: var(--px30);
			display: block;
			font-family: var(--font-family04);
			font-weight: 400;
		}

		&.c-title--min {
			font-size: var(--px40w);
			gap: 8px;

			&>.c-title__subtxt {
				font-size: var(--px20);
			}
		}

		&.c-title--left {
			width: fit-content;
			margin-left: 0;
		}

		&.c-title--sideimg {
			position: relative;
		}

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

/* -------------------------------------------
   sec01 Overlap Banner
   ------------------------------------------- */

.post .sec01 {
	&.front_contents {
		padding: var(--px120) 0 var(--px40);
	}

	.wrapper_content {
		position: relative;
		width: 94%;
		max-width: 1580px;
		margin: 0 auto;
	}

	&:before,
	&:after {
		content: "";
		position: absolute;
		z-index: -10;
	}

	&:before {
		background: var(--color-secondary-tint);
		border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
		animation: round_s 25s ease-in-out infinite;
		width: 30%;
		height: 50%;
		left: -10%;
		top: 0%;
	}

	&:after {
		background: #FDD000;
		border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
		animation: round_s 25s ease-in-out infinite;
		width: 30%;
		height: 50%;
		right: 0;
		bottom: 0;
	}
}

.post {
	.c-overlap-banner {

		.c-overlap-banner__inner {
			position: relative;
			margin: 0 auto;
			padding: 0 0 var(--px80);
			min-height: 400px;
			display: flex;
			align-items: flex-end;
		}

		/* --- Figure (Image) --- */
		.c-overlap-banner__figure {
			position: relative;
			width: 82%;
			margin-left: auto;
			margin-right: 0;
			z-index: 1;
			border-radius: var(--px100);
			overflow: hidden;
			aspect-ratio: 1240 / 640;

			/* Reset */
			padding: 0;
			line-height: 0;
		}

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

		/* --- Content Box --- */
		.c-overlap-banner__content {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 46%;
			background: rgba(255, 255, 255, 0.8);
			padding: var(--px60);
			z-index: 2;
			border-radius: 8px;
		}

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

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

		p {
			margin: 0;
			padding: 0;
		}

		.c-overlap-banner__title {
			font-size: var(--px40);
			font-weight: 700;
			color: var(--color-font);
			margin-bottom: var(--px20);
			line-height: 1.5;
			text-align: left;
			display: block;
		}

		.c-overlap-banner__text {
			font-size: var(--px20);
			line-height: 2.2;
			color: var(--color-font);
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {

	.post .sec01 {
		&:before {
			width: 30%;
			height: 23%;
		}

		&:after {
			width: 30%;
			height: 23%;
		}

		&.front_contents {
			padding-top: var(--px80);
		}
	}

	.post {
		.c-overlap-banner {

			.c-overlap-banner__inner {
				display: block;
				padding: 0 var(--px20);
				min-height: auto;
			}

			.c-overlap-banner__figure {
				width: 100%;
				margin-left: 0;
				margin-bottom: 0;
				border-radius: var(--px40);
			}

			.c-overlap-banner__content {
				position: relative;
				bottom: auto;
				left: auto;
				width: 100%;
				margin-top: 0;

			}

			.c-overlap-banner__title {
				font-size: var(--px30w);
				margin-bottom: var(--px16);
			}

			.c-overlap-banner__text {
				line-height: 1.8;
				font-size: var(--px18);
			}
		}
	}
}

/* -------------------------------------------
   sec02 3 Features Grid (Flexbox)
   ------------------------------------------- */
.post .sec02 {
	.wrapper_content {
		position: relative;
		width: 94%;
		max-width: 1600px;
		margin: 0 auto;
	}

	.c-title {
		margin-top: 0;
		padding-top: var(--px60);
		margin-top: var(--px60);

		&:before {
			content: "";
			background: url(/wp-content/uploads/parts_illustration01.png.webp) no-repeat center / contain;
			width: var(--px200);
			height: var(--px160);
			position: absolute;
			right: 0px;
			top: 0;
			left: inherit;
			transform: none;
		}
	}

}

.post {
	.c-features-grid {

		/* --- List Container (Flex) --- */
		.c-features-grid__list {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			gap: var(--px60);
		}

		/* --- Item --- */
		.c-features-grid__item {
			position: relative;
			/* 3カラム計算: (100% - (gap * 2)) / 3 */
			width: calc((100% - (var(--px60) * 2)) / 3);
			counter-increment: number;
			list-style: none !important;

			&:nth-child(even) {
				margin-top: var(--px60);
			}
		}

		/* --- Header (Point & Number) --- */
		.c-features-grid__head {
			position: relative;
			margin-bottom: -20%;
			line-height: 1;
		}

		.c-features-grid__number {
			position: relative;
			display: block;

			&:before {
				content: counter(number, decimal-leading-zero);
				font-family: var(--font-family03);
				font-size: var(--px100);
				font-weight: 600;
				color: var(--color-primary);
				line-height: 1;
			}

			&:after {
				content: "";
				background: url(/wp-content/uploads/parts_subttl-pop.png.webp) no-repeat center / contain;
				width: 60px;
				height: 54px;
				position: absolute;
				left: -25px;
				top: -15px;
			}
		}

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

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

		.c-features-grid__title {
			display: inline;
			box-decoration-break: clone;
			-webkit-box-decoration-break: clone;
			font-family: var(--font-family01);
			font-weight: 700;
			font-size: var(--px30w);
			margin: 0 0 var(--px20);
			padding: 0px 6px;
			background: var(--color-wt);
			color: var(--color-primary);
			border: none;
			width: -webkit-fit-content;
			width: -moz-fit-content;
			width: fit-content;
			line-height: 2;
		}

		/* --- Figure (Image) --- */
		figure {
			margin: 0;
			padding: 0;
			line-height: 0;
		}

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

		.c-features-grid__figure {
			width: 100%;
			aspect-ratio: 16 / 10;
			margin-bottom: var(--px12);
			border-radius: var(--px20);
			/* Rounded corners */
			overflow: hidden;
		}

		/* --- Text --- */
		.c-features-grid__textarea {
			width: 85%;
			margin: 0 auto;
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post .sec02 {
		& .c-title {
			padding-top: 0;

			&:before {
				right: 5%;
				top: inherit;
				bottom: -30%;
				left: inherit;
				transform: none;
			}
		}
	}

	.post {

		.c-features-grid {
			padding: var(--px60) 0;

			.c-features-grid__head {
				margin-bottom: -17%;
				margin-left: 5%;
			}

			.c-features-grid__list {
				flex-direction: column;
				/* Stack vertically */
				gap: var(--px60);
			}

			.c-features-grid__item {
				width: 100%;
			}

			& .c-features-grid__number {
				&:after {
					top: -25px;
				}
			}
		}
	}
}

/* -------------------------------------------
   sec03 Service Blob Grid
   ------------------------------------------- */
.post .sec03 {
	&.front_contents {
		padding: var(--px120) 0 0;
	}

	&:before,
	&:after {
		content: "";
		position: absolute;
		z-index: -10;
	}

	&:before {
		background: var(--color-secondary-tint);
		border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
		animation: round_s 25s ease-in-out infinite;
		width: 31%;
		height: 23%;
		right: -13%;
		top: 0;
	}

	&:after {
		background: var(--color-fw);
		border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
		animation: round_s 25s ease-in-out infinite;
		width: 70%;
		height: 65%;
		right: -38%;
		bottom: -40%;
	}

	.wrapper_content {
		position: relative;
		width: 94%;
		max-width: 1460px;
		margin: 0 auto;
	}

	.c-title {
		margin-top: 0;

		&.c-title--sideimg {
			padding: var(--px30) 0 var(--px30) var(--px240);
			margin-left: var(--px80);

			&:before {
				content: "";
				background: url(/wp-content/uploads/parts_illustration02.png.webp) no-repeat center / contain;
				width: var(--px200);
				height: var(--px160);
				position: absolute;
				left: 0;
				bottom: 0;
				transform: none;
			}
		}
	}

	.c-basebtn__area {
		margin-top: var(--px40);
		margin-left: auto;
		margin-right: var(--px240);
		width: fit-content;
		min-width: 340px;

		.c-basebtn {
			border-top: none;
			padding-right: var(--px80);
			font-size: var(--px24);
			width: min(400px, 100%);
		}
	}
}

.post {
	.c-service-blob {

		/* --- List Container --- */
		.c-service-blob__list {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			padding: 0 var(--px100);
			gap: var(--px80) var(--px60);


		}

		/* --- Item Wrapper --- */
		.c-service-blob__item {
			display: block;
			text-decoration: none;
			color: inherit;
			position: relative;
			/* 2カラム計算: (100% - (gap * 2)) / 2 */
			width: calc((100% - (var(--px60) * 2)) / 2);

			&:nth-child(even) {
				margin-top: calc(0% - var(--px80));
				align-self: flex-start;
			}

			&:nth-child(3) {
				margin-left: calc(0% - var(--px100));
			}

			&:nth-child(4) {
				margin-right: var(--px100);
			}

			&:hover {
				.c-service-blob__figure img {
					transform: scale(1.02);
					opacity: 1;
				}

				.c-service-blob__arrow {
					background-color: var(--color-primary-shade);
					transform: scale(1.02);
				}
			}

			&::before {
				content: "";
				position: absolute;
				bottom: -20px;
				left: -20px;
				width: 100%;
				height: 100%;
				background-color: #E6EEE9;
				border-radius: 50% 40% 30% 60%;
				z-index: -1;
			}
		}

		/* --- Figure (Blob Shape) --- */
		.c-service-blob__figure {
			width: 95%;
			aspect-ratio: 1 / 1;
			overflow: hidden;
			margin: 0 0 20px 20px;
			position: relative;
			z-index: 1;
			background-color: #fff;
			box-shadow: var(--px12) var(--px12) var(--px30) rgba(0, 0, 0, 0.05);

			/* Fancy Border Radius Generator values to simulate blobs */
			&.c-service-blob__figure--type1 {
				border-radius: 48% 52% 68% 32% / 42% 28% 72% 58%;
			}

			&.c-service-blob__figure--type2 {
				border-radius: 65% 35% 26% 74% / 55% 58% 42% 45%;
			}

			&.c-service-blob__figure--type3 {
				border-radius: 35% 65% 58% 42% / 63% 42% 58% 37%;
			}

			&.c-service-blob__figure--type4 {
				border-radius: 53% 47% 42% 58% / 46% 41% 59% 54%;
			}

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				transition: transform 0.5s ease;
			}
		}

		/* --- Content Box --- */
		.c-service-blob__content {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 80%;
			z-index: 1;
		}

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

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

		.c-service-blob__title {
			display: inline;
			box-decoration-break: clone;
			-webkit-box-decoration-break: clone;
			font-family: var(--font-family01);
			font-weight: 700;
			font-size: var(--px40);
			line-height: 1.6;
			letter-spacing: 0;
			margin: 0 0 var(--px20);
			padding: 0px 6px;
			background: var(--color-wt);
			color: var(--color-primary);
			border: none;
			width: -webkit-fit-content;
			width: -moz-fit-content;
			width: fit-content;
			line-height: 2;
		}

		.c-service-blob__en {
			display: block;
			font-size: 11px;
			color: #ACC0FF;
			/* Lighter blue */
			font-weight: 700;
			margin-bottom: var(--px12);
		}

		.c-service-blob__textarea {
			background: rgba(255, 255, 255, 0.95);
			padding: var(--px16);
			box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
			backdrop-filter: blur(5px);
			width: fit-content;
		}

		/* --- Arrow Button --- */
		.c-service-blob__arrow {
			position: absolute;
			bottom: 15%;
			right: 0;
			width: var(--px120);
			height: var(--px120);
			background-color: var(--color-primary);
			color: var(--color-wt);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			font-size: 24px;
			z-index: 3;
			box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
			transition: background-color 0.3s, transform 0.3s;

			&:before {
				content: "";
				position: absolute;
				background: url(/wp-content/uploads/btnarrow.png) no-repeat center / contain;
				width: 25px;
				height: auto;
				aspect-ratio: 25 / 14;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);
				-webkit-filter: brightness(0) invert(1);
				filter: brightness(0) invert(1);
			}
		}
	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {

	.post .sec03 {
		&:before {
			width: 33%;
			height: 8%;
		}

		&:after {
			width: 30%;
			height: 23%;
		}

		& .c-basebtn__area {
			margin-left: auto;
			margin-right: auto;

			.c-basebtn {
				padding-right: var(--px40);
				font-size: var(--px18);
			}
		}

	}

	.post {
		.c-service-blob {

			.c-service-blob__list {
				flex-direction: column;
			}

			.c-service-blob__item {
				width: 100%;
				margin-top: 0 !important;
				margin-left: auto !important;
				margin-right: auto !important;

				&::before {
					bottom: 28%;
					height: 68%;
				}
			}

			.c-service-blob__content {
				position: relative;
				bottom: auto;
				left: auto;
				width: 100%;
				margin-top: -40px;
			}

			.c-service-blob__arrow {
				top: 45%;
				right: -6%;
				width: 50px;
				height: 50px;
				font-size: 20px
			}
		}
	}
}

/* -------------------------------------------
   sec04 Beginners Guide Banner
   ------------------------------------------- */
.post .sec04 {
	.wrapper_content {
		position: relative;
		width: 94%;
		max-width: 1460px;
		margin: 0 auto;
	}

	&:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 45%;
		z-index: -10;
		background-color: var(--color-fw);
	}
}

.post {
	.c-beginners-banner {
		padding: 8% 3% 3% 8%;

		/* --- Background Image --- */

		.c-beginners-banner__main {
			position: relative;
			padding: var(--px120);
		}

		.c-beginners-banner__figure {
			-webkit-clip-path: border-box;
			clip-path: border-box;
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
			width: 100%;
			height: 100%;
			border-radius: var(--px80);
			z-index: -1;

			img {
				width: 100%;
				height: 100%;
				pointer-events: none;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}

		/* --- Yellow Badge (Top Left) --- */

		.c-beginners-banner__badge-yellow {
			position: absolute;
			top: 0;
			left: 0;
			z-index: 3;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: flex-start;
			text-align: left;
			padding: 7%;
			color: var(--color-font);


			&:before {
				content: "";
				width: 100%;
				height: 100%;
				border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
				background-color: #FDD000;
				z-index: -1;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
		}

		.c-beginners-banner__badge-title {
			font-size: var(--px40);
			font-weight: 700;
			line-height: 1.4;
			margin-bottom: var(--px20);
		}

		.c-beginners-banner__badge-sub {
			font-family: var(--font-family04);
			font-size: var(--px30);
		}

		/* --- Center Content Box --- */

		.c-beginners-banner__content {
			width: 73%;
			background: rgba(255, 255, 255, 0.85);
			backdrop-filter: blur(5px);
			padding: var(--px80);
			margin: 0 auto;
		}

		.c-beginners-banner__lead {
			font-size: var(--px30);
			font-weight: 700;
			margin-bottom: var(--px20);
			color: var(--color-font);
			font-family: var(--font-family01);
			padding: 0;
			border: none;
			text-align: center;
		}

		/* --- Green Button (Bottom Right) --- */
		.c-beginners-banner__badge-green {
			position: absolute;
			bottom: 10px;
			right: 10px;
			width: 240px;
			height: 240px;
			padding: 10px 30px 30px 30px;
			background-color: var(--color-secondary);
			z-index: 3;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			text-align: center;
			text-decoration: none;
			color: var(--color-wt);
			transition: transform 0.3s, background-color 0.3s;

			/* Circle / Blob Shape */
			border-radius: 50%;



			&:hover {
				transform: scale(1.05);
				background-color: var(--color-secondary-tint);
			}
		}

		.c-beginners-banner__icon {
			width: var(--px40);
			height: var(--px40);
			margin-bottom: 5px;

			img {
				width: 100%;
				height: auto;
			}
		}

		.c-beginners-banner__btn-text {
			font-size: var(--px20);
			font-weight: 700;
			line-height: 1.6;
		}

	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 768px) {
	.post {
		.c-beginners-banner {
			padding: 100px 20px 80px 20px;
			margin-top: var(--px60);

			.c-beginners-banner__badge-title {
				font-size: 18px;
				font-weight: 700;
				line-height: 1.4;
				margin-bottom: 5px;
			}

			.c-beginners-banner__main {
				padding: var(--px20);
			}

			.c-beginners-banner__content {
				width: 100%;
			}

			.c-beginners-banner__badge-green {
				width: 140px;
				height: 140px;
				padding: 5px 5px 24px 5px;
			}

			.c-beginners-banner__btn-text {
				font-size: 13px;
			}
		}
	}
}

/* -------------------------------------------
   sec05 property Section
   ------------------------------------------- */

.post .sec05 {
	background-color: var(--color-fw);

	&.front_contents {
		padding: var(--px30) 0 var(--px60);
	}

	.wrapper_content {
		position: relative;
		width: 94%;
		max-width: 1600px;
		margin: 0 auto;
	}

	&:before {
		content: "";
		background: url(/wp-content/uploads/parts_side01.png.webp) no-repeat right / contain;
		width: 50%;
		height: 19%;
		position: absolute;
		right: 0px;
		top: 9%;
		left: inherit;
		transform: none;
		z-index: 0;
	}

	&:after {
		content: "";
		background: url(/wp-content/uploads/parts_side02.png.webp) no-repeat left / contain;
		width: 50%;
		height: 19%;
		position: absolute;
		left: 0px;
		bottom: 0%;
		transform: none;
		z-index: 0;
	}
}

/* --- Pickup Header--- */

.post {

	.c-pickup-header {
		margin-bottom: var(--px60);

		.c-pickup-header__inner {
			max-width: 1160px;
			margin: 0 auto;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: var(--px60);
			padding-right: var(--px160);
			position: relative;

			&:before {
				content: "";
				background: url(/wp-content/uploads/parts_illustration03.png.webp) no-repeat center / contain;
				width: var(--px140);
				height: var(--px120);
				position: absolute;
				right: 0;
				bottom: 0;
				transform: none;
			}
		}

		/* --- Head Area (Left) --- */
		.c-pickup-header__head {
			text-align: center;
			position: relative;
			flex-shrink: 0;
			margin-bottom: var(--px40);
		}

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

		.c-pickup-header__title {
			font-family: var(--font-family04);
			font-size: var(--px80);
			font-weight: 400;
			line-height: 1.1;
			padding: calc(var(--px40) + 2%) 0 0;
			margin-bottom: var(--px12);
			position: relative;

			&::before {
				content: '';
				background: url(/wp-content/uploads/parts_subttl.svg) no-repeat center / contain;
				width: var(--px240);
				height: var(--px40);
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
			}
		}

		.c-pickup-header__sub {
			font-size: var(--px24);
			font-weight: 700;
		}

		/* --- Body Area (Right) --- */

		.c-pickup-header__text {
			font-size: var(--px20);
			line-height: 2;

		}
	}
}

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

@media screen and (max-width: 768px) {
	.post {
		.c-pickup-header {
			padding: 0 0 var(--px60);

			.c-pickup-header__inner {
				flex-direction: column;
				gap: var(--px30);
				padding: 0 var(--px20);
				text-align: center;
			}

			.c-pickup-header__head {
				margin-bottom: 0;
			}

			.c-pickup-header__title {
				font-size: 48px;
			}

			.c-pickup-header__body {
				max-width: 100%;
			}

			.c-pickup-header__text {
				font-size: var(--px16);
				text-align: left;
			}
		}
	}
}

@media screen and (max-width: 640px) {
	.post {
		.c-pickup-header {

			.c-pickup-header__inner {
				&:before {
					content: "";
					right: 1%;
					bottom: calc(0% - var(--px80));
					height: var(--px80);
				}
			}
		}
	}
}

/* --- list layout--- */

.post {
	.c-property {
		padding: var(--px20) 0;
		z-index: 5;
		position: relative;

		&+.c-property {
			margin-top: var(--px60);
		}
	}

	.c-property__inner {
		position: relative;
		background: var(--color-wt);
		border-radius: var(--px80);
		padding: var(--px100) var(--px80) var(--px80) var(--px80);
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 100%;

		.c-basebtn__area {
			margin-top: 0;
		}
	}

	/* Reset h3 */

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

	.c-property__title {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: calc(0% - var(--px40));
		left: 50%;
		transform: translateX(-50%);
		padding: 0;
		gap: var(--px20);
		font-family: var(--font-family01);
		font-size: var(--px50);
		font-weight: 700;
		color: var(--color-primary);
		width: 100%;

		&:before,
		&:after {
			content: "";
			display: block;
		}

		&:before {
			background: url(/wp-content/uploads/parts_pickup.png.webp) no-repeat center / contain;
			width: var(--px100);
			height: var(--px80);
		}

		&:after {
			background: url(/wp-content/uploads/parts_kirakira.png.webp) no-repeat center / contain;
			width: var(--px60);
			height: var(--px80);
		}

	}
}

/* -------------------------------------------
   SP Styles (Media Queries)
   ------------------------------------------- */
@media screen and (max-width: 640px) {
	.post {
		.front_contents.sec05:after {
			height: 3%;

			.c-property__inner {
				padding: var(--px100) 3%;
			}

		}
	}
}


/* -------------------------------------------
   list body 
   ------------------------------------------- */

.post .front_contents {

	#property_list,
	ul.property_list {
		max-width: 1320px;
		width: 100%;
	}
}

/* -------------------------------------------
   sec06 post Section
   ------------------------------------------- */

.post {
	.c-postarea {
		background-color: var(--color-fw);
		padding-bottom: var(--px120);

		&:before {
			content: "";
			background: url(/wp-content/uploads/parts_illustration04.png.webp) no-repeat center / contain;
			width: 18%;
			height: 22%;
			position: absolute;
			right: 8%;
			bottom: calc(0% - var(--px120));
			transform: none;
		}

		.c-basebtn__area {
			margin-top: 0;
		}

		.c-title {
			margin: 0 auto var(--px30);
		}

		.wrapper_content {
			max-width: 1380px;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-pack: distribute;
			justify-content: space-around;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			gap: var(--px80) 0;
		}

		.c-postarea__content {
			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;
			max-width: 640px;
			width: 100%;
			
			figure img {
    border-radius: 50px;
    aspect-ratio: 640 / 420;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

			.postlist {
				width: 100%;
			}

			.btnarea {
				display: block;
				text-align: center;
				width: 100%;
				margin-top: auto;
			}

			.c-title {
				position: relative;

				&:before {
					content: "";
					width: var(--px60);
					height: var(--px60);
					position: absolute;
					right: calc(0% - var(--px60) - var(--px12));
					bottom: 0;
					transform: none;
				}
			}

			&:first-child {
				.c-title:before {
					background: url(/wp-content/uploads/ico_onpu.png.webp) no-repeat center / contain;
				}
			}

			&:last-child {
				.c-title:before {
					content: "";
					background: url(/wp-content/uploads/ico_kira.png.webp) no-repeat center / contain;
				}
			}
		}

	}
}

@media only screen and (max-width: 800px) {
	.post {
		.c-postarea {
			&:before {
				height: var(--px120);
				right: 1%;
				bottom: calc(0% - var(--px120) / 3);
			}
		}
	}
}

@media only screen and (max-width: 640px) {
	.post {
		.c-postarea {
			.c-postarea__content {
				width: 90%;
			}
		}
	}
}

/*------------------------------------------
	 投稿記事関連 2b 4b
--------------------------------------------*/

/*-----表示関連-----*/

.post2b li,
.post4b li {
	flex-grow: 1;
}

.post2b_text,
.post4b_text {
	display: flex;
	flex-direction: column;
	margin-top: var(--px12);
	width: 96%;
}

.post2b .time,
.post4b .time {
	background: var(--color-primary);
	border-radius: 999px;
	color: #fff;
	line-height: 1.4;
	font-size: var(--px14);
	font-weight: 700;
	width: fit-content;
	order: -1;
	margin: 0;
	transition: 0.3s all;

	a {
		padding: 8px 10px;
	}

	&:hover {
		opacity: 0.5;
	}
}

span.ymd_in_list,
.post2b_link {
	display: none;
}

@media print,
screen and (min-width: 800px) {
	.post2b {
		gap: var(--px40);
	}

	.post2b li {
		max-width: calc(100% / 2 - var(--px40));
		flex-grow: 1;
	}

	.post4b {
		gap: var(--px40);
	}

	.post4b li {
		max-width: calc(100% / 4 - var(--px40));
		flex-grow: 1;
		margin-bottom: 0 !important;
	}
}

@media only screen and (max-width: 640px) {

	#content .post2b_text,
	#content .post4b_text {
		margin-top: var(--px12);
		width: 96%;
	}

	#content .post2b_img,
	#content .post4b_img {
		max-width: none;
	}
}

/*-----タイトル関連-----*/

.post2b h2,
.post4b h2 {
	display: inline-block;
	width: fit-content;
	text-align: left;
	margin-left: 0 !important;
	line-height: 1.4;
	font-size: 100%;
	margin: 0 !important;
	overflow: inherit;
	text-overflow: inherit;
	white-space: inherit;
}

.post2b h2 a,
.post4b h2 a {
	display: block;
	padding-bottom: 2px;
	color: var(--color-primary);
	font-size: var(--rem20w);
	font-weight: 900;
	margin: 8px 0px;
	border-bottom: 2px solid var(--color-primary);
	transition: 0.3s all;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;

	&:hover {
		opacity: 0.5;
	}
}

.post2b li .post2b_contents,
.post4b li .post4b_contents {
	font-size: var(--rem14);
	color: var(--color-font);
	opacity: 1;
}

/*-----画像関連-----*/

.post_img img,
.post2b .post2b_img,
.post4b .post4b_img {
	text-align: center;
	overflow: hidden;
	margin-bottom: 14px;
	border-radius: var(--px30);
	aspect-ratio: 3 / 2;
	width: 100%;
}

.post_img img,
.post2b img,
.post4b img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
}



/* -------------------------------------------
   sec07 postbottom Section
   ------------------------------------------- */

.post {
	.c-postarea--bottom {
		padding: var(--px80) 0;

		.wrapper_content {
			position: relative;
			width: 94%;
			max-width: 1140px;
			margin: 0 auto;
		}

		.c-title {
			margin: 0 auto var(--px40);
		}
	}
}

/*-----販売実績-----*/
body.category-casestudy .post4b .post4b_text p.post4b_contents {
    display: none;
}

/*------------------------------------------
	 投稿記事関連 postlist
--------------------------------------------*/

.postlist .time {
	border-radius: 30px;
	font-size: var(--px14);
	transition: 0.3s all;

	&:hover {
		opacity: 0.5;
	}
}

.postlist .date {
	order: -1;
	font-size: var(--px16);
}

.postlist li {
	border-bottom: 1px solid var(--color-table-border);

	&:first-child {
		border-top: none;
	}
}

.postlist .ttls a {
	font-size: var(--px16);
	padding: 10px 4px;
	display: inline-block;

	a:hover {
		text-decoration: none;
		opacity: 0.5;
	}
}


/* -------------------------------------------
   basecontents
   ------------------------------------------- */
body:not(.home) .post {
	table td {
		background: #fff;
	}
}

body:not(.home) #content.wide {
	padding: var(--px100w) 0;
}

/* -------------------------------------------
   designcode
   ------------------------------------------- */
.page_contents_inner+.page_contents_inner {
	margin-top: var(--px80);
}

.anchor_link {
	display: block;
	position: relative;
}

.anchor_link::before {
	content: '';
	display: block;
	padding-top: 80px;
	margin-top: -80px;
	visibility: hidden;
	pointer-events: none;
}

/*--幅フル100%背景色--*/
.widecolor {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
	padding: var(--px80) calc((100vw - 100%) / 2) var(--px100);
	margin-top: var(--px100);
	background: var(--color-fw);
}

/*--幅フル100%--------------------------------------------*/
.widearea {
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-left: calc(((100vw - 100%) / 2) * -1);
}

/*--list--------------------------------------------*/

.post .list_style01 li {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	flex-shrink: 0;
	border-bottom: solid 1px #ddd;
}

.post .list_style01 li .head {
	width: 25%;
	padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
	/* 30-20px 15-10px (1920-375) */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.post .list_style01 li .body {
	padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) min(calc(15px + (1vw - 19.2px) * 0.4531), 15px);
	/* 30-20px 15-10px (1920-375) */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.post .list_style01 li:nth-child(odd) {
	background: #eee;
}

@media only screen and (max-width: 640px) {
	.post .list_style01 li {
		flex-direction: column;
	}

	.post .list_style01 li .head {
		width: 100%;
		padding-bottom: 0;
	}
}

/*=============================================
			sub page - lower
=============================================*/
/* -------------------------------------------
   components
   ------------------------------------------- */

body:not(.home) .post {
	.c-columnbox {
		display: flex;
		align-items: center;
		justify-content: space-between;

		figure {
			width: 40%;

			img {
				width: 100%;
			}
		}

		.c-columnbox__txtarea {
			width: 55%;

			h3 {
				font-size: var(--rem24);
				margin-block: 0 var(--px24);
				border-width: 2px;
			}

			p {
				font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1942), 1.6rem);
				/*1.6-1.3(1920-375)*/
			}
		}

		&+.c-columnbox {
			margin-top: var(--px20);
		}
	}

	.c-columnlayer {
		display: flex;
		align-items: flex-start;
		position: relative;
		justify-content: space-between;

		.c-columnlayer__txtarea {
			max-width: 670px;
			width: 54%;
			margin-right: -44%;
			background: #fff;
			position: relative;
			z-index: 5;
			margin-top: var(--px80);
			padding-inline: 5%;
			padding-block: var(--px50);
			border-radius: var(--px40);
			box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;

			.c-columnlayer__num {
				font-size: var(--rem20);
				font-family: var(--font-family03);
				font-style: italic;
				color: #b5b5b5;
				line-height: 1;
				margin-bottom: .3em;
			}

			h3 {
				margin: 0;
				border: none;
				box-decoration-break: clone;
				-webkit-box-decoration-break: clone;
				display: inline;
				font-size: var(--rem24);
				background: var(--color-primary);
				color: #fff;
				line-height: 2;
				padding: .1em .2em .2em;
			}

			.c-columnlayer__detail {
				font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.1294), 1.5rem);
				/*1.5-1.3(1920-375)*/
				margin-block: 1em 1.2em;
			}
		}

		&.rev .c-columnlayer__txtarea {
			margin-right: 0;
			margin-left: -44%;
		}

		figure {
			max-width: 700px;
			width: 56%;
			position: relative;
			z-index: 0;

			img {
				width: 100%;
				border-radius: var(--px40);
			}
		}
	}

	ul.c-column2img {
		display: flex;
		width: 80%;
		margin-inline: auto;
		justify-content: center;
		align-items: center;
		gap: var(--px20);
	}

	/*---ボタン---*/
	.c-basebtn {
		border-top: 3px solid var(--color-font);
		border-bottom: 3px solid var(--color-font);
		position: relative;
		padding-block: var(--px20);
		display: block;
		margin-inline: auto;
		width: min(400px, 90%);
		font-weight: 700;
		color: var(--font-color);
		font-size: var(--rem18);
		transition: all ease 0.8s;

		&::after {
			content: "";
			display: inline-block;
			position: absolute;
			color: var(--color-primary);
			background: url(/wp-content/uploads/btnarrow.png) no-repeat center / contain;
			width: 25px;
			height: auto;
			aspect-ratio: 25 / 14;
			right: 5%;
			top: calc(50% - .3em);
			transform: inherit;
		}

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

			&::after {
				background-image: url(/wp-content/uploads/btnarrow_wh.png);
				animation: rote 0.7s;
			}
		}
	}

	.c-underlinebtn {
		position: relative;
		display: inline-block;
		border-bottom: 1px solid var(--color-font);
		padding-inline: .3em;
		padding-bottom: .2em;
		font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.1294), 1.5rem);
		/*1.5-1.3(1920-375)*/

		&::after {
			content: "\f061";
			font-family: "Font Awesome 6 Free";
			font-weight: 600;
			color: var(--color-primary);
			margin-left: .3em;
		}
	}

	ul.c-subnavlist {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(410px, 1fr));
		gap: 5px;

		li a {
			display: flex;
			align-items: center;
			background: #eee;
			width: 100%;
			height: 100%;
			padding: min(calc(3rem + (1vw - 1.92rem) * 0.6472), 3rem) 2rem;
			position: relative;

			&::after {
				content: "\f358";
				font-family: "Font Awesome 6 Free";
				font-weight: 600;
				font-size: var(--px30);
				color: var(--color-primary);
				position: absolute;
				right: 20px;
				top: 50%;
				transform: translateY(-50%);
			}

			figure {
				position: absolute;

				img {
					max-height: min(calc(50px + (1vw - 19.2px) * 0.6472), 50px);
					/*50-40(1920-375)*/
				}
			}

			&:hover {
				&::after {
					color: var(--color-primary-tint);
				}

				figure img {
					opacity: 1;
				}
			}

			p {
				padding-left: min(calc(8rem + (1vw - 1.92rem) * 0.6472), 8rem);
				/*80-70*/
				font-size: min(calc(1.5rem + (1vw - 1.92rem) * 0.1294), 1.5rem);
				/*1.5-1.3*/
				line-height: 1;

				span {
					display: block;
					font-family: var(--font-family03);
					font-weight: 500;
					font-size: .9em;
					margin-bottom: .3em;
				}
			}
		}
	}

	.c-begicontbox {
		border: 2px solid #ccc;
		background: #fff;
		padding: var(--px30);
		margin-bottom: var(--px20);

		.c-begicontbox__num {
			display: flex;
			align-items: center;
			gap: 1rem;
			position: relative;

			p {
				font-family: var(--font-family03);
				font-size: 1.5rem;
				font-weight: 500;
				color: var(--color-font);
			}

			figure img {
				max-height: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px);
				/*50-30(1920-375)*/
			}
		}

		h3 {
			margin-block: 10px var(--px30);
			padding-top: 0;
			cursor: pointer;

			&::after {
				content: "\f103";
				font-family: "Font Awesome 6 Free";
				font-weight: 900;
				position: absolute;
				font-size: var(--px30);
				color: var(--color-primary);
				right: var(--px20);
				display: inline-block;
				cursor: pointer;
			}

			&:hover::after {
				color: var(--color-primary-tint);
			}
		}

		.c-begicontbox__inner {
			display: none;

			.c-begicontbox__detail {
				display: flex;
				justify-content: space-between;
				line-height: 1.8;

				.c-begicontbox__txtarea {
					font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.2589), 1.6rem);
					/*1.6-1.2(1920-375)*/
					width: 55%;
				}

				figure {
					width: 40%;
				}
			}

			p.c-begicontbox__subtxt {
				font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.2589), 1.6rem);
				/*1.6-1.2(1920-375)*/
				margin-top: var(--px20);
			}
		}
	}

	.c-contctabox {
		background: var(--color-fw);
		text-align: center;
		padding: var(--px50);

		&.c-contentbox--ccwh {
			background: #fff;
		}

		p.c-contctabox__detail {
			font-weight: 600;
			margin-bottom: var(--px20);
			font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1942), 1.6rem);
			/*1.6-1.3(1920-375)*/

		}
	}

	ul.c-contctabox__list {
		justify-content: center;
		max-width: 960px;
		margin-inline: auto;
		width: min(960px, 100%);
		align-items: stretch;

		li {
			width: 50%;
			flex: 1;

			a.item {
				display: flex;
				flex-direction: column;
				background: var(--color-primary);
				height: 100%;
				color: #fff;
				justify-content: center;
				padding-block: var(--px24);
				transition: opacity .3s ease;

				&:hover {
					opacity: .8;
				}

				.btnttl {
					font-size: var(--rem14);
					line-height: 1;
					margin-bottom: .5em;
				}

				.btnmain {
					display: inline-block;
					position: relative;
					font-size: var(--rem20);
					line-height: 1;
					font-weight: 600;

					&::before {
						content: "\f0e0";
						font-family: "Font Awesome 6 Free";
						font-weight: 900;
						margin-right: .2em;
					}
				}

				.infotxt {
					font-size: 1.2rem;
					font-weight: 600;
				}

				.infotxt .note b {
					color: #fff;
				}
			}

			a.telbtn.item {
				.btnmain {
					font-family: var(--font-family03);
					font-size: var(--rem24);

					&::before {
						content: "\f095";
					}
				}
			}

			a.mailbtn.item {
				background: var(--color-secondary);

				.btnmain {
					font-family: var(--font-family03);
				}
			}
		}
	}

	ul.c-stepcardlist {
		display: grid;

		li {
			position: relative;

			&:not(:last-of-type)::after {
				content: "\f105";
				position: absolute;
				display: inline-block;
				right: calc(var(--px50) * -1);
				font-family: 'Font Awesome 6 Free';
				font-weight: 600;
				top: 50%;
				transform: translateY(-50%);
				font-size: var(--rem30);
				color: var(--color-primary);
			}

			figure img {
				width: 100%;
				aspect-ratio: 4 / 3;
				object-fit: cover;
			}

			p.c-stepcardlist__ttl {
				text-align: center;
				margin-block: 0.8em 0.5em;
				font-size: var(--rem30);
				line-height: 1;
				font-weight: 800;
				font-family: var(--font-family02);

				span {
					display: block;
					font-family: var(--font-family03);
					color: var(--color-primary);
					font-size: var(--rem20);
					font-weight: 700;
					padding-bottom: 0.3em;
				}
			}

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

		&.c-stepcardlist--col3 {
			grid-template-columns: repeat(3, 1fr);
			gap: var(--px80);
		}
	}
}

@keyframes rote {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

@media only screen and (max-width: 768px) {
	body:not(.home) .post {
		.c-columnlayer {
			display: block;

			.c-columnlayer__txtarea {
				margin-inline: 0 !important;
				width: 100%;
				padding: 0;
				margin-bottom: 30px;
				background: transparent;
				box-shadow: none;

				p.c-columnlayer__num {
					font-size: 1.8rem;
				}

				h3 {
					font-size: 2.2rem;
				}
			}

			figure {
				width: 100%;
			}
		}

		.c-columnbox {
			flex-direction: column;
			gap: 20px;
			align-items: flex-start;

			.c-columnbox__txtarea {
				width: 100%;

				h3 {
					font-size: 1.7rem;
				}
			}

			figure {
				width: 100%;
			}
		}

		ul.c-column2img {
			flex-direction: column;
			width: 90%;
		}

		ul.c-subnavlist {
			grid-template-columns: repeat(1, 1fr);
		}

		.c-begicontbox {
			.c-begicontbox__inner {
				.c-begicontbox__detail {
					flex-direction: column;

					.c-begicontbox__txtarea {
						width: 100%;
						margin-bottom: 1em;
					}

					figure {
						width: 100%;
					}
				}
			}
		}

		ul.c-contctabox__list {
			li {
				width: 100%;
			}
		}

		ul.c-stepcardlist {
			&.c-stepcardlist--col3 {
				grid-template-columns: 1fr;
			}

			li:not(:last-of-type)::after {
				display: none;
			}
		}
	}
}

/* -------------------------------------------
   Utilities
   ------------------------------------------- */

body:not(.home) .post {

	/*---レイアウト---*/

	.u-basewidth {
		max-width: var(--content-max-width);
		margin-inline: auto;
		width: min(var(--content-max-width), 90%);
	}

	.u-mauto {
		margin-inline: auto !important;
	}

	/*---テキストレイアウト---*/

	.u-fs16 {
		font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1942), 1.6rem);
		/*1.6-1.3(1920-375)*/
		line-height: 2;
		font-weight: 500;
	}

	.u-fs14 {
		font-size: min(calc(1.4rem + (1vw - 1.92rem) * 0.1294), 1.4rem);
		line-height: 2;
		font-weight: 400;
	}

	.read_txt {
		font-size: var(--px18);
		font-weight: 600;
		text-align: center;
		letter-spacing: .01em;
		line-height: 2.2;
		margin: 0;
	}

	.u-anchorlink {
		scroll-margin-top: 110px;
	}

	.u-anchoroffset {
		display: block;
		position: relative;
		padding-top: 80px;
		margin-top: -80px;
		visibility: hidden;
		pointer-events: none;
	}

	.u-fc-zenkure {
		font-family: "Zen Kurenaido", sans-serif;
	}
	
	.u-fc-notosans {
		font-family: "Noto Sans JP", sans-serif;
	}

	.u-fsz110 {
		font-size: 110%;
	}
}

/* -------------------------------------------
   事業内容
   ------------------------------------------- */
body.page-service #content.wide {
	padding-bottom: 0;
}

/* -------------------------------------------
   会社概要
   ------------------------------------------- */
.p-company,.post .p-company {
	p.c-ownernametext {
		font-family: "Zen Antique", serif;
		text-align: right;
		font-size: min(calc(4rem + (1vw - 1.92rem) * 0.9709), 4rem);
		/*4-2.5(1920-375)*/
		letter-spacing: 0.1em;

		span {
			font-size: 50%;
			vertical-align: middle;
			padding-right: 0.9em;
		}
	}
	.list_style01 li:nth-child(odd) {
    background: #fff;
}
}

/* -------------------------------------------
   紹介キャンペーン
   ------------------------------------------- */
body.page-campaign #content.wide {
	padding-bottom: 0;
}

.post .p-campaign,
.p-campaign {
	.c-campaignfronttxt {
		position: relative;
		z-index: 10;

		.c-campaignfronttxt__main {
			font-size: min(calc(5rem + (1vw - 1.92rem) * 1.7376), 5rem);
			/*5-3(1920-769)*/
			font-weight: 900;
			line-height: 1.6;
			font-family: var(--font-family02);
			box-decoration-break: clone;
			-webkit-box-decoration-break: clone;
			background: linear-gradient(180deg, transparent 70%, #FDD000 70%);
			display: inline;
			padding-inline: 0.2em;
		}

		.c-campaignfronttxt__sub {
			font-weight: 700;
			font-family: var(--font-family02);
			margin-top: var(--rem30);
			font-size: var(--rem20);
		}
	}

	.l-campaigninnertop {
		position: relative;

		&::before {
			content: "";
			position: absolute;
			background: #F2F7FA;
			width: 100vw;
			height: 30%;
			margin-right: calc(((100vw - 100%) / 2) * -1);
			margin-left: calc(((100vw - 100%) / 2) * -1);
			left: 0;
			bottom: 0;
		}

		figure {
			max-width: 1000px;
			width: min(1000px, 90%);
			margin-inline: auto;
			position: relative;

			&::before {
				content: "";
				position: absolute;
				background: url(/wp-content/uploads/cracker01.png) no-repeat center / contain;
				width: min(calc(221px + (1vw - 19.2px) * 10.5126), 221px);
				/*221-100(1920-769)*/
				aspect-ratio: 221 / 198;
				height: auto;
				left: calc(-15.7rem + (1vw - 1.92rem) * -9.2963);
				bottom: 52px;
				z-index: 10;
			}

			&::after {
				content: "";
				position: absolute;
				aspect-ratio: 514 / 473;
				width: min(calc(514px + (1vw - 19.2px) * 16.8549), 514px);
				/*514-320(1920-769)*/
				height: auto;
				right: -200px;
				bottom: -90px;
				z-index: 1;
				background: #89C9BA;
				border-radius: 58% 42% 38% 62% / 48% 48% 52% 52%;
				animation: round_s 20s ease-in-out infinite;
			}

			img {
				width: 100%;
				border-radius: var(--px100);
				position: relative;
				z-index: 5;
			}
		}
	}

	.l-campaigninnerbottom {
		position: relative;
		padding-block: var(--px140) min(calc(12rem + (1vw - 1.92rem) * 4.5307), 12rem);

		&::before {
			content: "";
			position: absolute;
			background: #F2F7FA;
			width: 100vw;
			height: 100%;
			margin-right: calc(((100vw - 100%) / 2) * -1);
			margin-left: calc(((100vw - 100%) / 2) * -1);
			left: 0;
			top: 0;
			z-index: -1;
		}

		.c-campaigndetailbox {
			background: #fff;
			padding-block: var(--px60);
			padding-inline: 5%;
			text-align: center;
			position: relative;
			border-radius: var(--px30);
			z-index: 20;

			&+.c-campaigndetailbox {
				margin-top: var(--px80);
			}

			h3 {
				position: absolute;
				width: max-content;
				padding: 0;
				margin: 0;
				top: -0.8em;
				left: 50%;
				transform: translateX(-50%);
				border: none;
				font-size: min(calc(3rem + (1vw - 1.92rem) * 0.9061), 3rem);
				/*3-1.6(1920-375)*/

				&::after {
					content: "";
					background: url(/wp-content/uploads/kirakira_yellow.png) no-repeat center / contain;
					aspect-ratio: 54 / 73;
					width: min(calc(54px + (1vw - 19.2px) * 1.7376), 54px);
					/*54-34(1920-379)*/
					position: absolute;
					display: inline-block;
					right: -1.8em;
					top: 50%;
					transform: translateY(-50%);
				}
			}

			ul.c-campaigndetailbox__list {
				display: flex;
				justify-content: space-between;
				max-width: 1020px;
				margin-inline: auto;
				width: min(1020px, 100%);
				gap: var(--px30);

				li {
					width: 100%;
					text-align: center;
					border: 7px solid var(--color-primary);
					border-radius: var(--px20);
					padding: var(--px40);

					h4 {
						border: none;
						text-align: center;
						background: var(--color-primary);
						color: #fff;
						border-radius: 100px;
						font-size: var(--rem28);
						line-height: 1;
						margin: 0;
						padding: var(--px20) 0;
						font-weight: 600;
					}

					.c-campaigndetailbox__detail {
						display: flex;
						justify-content: center;
						align-items: flex-end;
						gap: 0.5rem;

						.c-campaigndetailbox__detailnum {
							font-size: var(--px140);
							line-height: 0.95;
							font-family: var(--font-family02);
							font-weight: 900;
							color: var(--color-primary);

							span {
								font-size: 0.3em;
							}
						}

						.c-campaigndetailbox__detailtxt {
							font-family: var(--font-family02);
							font-size: var(--rem40);
							line-height: 1.2;
							text-align: left;
							font-weight: 900;
						}
					}

					.flexbox {
						justify-content: center;
						align-items: center;
						gap: 1.5rem;

						&>p {
							font-size: var(--rem18);
							font-weight: 600;
							text-align: left;
						}
					}
				}
			}

			.c-campaigndetailbox__txt {
				font-size: var(--rem16);
				font-weight: 700;
				margin-top: 1.5em;
			}

			&.c-campaigndetailbox--02 {
				ul.c-campaigndetailbox__list li {
					border-color: #3BB296;

					h4 {
						background: #3BB296;
					}

					.c-campaigndetailbox__detailnum {
						color: #3BB296;
					}
				}
			}
		}
	}
}

@media only screen and (max-width: 768px) {

	.post .p-campaign,
	.p-campaign {
		.l-campaigninnertop {
			&::before {
				height: 10%;
			}

			figure {
				&::before {
					width: 20%;
					left: -9%;
					bottom: 30px;
				}
			}
		}

		.l-campaigninnerbottom {
			.c-campaigndetailbox {
				ul.c-campaigndetailbox__list {
					flex-direction: column;

					li {
						.c-campaigndetailbox__detail {
							.c-campaigndetailbox__detailnum {
								font-size: 7rem;
							}
						}
					}
				}
			}
		}
	}
}

/* -------------------------------------------
   お問い合わせ
   ------------------------------------------- */
.wpcf7-form .must {
	background: #F35B35;
}

.cf7-checkbox {
	display: grid;
	grid-template-columns: max-content max-content;
}

.post .p-contact,
.p-contact,
.post .p-campaign,
.p-campaign {
	.c-basebtn {
		padding: 0 !important;

		input[type=submit] {
			background: transparent;
			color: var(--color-font);
			font-weight: 700;
			width: 100%;
			height: 100%;
			padding-block: var(--px20);

			&:hover {
				color: #fff;
			}
		}
	}
}

@media only screen and (max-width: 768px) {
	.cf7-checkbox {
		grid-template-columns: 1fr;
	}
}

/*=============================================
				ACF -sub
=============================================*/
/*--------------------------------------------------
	物件情報 一覧
--------------------------------------------------*/
#property_link {
	box-shadow: 0 -2px 0 var(--color-table-border) inset;
	/* フレックス */
	display: flex;
}

#property_link li {
	width: 100%;
}

#property_link li a {
	position: relative;
	padding: 0 0 20px;
	font-size: var(--rem24);
	text-align: center;
	line-height: 1.4;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
}

#property_link li a::before {
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: 60px;
	height: 0;
	background: var(--color-primary);
	transform: translateX(-50%);
	transition: all 0.3s ease-in-out;
	content: "";
}

#property_link li a:hover {
	color: var(--color-primary);
}

#property_link li a:hover::before,
#property_link li.on a::before {
	height: 8px;
}

@media print,
screen and (min-width: 641px) {
	/* PC・タブレット */
}

/**/
#property_list li,
.post ul.property_list li {
	position: relative;
	margin-bottom: var(--px60);
}

#property_list li a,
.post ul.property_list li a {
	display: block;
	color: var(--color-font);
}

#property_list .stamp,
.post ul.property_list .stamp {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding: 2px 15px;
	background: #FFE500;
	color: var(--color-primary);
	font-size: var(--rem20w);
	font-weight: 900;
	z-index: 10;
}

#property_list a:hover .photo img,
.post ul.property_list a:hover .photo img {
	transform: scale(1.1);
	/* 拡大 */
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#property_list .photo,
.post ul.property_list .photo {
	overflow: hidden;
	margin-bottom: 14px;
	border-radius: var(--px30);
	aspect-ratio: 3 / 2;
}

#property_list .photo img,
.post ul.property_list .photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	max-width: none;
}

#property_list p,
.post ul.property_list p {
	margin: 0;
	line-height: 1.6;
}

#property_list .txt,
.post ul.property_list .txt {
	padding: 0 8px;
	font-size: var(--rem14);
}

#property_list .cat,
.post ul.property_list .cat {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
	row-gap: 5px;
}

#property_list .cat span,
.post ul.property_list .cat span {
	display: block;
	padding: 5px 15px;
	background: var(--color-secondary);
	border-radius: 999px;
	color: #fff;
	line-height: 1.4;
}

#property_list .cat b,
.post ul.property_list .cat b {
	color: #F35B35;
	font-size: var(--rem24);
	font-weight: 800;
	font-family: var(--font-family03);
	line-height: 1;
}

#property_list .ttl,
.post ul.property_list .ttl {
	width: fit-content;
	margin: 8px 0;
	padding-bottom: 2px;
	border-bottom: 2px solid var(--color-primary);
	color: var(--color-primary);
	font-size: var(--rem20w);
	font-weight: 900;
}

#property_list .price,
.post ul.property_list .price {
	margin-bottom: 8px;
}

#property_list .price b,
.post ul.property_list .price b {
	display: inline-block;
	margin-right: 8px;
	font-size: var(--rem24w);
}

#property_list .in,
.post ul.property_list .in {
	margin-top: 8px;
	padding: 15px;
	background: #F7F7F7;
	border-radius: 8px;
	font-size: var(--rem16);
}

@media print,
screen and (min-width: 641px) {

	/* PC・タブレット */
	#property_list,
	.post ul.property_list {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		column-gap: 2%;
	}

	#property_list li,
	.post ul.property_list li {
		width: 23.5%;
	}
}

@media only screen and (max-width: 820px) and (min-width: 641px) {

	#property_list li,
	.post ul.property_list li {
		width: 32%;
	}
}

/*--------------------------------------------------
	物件情報 詳細
--------------------------------------------------*/
#property_detail {
	padding-top: 20px;
}

#property_detail>h2 {
	position: relative;
	padding: var(--px20) var(--px40);
	background: #fff;
	font-size: var(--rem30w);
	text-align: left;
}

#property_detail>h2 b {
	position: absolute;
	top: -28px;
	left: 15px;
	color: #F35B35;
	font-size: 30px;
	font-weight: 900;
	font-family: var(--font-family03);
	line-height: 1;
}

#property_detail .price_cat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	row-gap: 5px;
}

#property_detail .cat {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

#property_detail .cat span {
	display: block;
	padding: 5px 15px;
	background: var(--color-secondary);
	border-radius: 999px;
	color: #fff;
	font-size: 90%;
	line-height: 1.4;
}

#property_detail .price {
	font-size: var(--rem24w);
	font-weight: bold;
}

#property_detail .price b {
	display: inline-block;
	margin-right: 5px;
	font-size: var(--rem60);
	font-weight: 600;
	font-family: var(--font-family03);
	line-height: 1;
}

#property_detail .txt th {
	width: 38%;
	white-space: nowrap;
}

#property_detail .txt td p {
	margin: 0;
}

#property_detail .txt tr:first-child th {
	border-top: solid 2px var(--color-font);
}

#property_detail .txt tr:first-child td {
	border-top: solid 2px var(--color-table-border);
}

#property_detail .point {
	padding: var(--px40) var(--px50) var(--px50);
	background: #F7F7F7;
	border-radius: var(--px50);
}

#property_detail .point dt {
	margin-bottom: var(--px20);
	font-size: var(--rem20);
	line-height: 1.5;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	column-gap: 20px;
}

#property_detail .point dt b {
	display: block;
	font-size: var(--rem30);
}

#property_detail .point dt img {
	display: block;
	width: 100px;
	margin: 0;
}

#property_detail .point dd {
	padding: 0 10px;
}

#property_detail .point dd li {
	padding-left: 24px;
	background: url(/wp-content/uploads/ico_point02.png.webp) no-repeat left top 2px / 14px auto;
	line-height: 1.6;
}

#property_detail .point dd li+li {
	margin-top: 0.6em;
}

#property_detail .map iframe {
	width: 100%;
	vertical-align: bottom;
}

@media only screen and (max-width: 640px) {

	/* スマホ */
	#property_detail .txt th {
		width: 38%;
	}

	#property_detail .point {
		padding: 20px;
	}

	#property_detail .point dt {
		column-gap: 15px;
	}

	#property_detail .point dt img {
		width: 70px;
	}

	#property_detail .point dd {
		padding: 0;
	}
}

/**/
#property_detail .btn {
	width: 90%;
	max-width: 600px;
	margin: auto;
}

#property_detail .btn li a {
	height: 100%;
	padding: var(--px20);
	background: var(--color-primary);
	border-radius: 999px;
	color: #fff;
	text-align: center;
	font-size: var(--rem18);
	font-weight: 500;
	line-height: 1.4;
	transition: all 0.3s ease-in-out;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
}

#property_detail .btn li a:hover {
	background: var(--color-primary-tint);
}

#property_detail .btn li a i {
	margin-right: 10px;
	font-size: var(--rem18);
}

#property_detail .btn li.tel a {
	font-size: var(--rem24w);
	font-family: var(--font-family03);
}

@media print,
screen and (min-width: 641px) {

	/* PC・タブレット */
	#property_detail .btn {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#property_detail .btn li {
		width: 48%;
	}
}

@media only screen and (max-width: 640px) {

	/* スマホ */
	#property_detail .btn li+li {
		margin-top: 10px;
	}
}

/**/
#property_detail .link {
	/* フレックス */
	display: flex;
}

#property_detail .link li {
	width: 100%;
	padding: 25px 0 20px;
	background: #fefefe;
	border: 1px solid #F2F7FA;
	;
	border-radius: 20px 20px 0 0;
	color: #bbb;
	font-size: var(--rem20);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
}

#property_detail .link li:hover {
	color: var(--color-primary);
}

#property_detail .link li.on {
	background: #F2F7FA;
	color: var(--color-font);
}

#property_detail .bg_wide {
	position: relative;
}

#property_detail .bg_wide::before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100vw;
	height: 100%;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	background: #F2F7FA;
	content: "";
	z-index: -1;
}

#property_detail .in {
	padding: var(--px80);
	background: #fff;
	border-radius: var(--px80);
}

#property_detail .tab.on {
	display: block;
}

#property_detail .tab.off {
	display: none;
}

/**/
#property_detail .box_tbl {
	border-left: 1px solid var(--color-table-border);
}

#property_detail .box_tbl dl {
	position: relative;
	margin-bottom: -1px;
	border-top: 1px solid var(--color-table-border);
	border-right: 1px solid var(--color-table-border);
	border-bottom: 1px solid var(--color-table-border);
}

#property_detail .box_tbl dt,
#property_detail .box_tbl dd {
	padding: 10px;
}

#property_detail .box_tbl dt {
	background: #eee;
	font-weight: 500;
}

#property_detail .box_tbl dd p {
	margin: 0;
}

@media print,
screen and (min-width: 769px) {

	/* PCのみ */
	#property_detail .box_tbl {
		/* フレックス */
		display: flex;
		flex-wrap: wrap;
	}

	#property_detail .box_tbl dl {
		width: 100%;
	}

	#property_detail .box_tbl dl.w2 {
		width: 50%;
	}

	#property_detail .box_tbl dl.w3 {
		width: calc(100% / 3);
	}
}

@media print,
screen and (min-width: 641px) {

	/* PC・タブレット */
	#property_detail .link li br {
		display: none;
	}

	#property_detail .box_tbl dl {
		display: flex;
	}

	#property_detail .box_tbl dt {
		width: 200px;
		border-right: 1px solid var(--color-table-border);
	}

	#property_detail .box_tbl dd {
		width: calc(100% - 200px);
	}
}

@media only screen and (max-width: 640px) {

	/* スマホ */
	#property_detail .in {
		padding: 20px;
		border-radius: 30px;
	}

	#property_detail .link li {
		padding: 15px 0 10px;
	}

	#property_detail .box_tbl dt {
		border-bottom: 1px solid var(--color-table-border);
	}
}

/**/
#property_detail .contact {
	padding: var(--px60) var(--px80) var(--px80);
	background: #F2F7FA;
	border-radius: var(--px80);
}

#property_detail .contact h2 {
	margin-bottom: var(--px20);
	font-size: var(--rem30);
}

.btn_link {
	display: inline-block;
	width: 100%;
	max-width: 320px;
	padding: 20px;
	background: url(/wp-content/uploads/btnarrow.png.webp) no-repeat right 20px center / 25px auto;
	border-top: 3px solid var(--color-font);
	border-bottom: 3px solid var(--color-font);
	color: var(--color-font);
	font-size: var(--rem18);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	transition: all 0.3s ease-in-out !important;
}

.btn_link:hover {
	background-color: var(--color-primary);
	background-image: url(/wp-content/uploads/btnarrow_wh.png.webp);
	border-color: var(--color-primary);
	color: #fff;
}

#property_detail .contact ul {
	width: 100%;
	max-width: 900px;
	margin: auto;
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 15px;
}

#property_detail .contact li a {
	height: 100%;
	padding: 20px;
	background: #fff;
	border-radius: 8px;
	color: var(--color-font);
	font-weight: 500;
	line-height: 1.5;
	transition: all 0.3s ease-in-out;
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

#property_detail .contact li a:hover {
	background: var(--color-primary-tint) !important;
	color: #fff !important;
}

#property_detail .contact li a b {
	display: block;
	margin: 5px auto;
	color: inherit;
	font-size: var(--rem20);
	/* 縦方向中央揃え */
	display: flex;
	align-items: center;
	column-gap: 10px;
}

#property_detail .contact li a span {
	font-size: var(--rem14);
}

#property_detail .contact li a img {
	display: inline-block;
	width: 34px;
	font-size: var(--rem20);
	vertical-align: middle;
}

#property_detail .contact li.tel a b {
	font-size: var(--rem30);
	font-weight: 600;
	font-family: var(--font-family03);
}

#property_detail .contact li.mail a {
	background: var(--color-primary);
	color: #fff;
}

#property_detail .contact li.mail a b {
	margin: 10px auto;
}

#property_detail .contact li.mail a img {
	width: 28px;
}

@media print,
screen and (min-width: 641px) {

	/* PC・タブレット */
	#property_detail .contact h2 br {
		display: none;
	}

	#property_detail .contact ul li {
		width: 48.5%;
	}
}

@media only screen and (max-width: 640px) {

	/* スマホ */
	#property_detail .contact {
		padding: var(--px50) var(--px60) var(--px60);
	}

	#property_detail .contact ul li {
		width: 100%;
	}
}

/**/
#photo_main {
	margin-bottom: var(--px20);
	border-radius: var(--px30);
	background: #f5f5f5;
	aspect-ratio: 3 / 2;
}

#photo_main img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	max-width: none;
}

#photo_thumb {
	/* フレックス */
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#photo_thumb li {
	overflow: hidden;
	width: calc(25% - (10px * 3 / 4));
	border-radius: var(--px20);
}

/*投稿周りの調整*/
body.cat-voice.single time {
    display: none;
}
body.single.cat-casestudy time {
    display: none;
}