@charset "utf-8";
/*
  breakpoint：640/768/1025/1280
*/
/*=============================================*/
/* HEADER */
/*=============================================*/
.l-header {
  width: 100%;
  --height: 50px;
  height: var(--height);
  background: #fff;
  position: relative;
  z-index: 999;
}
@media (min-width: 1280px) {
  .l-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    height: 80px;
  }
}
.l-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
/* Top page */
.top__body .l-header {
	background: rgba(255, 255, 255, 0);
	position: fixed;
	top: 0;
	left: 0;
	transition: .3s;
}
.top__body .l-header.fixed {
	background: rgba(255, 255, 255, 1.0);
}
/* header logo */
.l-header__logo {
  padding-left: var(--m40);
  position: relative;
  z-index: 999;
}
@media (max-width: 1279px) {
  .l-header__logo {
    width: 100%;
    height: 100%;
  }
}
.l-header__logo a {
  display: flex;
  align-items: center;
  height: 100%;
  width: clamp(262px, 50vw, 373px);
}

/* ナビゲーション 
-----------------------------------------------*/
.l-header__nav li {
  font-weight: 500;
}
/* SP Nav */
@media (max-width: 1279px) {
  .l-header__nav {
    display: none;
    padding-top: 70px;
    padding-bottom: 50px;
    background: #fff;
    width: 100%;
    height: 100dvh;
    font-size: 14px;
    overflow-y: scroll;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99;
  }
  .l-header__nav > ul {
  	width: 80%;
    margin-inline: auto;
    font-weight: 500;
  }
  .l-header__nav__menu li + li {
  	margin-top: 10px;
  }
  .l-header__nav__menu li a {
    display: block;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #C9C9C9;
    position: relative;
    cursor: pointer;
  }
  .l-header__nav__menu li a::after {
    content: "\e900";
    color: var(--color-main01);
    font-family: 'icomoon' !important;
    font-size: 6px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .l-header__nav__menu li .-parent::after,
  .l-header__nav__menu li .-parent::before {
    content: "";
    width: 12px;
    height: 1px;
    background: var(--color-main01);
    border: none;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  .l-header__nav__menu li .-parent::before {
    transform: translateY(-50%) rotate(90deg);
  }
  .l-header__nav__menu li .-parent.is-active::before {
    display: none;
  }
  .l-header__nav__menu .child-menu {
  	display: none;
  	padding: 5px 20px 20px;
  	background: #F5F5F5;
  	font-weight: 400;
  	overflow: hidden;
  }
  .l-header__nav__menu .child-menu.is-open {
    display: block;
  }
}
@media (min-width: 1280px) {
  .l-header__nav {
  	display: flex;
    height: 100%;
    padding-right: var(--m40);
  }
  .l-header__nav__menu {
    display: flex;
    gap: min(2.76vw, 36px);
    height: 100%;
  }
  .l-header__nav__menu li {
    display: contents;
  }
  .l-header__nav__menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 15px;
    cursor: pointer;
  }
  .l-header__nav__menu li a.current,
  .l-header__nav__menu li a:hover {
    color: var(--color-main01);
  }
  .spOnly {
		display: none !important;
	}
	.l-header__nav .child-menu {
  	display: none;
  }
}
/* バーガーボタン 
-----------------------------------------------*/
.l-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
}
.l-toggle span,
.l-toggle span::before,
.l-toggle span::after {
  display: block;
  content: "";
  width: 24px;
  height: 1px;
  background: #333;
  position: relative;
  transition: all .3s;
}
.l-toggle span::before {
  top: -6px;
}
.l-toggle span::after {
  top: 5px;
}
/*.l-toggle.active {
  background: var(--color-main01);
}*/
.l-toggle.active span {
  background: none;
}
.l-toggle.active span::before {
  transform: translateY(6px) rotate(-45deg);
}
.l-toggle.active span::after {
  transform: translateY(-5px) rotate(45deg);
}
@media (min-width: 1280px) {
  .l-toggle {
    display: none;
  }
}
/*=============================================*/
/* FOOTER */
/*=============================================*/
.l-footer {
	padding-top: var(--m115);
	background: #fff;
	position: relative;
	overflow: hidden;
}
.l-footer .c-content {
	max-width: 1351px;
}
@media (min-width: 768px) {
	.l-footer__nav__container {
		grid-template-columns: 1fr 67.111111%;
	}
}
.l-footer__logo {
	width: clamp(145px, 18.23vw, 237px);
	margin-inline: auto;
}
@media (min-width: 768px) {
	.l-footer__logo {
		margin-inline: initial;
	}
}
.l-footer__nav__container {
	display: grid;
	gap: 20px;
}
.l-footer__nav {
	display: none;
}
@media (min-width: 768px) {
	.l-footer__nav {
		display: block;
	}
	.l-footer__menu {
		display: flex;
		flex-wrap: wrap;
		gap: 10px var(--m40);
	}
	.l-footer__menu li {
		font-size: clamp(16px, 1vw, 1.8rem);
		font-weight: 500;
	}
	.l-footer__submenu {
		display: flex;
		gap: 20px;
	}
	.l-footer__nav .-border {
		margin: 20px 0 25px;
		border-top: 1px solid #C9C9C9;
	}
}
@media (any-hover: hover) {
	.l-footer__nav a:hover {
		color: var(--color-main01);
	}
}
.l-footer__info {
	margin-top: clamp(50px, 8.46vw, 110px);
}
@media (min-width: 768px) {
	.l-footer__info {
		display: flex;
		justify-content: space-between;
	}
}
.l-footer__info .-border {
	margin: var(--m45) 0;
	border-top: 1px solid #C9C9C9;
}
@media (min-width: 768px) {
	.l-footer__info .-border {
		margin: 0 var(--m45);
		border-top: 0;
		border-right: 1px solid #C9C9C9;
	}
}
.l-footer__info .-border.-sp {
	margin: 30px 0;
}
@media (min-width: 768px) {
	.l-footer__info .-border.-sp {
		display: none;
	}
}
@media (min-width: 768px) {
	.l-footer__info .-item:nth-of-type(1) {
		flex-shrink: 2;
	}
	.l-footer__info .-item:nth-of-type(3) {
		flex-shrink: 3;
	}
}
.l-footer__info .-ttl {
	margin-bottom: 9px;
	font-size: clamp(18px, 1.53vw, 2.0rem);
	font-feature-settings: "palt";
	line-height: 1.6;
}
.l-footer__info .-txt {
	font-size: var(--font16);
}
.l-footer__info .-list {
	margin-top: var(--m35);
	display: grid;
	grid-template-columns: repeat(2, max-content);
	column-gap: clamp(15px, 2.46vw, 32px);
	justify-content: space-between;
}
@media (min-width: 1480px) {
	.l-footer__info .-list {
		grid-template-columns: max-content 1fr;
	}
}
.l-footer__info .-list li {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	padding-left: 15px;
	font-size: var(--font16);
	font-weight: 500;
	line-height: 2;
	position: relative;
}
@media (min-width: 768px) and (max-width: 1279px) {
	.l-footer__info .-list {
		display: block;
	}
	.l-footer__info .-list li {
		grid-template-columns: 1fr;
	}
}
.l-footer__info .-list li::before {
	content: "";
	width: 8px;
	aspect-ratio: 1/1;
	background: #333;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 1em;
	transform: translateY(-50%);
}
.l-footer__info .-tel {
	white-space: nowrap;
	align-self: end;
}
.l-footer__info .-banner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--m20) 8px;
	width: fit-content;
	margin-top: var(--m35);
}
@media (min-width: 768px) {
	.l-footer__info .-banner {
		grid-template-columns: 1fr;
	}
}
.l-footer__info .-banner a {
	border: 1px solid #ccc;
}
@media (any-hover: hover) {
	.l-footer__info .-banner a:hover {
		border-color: var(--color-main01);
	}
}
.l-footer__info .-banner img {
	max-width: 214px;
}
.l-footer__copy {
	display: block;
	margin-top: clamp(43px, 8.39vw, 180px);
	padding-bottom: clamp(20px, 6.92vw, 90px);
	font-size: var(--font16);
	line-height: 1.7;
	text-align: center;
}
@media (min-width: 768px) {
	.l-footer__copy {
		text-align: left;
		line-height: 1.5;
	}
}
.l-footer .c-content .-afterImg {
	width: 213px;
	margin-inline: auto;
	margin-top: 43px;
}
@media (min-width: 768px) {
	.l-footer .c-content .-afterImg {
		width: clamp(120px, 23vw, 339px);
		margin: initial;
		position: absolute;
		right: 0;
		translate: 29%;
		bottom: 20px;
	}
}
/*=============================================*/
/* Page Top Btn */
/*=============================================*/
.page__top {
  display: block;
  width: clamp(40px, 6vw, 72px);
  aspect-ratio: 1/1;
  position: fixed;
  bottom: 10px;
  right: 5px;
  z-index: 999;
  cursor: pointer;
  transition: all ease-in-out .3s;
}
@media (min-width: 1025px) {
  .page__top {
    right: 26px;
    bottom: 20px;
  }
}
/*=============================================*/
/* CTA */
/*=============================================*/
.c-cta {
	padding-top: clamp(58px, 7.69vw, 100px);
	padding-bottom: var(--m120);
	background: var(--color-main01);
}
.c-cta .c-content {
	display: grid;
	align-items: end;
	justify-content: center;
	gap: clamp(30px, 5.92vw, 77px);
}
@media (min-width: 640px) {
	.c-cta .c-content {
		grid-template-columns: auto auto;
	}
}
@media (max-width: 639px) {
	.c-cta .c-content .-cont {
		justify-self: center;
		text-align: center;
	}
}
.c-cta h2 {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.07vw, 14px);
	color: #fff;
	font-size: var(--font24);
	font-weight: 500;
}
.c-cta h2::before {
	flex-shrink: 0;
	content: "";
	width: 24px;
	aspect-ratio: 24/14;
	background: url("/assets/images/common/title_icon-wh.svg") center / contain no-repeat;
}
.c-cta h3 {
	color: #fff;
	font-size: clamp(42px, 5.53vw, 7.2rem);
}
.c-cta a {
	display: inline-flex;
	align-items: center;
	gap: clamp(15px, 2.15vw, 28px);
	padding: clamp(15px, 2.3vw, 30px) var(--m35) clamp(15px, 2.3vw, 30px) var(--m50);
	background: #fff;
	border: 1px solid #fff;
	border-radius: var(--m20);
	color: var(--color-main01);
	font-size: var(--font18);
	font-weight: 700;
}
.c-cta a::after {
	content: "\e900";
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(30px, 3.3vw, 43px);
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: var(--color-main01);
	color: #fff;
	font-family: 'icomoon' !important;
	font-size: 6px;
}
@media (any-hover: hover) {
	.c-cta a:hover {
		background: var(--color-main01);
		color: #fff;
	}
	.c-cta a:hover::after {
		background: #fff;
		color: var(--color-main01);
	}
}
/*=============================================*/
/* Main */
/*=============================================*/
main {
	position: relative;
}
/*=============================================*/
/* Breadcrumb */
/*=============================================*/
.l-breadcrumb {
  padding: clamp(2px, 2.3vw, 30px) var(--m40) 0;
  position: relative;
  z-index: 1;
}
.l-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.l-breadcrumb ol li {
  display: flex;
  align-items: center;
  font-size: clamp(12px, 1.07vw, 14px);
  font-weight: 500;
}
.l-breadcrumb ol li + li::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 clamp(8px, 1.07vw, 14px);
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}
@media (any-hover: hover) {
  .l-breadcrumb ol li a:hover {
    text-decoration: underline;
  }
}
.l-breadcrumb.-white * {
	color: #fff !important;
}
/*=============================================*/
/* L2 */
/*=============================================*/
/* L2 - Page Title
-----------------------------------------------*/
.l2-header {
	background-position: center bottom;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
}
.-business .l2-header,
.-news .l2-header {
	height: max(79.81vw, 386px);
	background-image: url("/assets/images/business/business_title_bg_sp.jpg");
}
.-company .l2-header {
	padding-bottom: 84.266666vw;
}
.-job .l2-header {
	background-image: url("/assets/images/job/job_title_bg_sp01.jpg");
	background-position: center top;
}
.-job .l2-header .sp-img {
	margin-top: 47px;
	text-align: right;
}
.-job .l2-header .sp-img img {
	display: inline-block;
	width: 86.133333%;
}
@media (min-width: 640px) {
	.-job .l2-header .sp-img {
		display: none;
	}
}
@media (min-width: 640px) {
	.-business .l2-header {
		height: min(39.38vw, 617px);
		background-image: url("/assets/images/business/business_title_bg.jpg");
	}
	.-news .l2-header {
		height: min(39.23vw, 510px);
		background-image: url("/assets/images/news/news_title_bg.jpg");
	}
	.-company .l2-header {
		padding-bottom: 11.128vw;
		background-image: url("/assets/images/company/company_title_bg.jpg");
	}
	.-job .l2-header {
		padding-bottom: var(--m120);
		background-image: url("/assets/images/job/job_title_bg.jpg");
		background-position: center bottom;
	}
}
@media (max-width: 639px) {
	.-company .l2-header::before {
		content: "";
		width: 100%;
		height: 100%;
		background-image: url("/assets/images/company/company_title_bg_sp.png");
		background-position: center bottom;
		background-size: 100%;
		background-repeat: no-repeat;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
	}
}
.l2-header::after {
	content: "";
	width: 100%;
	aspect-ratio: 375 / 52;
	background: url("/assets/images/common/l2_bg_sp.svg") center top / 100% no-repeat;
	position: absolute;
	left: 0;
	bottom: 0;
}
.-job .l2-header::after {
	aspect-ratio: 375 / 49;
	background-image: url(/assets/images/job/job_bg_sp.svg);
}
@media (min-width: 640px) {
	.l2-header::after {
		aspect-ratio: 1920 / 139;
		background-image: url("/assets/images/common/l2_bg.svg");
	}
	.-news .l2-header::after {
		aspect-ratio: 1920 / 126;
		background-image: url("/assets/images/news/news_bg.svg");
	}
	.-job .l2-header::after {
		aspect-ratio: 1920 / 157;
		background-image: url(/assets/images/job/job_bg.svg);
	}
}
.l2-header .c-content {
	margin-top: 30px;
}
.-job .l2-header .c-content {
	width: 62.5%;
	z-index: 1;
}
@media (min-width: 640px) {
	.l2-header .c-content {
		width: min(66.34vw, 1200px);
		margin-top: min(3.83vw, 73px);
	}
}
@media (max-width: 639px) {
	.-company .l2-header .c-content,
	.-job .l2-header .c-content {
		width: 84%;
	}
}
.l2-header h1 .-cate {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.07vw, 14px);
	font-size: 18px;
	font-weight: 500;
}
@media (min-width: 640px) {
	.l2-header h1 .-cate {
		font-size: clamp(16px, 1.25vw, 2.4rem);
	}
}
.l2-header h1 .-cate::before {
	flex-shrink: 0;
	content: "";
	width: 24px;
	aspect-ratio: 24 / 14;
	background: url("/assets/images/common/title_icon.svg") center / contain no-repeat;
}
@media (min-width: 640px) {
	.l2-header h1 .-cate::before {
		width: clamp(20px, 1.84vw, 24px);
	}
}
.l2-header h1 .-ttl {
	display: block;
	margin-top: clamp(15px, 2.6vw, 50px);
	font-family: var(--fontZen);
	font-size: 28px;
	line-height: 1.428;
}
@media (min-width: 640px) {
	.l2-header h1 .-ttl {
		font-size: clamp(22px, 2.62vw, 5.0rem);
		line-height: 1.325;
	}
}
.l2-header .c-content p {
	max-width: 523px;
	margin-top: clamp(20px, 2.92vw, 38px);
	font-size: 16px;
}
@media (min-width: 640px) {
	.l2-header .c-content p {
		width: 60%;
		font-size: clamp(12px, 1.23vw, 1.6rem);
	}
}
@media (max-width: 639px) {
	.-company .l2-header .c-content p {
		width: 99%;
	}
}
.-job .l2-header .c-content p {
	max-width: 643px;
	margin-top: var(--m50);
}
.-job .l2-header .c-content .-link {
	margin-top: var(--m25);
}
/*=============================================*/
/* L2 - 事業紹介 */
/*=============================================*/
.p-business {
	background: var(--color-main02);
}
@media (min-width: 640px) {
	.p-business {
		padding-bottom: var(--m120);
	}
}
.p-business .-wrapper {
	padding: clamp(26px, 6.15vw, 80px) 0 clamp(40px, 9.84vw, 128px);
	position: relative;
}
.p-business .-wrapper::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #FEF8F1;
	position: absolute;
	left: 0;
	top: 0;
}
@media (min-width: 640px) {
	.p-business .-wrapper {
		width: min(96%, 1760px);
	}
	.p-business .-wrapper::before {
		border-radius: 0 clamp(30px, 6.82vw, 130px) clamp(30px, 6.82vw, 130px) 0;
	}
}
@media (min-width: 1600px) {
	.p-business .-wrapper {
		width: 100%;
	}
	.p-business .-wrapper::before {
		width: min(96%, 1760px);
	}
}
/* Business Hub -- common Top
-----------------------------------------------*/
.c-business__nav {
	display: grid;
	gap: var(--m40);
	width: 84%;
}
@media (min-width: 640px) {
	.c-business__nav {
		grid-template-columns: repeat(2, 1fr);
	}
}
.c-business__nav a {
	display: grid;
	grid-template-columns: 49.122807% 1fr;
	align-items: center;
	gap: var(--m20) 20px;
	padding: clamp(15px, 2.07vw, 27px) var(--m25) var(--m20);
	background: #fff;
	border: 1px solid #fff;
	border-radius: 6px;
	position: relative;
}
@media (min-width: 640px) {
	.c-business__nav a {
		grid-template-columns: 1fr;
		text-align: center;
	}
}
.c-business__nav a .-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(40px, 6vw, 78px);
	aspect-ratio: 1 / 1;
	background: var(--color-main01);
	border-radius: 50%;
	color: #fff;
	font-family: var(--fontAlbert);
	font-size: clamp(14px, 1.69vw, 2.2rem);
	font-weight: 600;
	line-height: 1;
	position: absolute;
	top: clamp(8px, 0.92vw, 12px);
	left: clamp(8px, 0.92vw, 12px);
	z-index: 1;
}
.c-business__nav a .-img {
	border-radius: clamp(12px, 1.53vw, 20px);
	overflow: hidden;
	transition: transform .6s ease;
}
.c-business__nav a p {
	font-size: clamp(16px, 1.69vw, 2.2rem);
	font-weight: 500;
	line-height: 1.5;
	position: relative;
}
.c-business__nav a p::after {
	font-family: 'icomoon';
	content: "\e900";
	color: var(--color-main01);
	font-size: clamp(9px, 0.92vw, 12px);
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s;
}
@media (min-width: 640px) {
	.c-business__nav a p::after {
		right: var(--m25);
	}
}
@media (max-width: 639px) {
	.c-business__nav a.-row {
		display: flex;
		justify-content: center;
		padding: 23px;
	}
	.c-business__nav a.-row .-img {
		display: none;
	}
	.c-business__nav a.-row p {
		position: initial;
	}
	.c-business__nav a.-row p::after {
		right: 20px;
	}
}
@media (min-width: 640px) {
	.c-business__nav a.-row {
		align-self: start;
		display: grid;
		grid-template-columns: 44.725728% 1fr;
		align-items: center;
		gap: clamp(15px, 1.83vw, 35px);
		padding: clamp(15px, 1.92vw, 26px) var(--m23);
	}
	.c-business__nav a.-row p {
		display: grid;
		gap: clamp(6px, 1vw, 13px);
		line-height: 1.6;
		text-align: left;
	}
	.c-business__nav a.-row p::after {
		position: relative;
		right: 0;
		translate: 0;
	}
}
@media (any-hover: hover) {
	.c-business__nav a:hover {
		border-color: var(--color-main01);
		box-shadow: 7px 11px 14px -5px #e3d8cc;
	}
	.c-business__nav a:hover .-img img {
		transform: scale(1.1);
	}
	.c-business__nav a:hover p {
		color: var(--color-main01);
	}
	.c-business__nav a:hover p::after {
		right: 0;
	}
	.c-business__nav a.-row:hover p::after {
		translate: var(--m25);
	}
}
/*=============================================*/
/* L2 News */
/*=============================================*/
.p-news {
	padding-bottom: var(--m120);
	background: var(--color-main02);
}
.p-news .-wrapper {
	width: var(--width);
	max-width: 1580px;
	margin-inline: auto;
	padding: var(--m80) 0 var(--m120);
	background: #fff;
	border-radius: var(--m40);
}
/* News List -- common Top
-----------------------------------------------*/
.c-news__list {
	border-top: 1px solid #E1E1E1;
}
.c-news__list li {
	display: contents;
}
.c-news__list a {
	display: grid;
  gap: 10px;
  padding: var(--m25) clamp(30px, 3.46vw, 45px) var(--m25) 0;
  border-bottom: 1px solid #E1E1E1;
  font-weight: 700;
  line-height: var(--lineheight);
  position: relative;
}
@media (min-width: 640px) {
  .c-news__list a {
    grid-template-columns: auto 1fr;
    gap: min(2.15vw, 28px);
  }
}
.c-news__list a::after {
  content: "\e900";
  color: var(--color-main01);
  font-family: 'icomoon' !important;
  font-size: 6px;
  line-height: 0;
  position: absolute;
  right: var(--m20);
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.c-news__list a time {
	color: var(--color-main01);
}
@media (any-hover: hover) {
  .c-news__list a:hover {
    border-color: var(--color-main01);
  }
  .c-news__list a:hover p {
  	color: var(--color-main01);
  }
  .c-news__list a:hover::after {
    right: 0;
  }
}
/* News Pagination
-----------------------------------------------*/
.c-news__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: var(--m80);
}
.c-news__pagination li a {
  display: block;
  min-width: 30px;
  height: 45px;
  padding: 5px;
  background: #fff;
  border: 1px solid #DCDCDC;
  color: #333;
  line-height: 33px;
  text-align: center;
}
.c-news__pagination .active a {
  background: var(--color-main01);
  border-color: var(--color-main01);
  color: #fff;
}
@media (any-hover: hover) {
  .c-news__pagination li a:hover {
    text-decoration: none;
  }
}
.c-news__pagination .disabled {
  display: none;
}
/* News Archive
-----------------------------------------------*/
.c-archive__nav {
	margin-top: var(--m80);
}
.c-archive__nav .-ttl {
  font-size: var(--font24);
  font-weight: 700;
}
.c-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, clamp(142px, 13.84vw, 180px));
  gap: clamp(15px, 1.84vw, 24px);
  margin-top: var(--m30);
}
.c-archive__list li {
	display: contents;
}
.c-archive__list li a {
	padding: var(--m20);
	border: 1px solid var(--color-main01);
	border-radius: 10px;
	color: var(--color-main01);
  line-height: 1;
  text-align: center;
  position: relative;
}
.c-archive__list li a::before {
  content: "\e901";
  font-family: 'icomoon' !important;
  font-size: 7px;
  position: absolute;
  right: 23px;
  top: 50%;
  transform: translateY(-50%);
}
@media (any-hover: hover) {
  .c-archive__list li a:hover {
    background: var(--color-main01);
    color: #fff;
  }
}
.c-archive__ttl {
	margin-bottom: var(--m30);
	font-size: var(--font32);
	line-height: 1.2;
}
/*=============================================*/
/* L2 企業情報 */
/*=============================================*/
.p-company {
	padding-top: var(--m80);
	padding-bottom: var(--m120);
	background: #fff;
}
.p-company > section:nth-of-type(even) {
	width: min(100%, 1680px);
	margin-inline: auto;
	margin-top: clamp(40px, 9.23vw, 120px);
	padding: clamp(40px, 9.23vw, 120px) 0;
	background: #FFF3E6;
	border-radius: clamp(30px, 5.03vw, 96px);
}
.p-company　.c-anchorLink .c-content {
	width: 75.2%;
}
/* 01 ごあいさつ
-----------------------------------------------*/
.p-company__sec01 {
	margin-top: clamp(38px, 9.23vw, 120px);
}
.p-company__sec01 .c-content {
	display: flex;
	flex-direction: column;
}
@media (min-width: 640px) {
	.p-company__sec01 .c-content {
		flex-direction: row;
		align-items: flex-start;
		gap: clamp(30px, 6.56vw, 125px);
	}
}
.p-company__sec01 .c-content .-img {
	width: 94.66vw;
	margin-left: calc(50% - 50vw);
}
@media (min-width: 640px) {
	.p-company__sec01 .c-content .-img {
		width: min(35.95vw, 685px);
	}
}
.p-company__sec01 .c-content .-cont {
	width: min(100%, 750px);
}
.p-company__sec01 .-ttl {
	margin-top: var(--m80);
	font-size: clamp(20px, 2.46vw, 3.2rem);
}
.p-company__sec01 .-txt {
	margin-top: 22px;
}
@media (min-width: 640px) {
	.p-company__sec01 .-txt {
		margin-top: var(--m35);
		line-height: 2.125;
	}
}
.p-company__sec01 .-sign {
	margin-top: var(--m50);
}
.p-company__sec01 .-sign img {
	width: clamp(200px, 21.76vw, 283px);
}
@media (max-width: 639px) {
	.p-company__sec01 .c-content .-cont {
		display: contents;
	}
	.p-company__sec01 .c-content .c-ttl-count {
		order: 1;
	}
	.p-company__sec01 .c-content .-img {
		order: 2;
		margin-top: 40px;
	}
	.p-company__sec01 .c-content .txt-content {
		order: 3;
	}
	.p-company__sec01 .-ttl {
		line-height: 1.6;
	}
}
/* 02 経営理念・社訓・指針
-----------------------------------------------*/
.p-company__sec02 .-txt {
	margin-top: var(--m60);
}
.p-company__sec02 .-img {
	max-width: 846px;
	margin-inline: auto;
	margin-top: var(--m60);
}
/* 03 会社概要
-----------------------------------------------*/
.p-company__sec03 {
	margin-top: var(--m120);
}
.p-company__outline {
  display: grid;
  margin-top: var(--m80);
  border-top: 1px solid #B4B4B4;
}
@media (min-width: 640px) {
	.p-company__outline {
    grid-template-columns: 20% 1fr;
  }
}
.p-company__outline > dt,
.p-company__outline > dd {
  padding: 14px var(--m30);
  border-bottom: 1px solid #B4B4B4;
}
.p-company__outline > dt {
  background: #F9F7F5;
  font-size: var(--font18);
  font-weight: 500;
}
.p-company__outline > dd {
	line-height: var(--lineheight);
}
@media (min-width: 640px) {
  .p-company__outline > dt {
    border-right: 1px solid #B4B4B4;
  }
  .p-company__outline > dd {
  	padding-left: var(--m60);
  }
}
.p-company__outline .-sec {
	padding: 26px 0;
}
.p-company__outline dd .-sec:not(:last-child) {
	border-bottom: 1px dashed #B4B4B4;
}
.p-company__outline .-ttl {
	font-size: var(--font18);
}
.p-company__outline .c-mapBtn {
	margin-top: var(--m20);
}
.p-company__outline .-dlist {
	display: grid;
	gap: 0 1em;
	margin-top: var(--m20);
}
@media (min-width: 640px) {
	.p-company__outline .-dlist {
		grid-template-columns: max-content 1fr;
	}
}
@media (max-width: 639px) {
	.p-company__outline .-dlist dt:not(:first-child) {
		margin-top: 1em;
	}
}
.p-company__outline .c-dot li + li {
	margin-top: 5px;
}
/* 04 会社沿革
-----------------------------------------------*/
.p-company__history {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 12px;
	margin-top: var(--m60);
}
@media (min-width: 640px) {
	.p-company__history {
		grid-template-columns: auto clamp(140px, 13.84vw, 180px) 1fr;
	}
}
.p-company__history .-g {
	display: grid;
	grid-template-areas: "item1 item2" "item3 item4";
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	gap: clamp(13px, 2vw, 26px);
	padding: var(--m20) clamp(15px, 2.53vw, 33px);
	background: #fff;
}
@media (min-width: 640px) {
	.p-company__history .-g {
		grid-template-areas: "item1 item2 item3";
	}
}
.p-company__history dt {
	grid-area: item1;
	padding-right: 8px;
	font-size: var(--font20);
	font-weight: 500;
}
.p-company__history dt:first-child {
	align-self: center;
}
.p-company__history dt .-year {
	margin-right: 8px;
	color: #D95846;
	font-family: "Open Sans", sans-serif;
	font-size: clamp(32px, 3.23vw, 4.2rem);
	font-weight: 400;
	line-height: 1;
}
.p-company__history .-month {
	grid-area: item2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background: #F9F7F5;
	font-size: var(--font18);
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.p-company__history .-cont {
	align-self: center;
	grid-area: item3;
}
@media (max-width: 639px) {
	.p-company__history .-g .-cont {
		grid-column: 1 / 3;
	}
}
/* 05 環境への取り組み
-----------------------------------------------*/
.p-company__sec05 {
	margin-top: var(--m120);
}
.p-company__environment {
	margin-top: var(--m75);
}
.p-company__environment .-ttl {
	display: flex;
	align-items: center;
	gap: var(--m20);
	margin-bottom: var(--m30);
	padding-bottom: var(--m20);
	border-bottom: 1px solid #B4B4B4;
	font-size: var(--font32);
	font-weight: 500;
}
.p-company__environment .-ttl .-num {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(20px, 2.61vw, 34px);
	aspect-ratio: 1 / 1;
	background: var(--color-main01);
	color: #fff;
	font-family: var(--fontAlbert);
	font-size: var(--font16);
	font-weight: 600;
	line-height: 1;
}
.p-company__environment__list {
	counter-reset: number;
	line-height: var(--lineheight);
}
.p-company__environment__list > li {
	counter-increment: number;
}
.p-company__environment__list > li::before {
	content: "（" counter(number) "） ";
}
.p-company__environment .-box {
	margin: var(--m20) 0;
	padding: var(--m35) var(--m40);
	background: #F9F7F5;
}
.p-company__environment .-box .-caption {
	font-size: 1.6rem;
	font-weight: 400;
}
/*=============================================*/
/* L2 求職者の方 */
/*=============================================*/
.p-job__btn {
	padding-bottom: var(--m60);
	background: var(--color-main02);
}
.p-job .c-btn.-sizeL {
	padding: var(--m30) 24px var(--m30) 30px;
}
@media (min-width: 640px) {
	.p-job .c-btn.-sizeL {
		width: min(100%, 480px);
	}
}
.p-job .c-anchorLink {
	margin-top: var(--m80);
}
@media (max-width: 639px) {
	.p-job .c-anchorLink .c-content {
		justify-content: center;
	}
}
.p-job__feature {
	width: min(100%, 1680px);
	margin-inline: auto;
	margin-top: var(--m80);
	padding: clamp(40px, 9.23vw, 120px) 0;
	background: #FFF3E6;
	border-radius: clamp(30px, 5.03vw, 96px);
}
.p-job__feature__list {
	display: grid;
	gap: var(--m40);
	margin-top: var(--m60);
}
.p-job__feature__list li {
	display: grid;
	gap: var(--m60);
	padding: clamp(30px, 4.07vw, 53px) var(--m65);
	background: #fff;
	border-radius: 16px;
}
@media (min-width: 640px) {
	.p-job__feature__list li {
		grid-template-columns: min(28.037383%, 300px) 1fr;
	}
}
.p-job__feature__list img {
	border-radius: 12px;
}
.p-job__feature__list .-ttl {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
	color: var(--color-main01);
	position: relative;
}
.p-job__feature__list .-ttl .-en {
	font-family: var(--fontAlbert);
	font-size: var(--font16);
	font-weight: 500;
}
.p-job__feature__list .-ttl .-num {
	margin-left: 5px;
	font-family: var(--fontAlbert);
	font-size: clamp(18px, 1.84vw, 2.4rem);
	font-weight: 500;
}
.p-job__feature__list .-ttl::after {
	content: "";
	width: 50px;
	height: 1px;
	background: var(--color-main01);
	position: absolute;
	left: 0;
	bottom: 0;
}
.p-job__feature__list .-subttl {
	margin-top: clamp(20px, 1.76vw, 23px);
	color: var(--color-main01);
	font-size: clamp(18px, 2.46vw, 3.2rem);
	font-weight: 500;
	line-height: 1.77;
}
.p-job__feature__list p {
	max-width: 720px;
	margin-top: 15px;
}
.p-job__feature__list .-note {
	margin-top: var(--m25);
	font-size: 1.4rem;
}
/* Flow
-----------------------------------------------*/
.p-job__flow {
	padding-top: var(--m120);
	padding-bottom: var(--m120);
}
.p-job__flow .-btn {
	margin-top: var(--m60);
}
/*=============================================*/
/* L3 */
/*=============================================*/
/* L3 - Page Title
-----------------------------------------------*/
.l3-header {
	display: grid;
	grid-template-rows: auto 1fr;
	height: max(93.89vw, 455px);
	background-image: url("/assets/images/business/businessL3_title_bg_sp.png");
	background-position: center bottom;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
}
@media (min-width: 640px) {
	.l3-header {
		height: initial;
		min-height: min(32.5vw, 520px);
		background-image: url("/assets/images/business/businessL3_title_bg.png");
	}
}
.l3-header::after {
	content: "";
	width: 100%;
	aspect-ratio: 375 / 54;
	background: url("/assets/images/business/businessL3_bg_sp.svg") center top / 100% no-repeat;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
@media (min-width: 640px) {
	.l3-header::after {
		aspect-ratio: 1920 / 124;
		background-image: url("/assets/images/business/businessL3_bg.svg");
	}
}
.l3-header__title {
	width: 100%;
	margin-top: clamp(24px, 2.3vw, 30px);
	padding-top: 40px;
	position: relative;
}
.l3-header__title h1 {
	width: 81.333333%;
	max-width: 1620px;
	margin-inline: auto;
}
@media (min-width: 640px) {
	.l3-header__title {
		padding-top: min(4.18vw, 67px);
		padding-bottom: calc(7.75vw + 20px);
	}
	.l3-header__title h1 {
		display: flex;
		align-items: center;
		width: 94%;
	}
	.l3-header__title h1::before {
		content: "";
		width: clamp(80px, 11.02vw, 210px);
		aspect-ratio: 210 / 199;
		background-position:  center;
		background-size: contain;
		background-repeat: no-repeat;
	}
	.p-construction .l3-header__title h1::before {
		background-image: url(/assets/images/construction/construction_title_icon.svg);
	}
	.p-realEstate .l3-header__title h1::before {
		background-image: url(/assets/images/real-estate/real-estate_title_icon.svg);
	}
	.p-realEstate .l3-header__title h1::before {
		background-image: url(/assets/images/real-estate/real-estate_title_icon.svg);
	}
	.p-humanResouce .l3-header__title h1::before {
		background-image: url(/assets/images/human-resouce/human-resouce_title_icon.svg);
	}
	.p-security .l3-header__title h1::before {
		background-image: url(/assets/images/security/security_title_icon.svg);
	}
	.p-inspection-support .l3-header__title h1::before {
		background-image: url(/assets/images/inspection-support/inspection-support_title_icon.svg);
	}
}
.l3-header__title::after {
	content: "";
	width: 94.666666%;
	height: 100%;
	background: var(--color-main01);
	border-radius: 0 clamp(30px, 9.23vw, 120px) 0 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.l3-header__title h1 {
	color: #fff;
	position: relative;
}
.l3-header__title h1 .-cate {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.07vw, 14px);
	font-size: 18px;
	font-weight: 500;
}
@media (min-width: 640px) {
	.l3-header__title h1 .-cate {
		font-size: clamp(16px, 1.25vw, 2.4rem);
	}
}
.l3-header__title h1 .-cate::before {
	flex-shrink: 0;
	content: "";
	width: 24px;
	aspect-ratio: 24 / 14;
	background: url("/assets/images/common/title_icon-wh.svg") center / contain no-repeat;
}
@media (min-width: 640px) {
	.l3-header__title h1 .-cate::before {
		width: clamp(20px, 1.84vw, 24px);
	}
}
.l3-header__title h1 .-ttl {
	display: block;
	margin-top: 20px;
	font-family: var(--fontZen);
	font-size: 32px;
	line-height: 1.325;
}
@media (min-width: 640px) {
	.l3-header__title h1 .-ttl {
		margin-top: min(1.31vw, 25px);
		font-size: min(3.84vw, 5.0rem);
	}
}
/* L3 - Local Nav
-----------------------------------------------*/
.c-localNav {
	padding: var(--m95) 0 clamp(40px, 7.46vw, 97px);
	background: #F9F7F5;
}
.c-localNav .-ttl {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.07vw, 14px);
	font-size: var(--font24);
	font-weight: 500;
}
.c-localNav .-ttl::before {
	flex-shrink: 0;
	content: "";
	width: 24px;
	aspect-ratio: 24/14;
	background: url("/assets/images/common/title_icon.svg") center / contain no-repeat;
}
.c-localNav__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(12px, 2.3vw, 30px);
	margin-top: var(--m30);
}
@media (min-width: 768px) {
	.c-localNav__list {
		grid-template-columns: repeat(3, 1fr);
	}
}
.c-localNav__list li {
	display: contents;
}
.c-localNav__list li a {
	display: flex;
	align-items: center;
	padding: clamp(20px, 2.46vw, 32px) clamp(35px, 3.07vw, 40px) clamp(20px, 2.46vw, 32px) clamp(15px, 3.07vw, 40px);
	background: #fff;
	border-radius: clamp(8px, 0.92vw, 12px);
	font-size: clamp(15px, 1.38vw, 1.8rem);
	font-weight: 500;
	position: relative;
}
.c-localNav__list li a::after {
	content: "\e900";
	color: var(--color-main01);
	font-family: 'icomoon' !important;
	font-size: 9px;
	position: absolute;
	right: var(--m24);
	top: 50%;
	transform: translateY(-50%);
}
@media (any-hover: hover) {
	.c-localNav__list li a:hover {
		background: var(--color-main01);
		color: #fff;
	}
	.c-localNav__list li a:hover::after {
		color: #fff;
	}
}
/*=============================================*/
/* 事業紹介 L3 -- Common */
/*=============================================*/
/* Intro
-----------------------------------------------*/
.p-businessL3__intro {
	padding-bottom: var(--m80);
	background: #fff;
}
.p-businessL3__intro h2 {
	color: var(--color-main01);
	font-size: clamp(24px, 2.46vw, 3.2rem);
	font-weight: 500;
}
.p-businessL3__intro h3 {
	margin-top: 25px;
	font-size: var(--font24);
	font-weight: 500;
	line-height: 1.6;
}
@media (min-width: 640px) {
	.p-businessL3__intro h3 {
		margin-top: var(--m40);
	}
}
.p-businessL3__intro .-txt {
	margin-top: 15px;
}
.p-businessL3__intro nav {
	margin-top: var(--m55);
}
/* Section
-----------------------------------------------*/
.p-businessL3__sec {
	padding-top: clamp(40px, 9.23vw, 120px);
	padding-bottom: var(--m120);
	background: var(--color-main02);
	border-radius: var(--m80) var(--m80) 0 0;
	position: relative;
}
.p-businessL3__sec.-color01 {
	background: var(--color-main01);
	color: #fff;
}
.p-businessL3__sec.-color01::before,
.p-businessL3__sec.-color01::after {
	content: "";
	width: 100%;
	height: 100px;
	background: var(--color-main02);
	position: absolute;
	left: 0;
	z-index: -1;
}
.p-businessL3__sec.-color01::before {
	background: var(--color-main02);
	top: 0;
}
.p-businessL3__sec.-color01::after {
	background: var(--color-main01);
	top: 100%;
}
.p-businessL3__sec.-white {
	background: #fff;
}
/* H2
-----------------------------------------------*/
.-color01 .c-ttl-count__num::after {
	background-image: radial-gradient(
		circle,
		#fff calc(var(--size) / 2), 
		transparent calc(var(--size) / 2)
	);
}
.-color01 .c-ttl-count__txt {
	border-color: #fff;
}
.-color01 .c-ttl-count__num {
	color: #fff;
}
/* H3
-----------------------------------------------*/
.p-businessL3__subttl {
	margin-top: var(--m60);
	font-size: clamp(20px, 2.46vw, 3.2rem);
	font-weight: 500;
	line-height: 1.6;
}
@media (min-width: 1300px) {
	.p-businessL3__subttl.text-overflow {
		margin-right: -0.5em;
	}
}
/* Lead text
-----------------------------------------------*/
.p-businessL3__lead {
	max-width: 1042px;
	margin-top: var(--m30);
}
/* Point
-----------------------------------------------*/
.p-businessL3__point__list {
	display: grid;
	gap: 20px;
	margin-top: var(--m80);
}
.p-businessL3__point__list.gap40 {
	gap: var(--m40);
}
.p-businessL3__point__list li {
	display: grid;
	gap: clamp(20px, 4.199vw, 80px);
	padding: clamp(30px, 4.07vw, 53px) var(--m65);
	background: #fff;
	border-radius: 16px;
	color: #333;
}
@media (min-width: 640px) {
	.p-businessL3__point__list li {
		grid-template-columns: min(28.037383%, 300px) 1fr;
	}
}
.p-businessL3__point__list img {
	border-radius: 12px;
}
.p-businessL3__point__list .-ttl {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
	color: var(--color-main01);
	position: relative;
}
.p-businessL3__point__list .-ttl .-en {
	font-family: var(--fontAlbert);
	font-size: var(--font16);
	font-weight: 500;
}
.p-businessL3__point__list .-ttl .-num {
	margin-left: 5px;
	font-family: var(--fontAlbert);
	font-size: clamp(18px, 1.84vw, 2.4rem);
	font-weight: 500;
}
.p-businessL3__point__list .-ttl .-txt {
	margin-left: 20px;
	font-size: clamp(24px, 2.46vw, 3.2rem);
}
.p-businessL3__point__list .-ttl::after {
	content: "";
	width: 50px;
	height: 1px;
	background: var(--color-main01);
	position: absolute;
	left: 0;
	bottom: 0;
}
.p-businessL3__point__list .-subttl {
	margin-top: clamp(20px, 1.69vw, 22px);
	font-size: var(--font24);
	font-weight: 500;
	line-height: 1.77;
	text-decoration: underline;
  text-decoration-thickness: clamp(10px, 1.07vw, 14px);
  text-decoration-color: #FFFF8D;
  text-underline-offset: calc(-1 * clamp(3px, 0.46vw, 6px));
  text-decoration-skip-ink: none;
}
.p-businessL3__point__list .-subttl-red {
	color: var(--color-main01);
	font-size: var(--font32);
	font-weight: 500;
}
@media (min-width: 640px) {
	.p-businessL3__point__list .-subttl-red {
		margin-top: min(0.93vw, 18px);
	}
}
.p-businessL3__point__list p {
	max-width: 613px;
	margin-top: 15px;
}
.p-businessL3__point__list .-subttl-red + p {
	margin-top: var(--m25);
}
/* Domains
-----------------------------------------------*/
.p-businessL3__domains__list {
	display: grid;
	gap: clamp(25px, 3vw, 39px);
	margin-top: var(--m90);
}
@media (min-width: 640px) {
	.p-businessL3__domains__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-businessL3__domains__list li {
	padding: var(--m40) var(--m50);
	background: #fff;
	border-radius: 16px;
	color: #333;
}
.p-businessL3__domains__list li .-img {
	position: relative;
}
.p-businessL3__domains__list li .-img img {
	border-radius: var(--m24);
}
.p-businessL3__domains__list li .-ttl {
	margin-top: var(--m30);
	font-size: var(--font24);
}
.p-businessL3__domains__list li p {
	margin-top: var(--m20);
}
/* Service
-----------------------------------------------*/
.p-businessL3__service__list {
	display: grid;
	gap: 15px 20px;
	margin-top: var(--m80);
	counter-reset: service-counter;
}
@media (min-width: 640px) {
	.p-businessL3__service__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-businessL3__service__list > li {
	padding: var(--m35) var(--m45);
	background: #fff;
	border-radius: 16px;
}
.p-businessL3__service__list .-ttl {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: var(--font24);
	font-weight: 500;
}
.p-businessL3__service__list .-ttl .-num {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(27px, 2.76vw, 36px);
	aspect-ratio: 1 / 1;
	background: var(--color-main01);
	border-radius: 50%;
	color: #fff;
	font-family: var(--fontAlbert);
	font-size: var(--font16);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}
.p-businessL3__service__list .-ttl .-num::before {
  counter-increment: service-counter;
  content: counter(service-counter);
}
.p-businessL3__service__list p {
	margin-top: 17px;
}
/* Flow
-----------------------------------------------*/
.p-businessL3__flow {
	padding-bottom: var(--m80);
}
.p-businessL3__flow .p-businessL3__lead {
	margin-top: var(--m40);
}
/* Faq
-----------------------------------------------*/
.p-businessL3__faq__ttl {
	margin-top: var(--m80);
	font-size: var(--font24);
	font-weight: 500;
}
.p-businessL3__faq__list {
	display: grid;
	gap: 20px;
	margin-top: var(--m30);
	counter-reset: faq-counter;
}
.p-businessL3__faq__list .-item {
	display: grid;
	grid-template-columns: max-content 1fr;
	align-items: baseline;
	gap: 20px 14px;
	padding: var(--m40);
	background: #fff;
	border-radius: 16px;
	color: #333;
}
.p-businessL3__faq__list dt {
	font-size: var(--font24);
	font-weight: 500;
}
.p-businessL3__faq__list dd {
	line-height: var(--lineheight);
}
.p-businessL3__faq__list dt,
.p-businessL3__faq__list dd {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	align-items: baseline;
}
.p-businessL3__faq__list dt::before,
.p-businessL3__faq__list dd::before {
	color: #D95846;
	font-family: var(--fontAlbert);
	font-size: var(--font24);
	font-weight: 600;
	line-height: 1;
}
.p-businessL3__faq__list dt::before {
	counter-increment: faq-counter;
  content: "Q" counter(faq-counter) ".";
}
.p-businessL3__faq__list dd::before {
	content: "A";
	text-align: right;
}
.p-businessL3__faq__copy {
	margin-top: var(--m80);
	font-size: var(--font24);
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}
/* Voice
-----------------------------------------------*/
.p-businessL3__voice__list {
	display: grid;
	gap: 40px;
	margin-top: var(--m80);
}
@media (min-width: 640px) {
	.p-businessL3__voice__list {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--m40);
	}
	.p-businessL3__voice__list li {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: 1 / 3;
		gap: 0;
	}
}
.p-businessL3__voice__list .-ttl {
	font-size: var(--font20);
}
.p-businessL3__voice__list dl {
	display: flex;
	flex-direction: column;
	margin-top: var(--m35);
}
.p-businessL3__voice__list dl dt {
	display: grid;
	justify-content: center;
	padding: var(--m30) 10px var(--m30) var(--m30);
	background: #fff;
	border-radius: 16px;
	color: #CF1225;
	font-size: var(--font24);
	font-weight: 500;
	line-height: 1.5;
	position: relative;
}
.p-businessL3__voice__list dl dt::before {
	content: "";
	width: clamp(40px, 4.46vw, 58px);
	aspect-ratio: 58 / 45;
	background: url(/assets/images/business/voice_fukidashi.svg) center / contain no-repeat;
	position: absolute;
	right: clamp(40px, 7.38vw, 96px);
	top: calc(100% - 2px);
}
.p-businessL3__voice__list dl dd {
	flex-grow: 1;
	display: flex;
	align-items: center;
	margin-top: var(--m30);
	padding: var(--m35) var(--m40);
	border: 1px solid #fff;
	border-radius: 16px;
	line-height: var(--lineheight);
}
/* Job List
-----------------------------------------------*/
.p-businessL3__job__sec {
	margin-top: var(--m80);
}
.p-businessL3__job__sec .-header {
	display: grid;
	gap: clamp(10px, 3.69vw, 48px);
}
@media (min-width: 640px) {
	.p-businessL3__job__sec .-header {
		grid-template-columns: max-content 1fr;
		align-items: center;
	}
}
.p-businessL3__job__list {
	display: grid;
	gap: 20px;
	margin-top: clamp(15px, 1.84vw, 24px);
}
.p-businessL3__job__list .-item {
	background: #fff;
	border-radius: 16px;
	
}
.p-businessL3__job__list dt {
	padding: clamp(15px, 2.46vw, 32px) var(--m40);
	color: var(--color-main01);
	font-size: var(--font20);
	font-weight: 500;
	position: relative;
	cursor: pointer;
}
.p-businessL3__job__list .open dt {
	border-radius: 16px 16px 0 0;
}
.p-businessL3__job__list dt button {
	width: clamp(15px, 1.84vw, 24px);
	aspect-ratio: 1 / 1;
	position: absolute;
	right: var(--m30);
	top: 50%;
	transform: translateY(-50%);
}
.p-businessL3__job__list dt button::before,
.p-businessL3__job__list dt button::after {
	content: "";
	width: clamp(15px, 1.84vw, 24px);;
	height: 2px;
	background: var(--color-main01);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.p-businessL3__job__list dt button::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.p-businessL3__job__list .open dt button::after {
	transform: translate(-50%, -50%) rotate(0);
}
.p-businessL3__job__list dd {
	padding: 0 var(--m40) var(--m40);
}
.p-businessL3__job__list dd .-container {
	padding: var(--m40);
	background: #F9F7F5;
}
.p-businessL3__job__list dd .-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px var(--m40);
}
.p-businessL3__job__list dd .-list.-column {
	flex-direction: column;
}
.p-businessL3__job__list dd .-list li {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.p-businessL3__job__list dd .-list li::before {
	flex-shrink: 0;
	content: "";
	width: 8px;
	aspect-ratio: 1 / 1;
	background: var(--color-main01);
	border-radius: 50%;
	position: relative;
	bottom: 2px;
}
.p-businessL3__job__list dd .-list li.-etc::before {
	display: none;
}
/* Problem List
-----------------------------------------------*/
.p-businessL3__problem__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(30px, 3.53vw, 46px) var(--m30);
	margin-top: var(--m60);
}
.p-businessL3__problem__list li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--m25);
	width: 90%;
	padding: 17px;
	background: #fff;
	border-radius: 16px;
	color: #333;
	position: relative;
}
@media (min-width: 640px) {
	.p-businessL3__problem__list li {
		width: calc((100% - var(--m30)) / 2);
	}
}
@media (min-width: 1025px) {
	.p-businessL3__problem__list li {
		width: 31.666666%;
	}
}
.p-businessL3__problem__list li::before {
	content: "";
	width: 21px;
	aspect-ratio: 21 / 23;
	background: url(/assets/images/business/business_fukidashi.svg) center / contain no-repeat;
	position: absolute;
	left: var(--m45);
	top: calc(100% - 1px);
}
.p-businessL3__problem__list li img {
	flex-shrink: 0;
	width: clamp(45px, 4.61vw, 60px);
}
.p-businessL3__problem__list li p {
	font-size: var(--font18);
	font-weight: 700;
	line-height: 1.55;
}
/* CTA
-----------------------------------------------*/
.p-businessL3__cta {
	padding: var(--m100) 0 var(--m110);
	background: #FFF3E6;
	text-align: center;
}
.p-businessL3__cta .-ttl {
	font-size: var(--font42);
	font-weight: 500;
}
.p-businessL3__cta .-txt {
	margin-top: var(--m15);
}
.p-businessL3__cta .-btn {
	display: grid;
	gap: var(--m30);
	margin-top: var(--m50);
}
@media (min-width: 640px) {
	.p-businessL3__cta .-btn {
		display: flex;
		justify-content: center;
	}
}
.p-businessL3__cta .-btn a {
	width: min(100%, 436px);
}
/* TEL
-----------------------------------------------*/
.p-businessL3__tel {
	display: grid;
	justify-content: center;
}
.p-businessL3__tel.-sec{
	padding: clamp(30px, 4.84vw, 63px) 0;
}
.p-businessL3__tel .c-content {
	width: 98%;
}
.p-businessL3__tel__ttl {
	font-size: var(--font18);
	font-weight: 500;
	text-align: left;
}
.p-businessL3__tel__list {
	display: grid;
	gap: 18px;
	width: max-content;
	margin-top: 10px;
}
@media (min-width: 768px) {
	.p-businessL3__tel__list {
		grid-template-columns: repeat(3, auto);
	}
}
.p-businessL3__tel__list li {
	display: contents;
}
.p-businessL3__tel__list li a {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: var(--font24);
	font-weight: 500;
}
.p-businessL3__tel__list li a::before {
	flex-shrink: 0;
	content: "";
	width: clamp(10px, 1.23vw, 16px);
	aspect-ratio: 16 / 21;
	background: url("/assets/images/common/icon_tel_black.svg") center / contain no-repeat;
	position: relative;
	top: 2px;
}
/*=============================================*/
/* 事業紹介 L3 - 建設事業 */
/*=============================================*/
/* p-construction__works
-----------------------------------------------*/
.p-construction__works .p-businessL3__lead {
	max-width: 100%;
	margin-top: var(--m40);
}
.p-construction__works .c-ttl--square {
	margin-top: var(--m80);
}
.p-construction__works__list {
	display: grid;
	gap: 20px;
	margin-top: var(--m30);
}
@media (min-width: 640px) {
	.p-construction__works__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-construction__works__list li {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(20px, 2.92vw, 38px);
	padding: clamp(20px, 2.07vw, 27px);
	background: #fff;
	border-radius: 16px;
	color: #333;
}
.p-construction__works__list li img {
	width: clamp(100px, 11.23vw, 146px);
}
.p-construction__works__list li .-cont {
	width: min(100%, 211px);
}
.p-construction__works__list .-ttl {
	font-size: var(--font24);
	font-weight: 500;
}
.p-construction__works__list .-num {
	
	padding: clamp(13px, 1.3vw, 17px);
	margin-top: var(--m15);
	background: #FFF3E6;
	border-radius: 28px;
	line-height: 1;
	text-align: center;
}
.p-construction__works .-notes {
	margin-top: var(--m20);
	font-size: var(--font16);
}
.p-construction__works .-total {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 15px;
	font-size: var(--font42);
	font-weight: 500;
	text-align: center;
	position: relative;
}
.p-construction__works .-total::before {
	content: "";
	width: 35px;
	aspect-ratio: 35 / 20;
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-construction__works .-btn {
	margin-top: 30px;
}
@media (min-width: 1025px) {
	.p-construction__works .-btn {
		margin-top: var(--m80);
		text-align: center;
	}
}
.p-construction__works .c-btn {
	width: min(100%, 700px);
	padding: clamp(30px, 3.61vw, 47px) var(--m20) clamp(30px, 3.61vw, 47px);
	font-size: var(--font32);
}
.p-construction__works .c-btn::after {
	width: clamp(30px, 3.07vw, 40px);
}
/*=============================================*/
/* 事業紹介 L3 - 不動産事業 */
/*=============================================*/
.p-realEstate {}
/*=============================================*/
/* 事業紹介 L3 - 人材サービス事業 */
/*=============================================*/
.p-humanResouce {}
.p-humanResouce .-service .c-ttl--square {
	margin-top: var(--m80);
}
.p-humanResouce .p-businessL3__faq__list {
	margin-top: var(--m60);
}
.p-humanResouce .-faq .-sec {
	margin-top: var(--m80);
}
.p-humanResouce .-faq .-dlist {
	display: grid;
	gap: 20px;
	margin-top: var(--m40);
	color: #333;
}
@media (min-width: 640px) {
	.p-humanResouce .-faq .-dlist {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-humanResouce .-faq .-dlist .-item {
	padding: clamp(20px, 2.46vw, 32px) clamp(20px, 4.15vw, 54px);
	background: #fff;
	border-radius: 16px;
}
.p-humanResouce .-faq .-dlist dt {
	font-size: var(--font18);
	font-weight: 700;
}
.p-humanResouce .-faq .-dlist dd {
	max-width: 467px;
	margin-top: 14px;
	line-height: var(--lineheight);
}
.p-humanResouce .-faq .-howto {
	margin-top: clamp(20px, 3.61vw, 47px);
}
.p-humanResouce .-faq .-howto .-ttl {
	font-size: var(--font18);
	font-weight: 700;
}
.p-humanResouce .-inspection::before {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--color-main02);
	position: absolute;
	top: 0;
	z-index: -1;
}
.p-humanResouce .-inspection .-container {
	margin-top: var(--m60);
	padding: var(--m60) 20px;
	background: #F9F7F5;
	border-radius: 16px;
	text-align: center;
}
.p-humanResouce .-inspection .-container .c-btn {
	width: min(100%, 517px);
	margin-top: var(--m30);
}
/*=============================================*/
/* 事業紹介 L3 - 警備事業 */
/*=============================================*/
/* 02 事業内容
-----------------------------------------------*/
.p-security__business__sec {
	margin-top: var(--m80);
}
.p-security__business__sec .c-ttl span {
	display: inline-block;
	width: 4.33em;
	margin-right: 15px;
	padding: 1px 5px 3px;
	background: #fff;
	border-radius: 30px;
	color: var(--color-main01);
	text-align: center;
}
.p-security__business__sec .-dlist {
	display: grid;
	gap: var(--m30);
	margin-top: var(--m30);
	color: #333;
}
@media (min-width: 640px) {
	.p-security__business__sec .-dlist {
		grid-template-columns: repeat(3, 1fr);
	}
}
.p-security__business__sec .-dlist .-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: var(--m40);
	background: #fff;
	border-radius: 16px;
}
.p-security__business__sec .-dlist dd {
	line-height: var(--lineheight);
}
/* 03 拠点案内・お問い合わせ
-----------------------------------------------*/
.p-security__info {
	padding-bottom: 0;
}
.p-security__info .-lead {
	margin-top: var(--m60);
}
.p-security__info .-box  {
	margin-top: var(--m80);
	padding: clamp(20px, 3.69vw, 48px) 20px clamp(30px, 4vw, 52px);
	background: #F9F7F5;
	border-radius: 16px;
}
.p-security__info__list {
	display: grid;
	width: fit-content;
	margin-inline: auto;
}
@media (min-width: 640px) {
	.p-security__info__list {
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
	}
}
.p-security__info__list .-item {
	padding-bottom: clamp(10px, 1.84vw, 24px);
}
.p-security__info__list .-item:first-child {
	border-bottom: 1px solid #333;
	padding-bottom: 20px;
}
.p-security__info__list .-item:last-child {
	padding-top: 20px;
}
@media (min-width: 640px) {
	.p-security__info__list .-item:first-child {
		padding-right: clamp(20px, 5.07vw, 66px);
		padding-bottom: 0;
		border-right: 1px solid #333;
		border-bottom: 0;
	}
	.p-security__info__list .-item:last-child {
		padding-left: clamp(20px, 5.07vw, 66px);
		padding-top: 0;
	}
}
.p-security__info__list .-address {
	margin-top: 3px;
	font-size: var(--font18);
	line-height: 2;
}
.p-security__info__list .-tel {
	margin-top: 10px;
}
.p-security__info .c-btn {
	display: flex;
	width: min(100%, 480px);
	margin-top: var(--m80);
	margin-inline: auto;
}
.p-security__info__sec {
	margin-top: var(--m120);
	padding: var(--m120) 0;
	background: var(--color-main02);
}
.p-security__info__sec dl {
	margin-top: var(--m20);
}
.p-security__info__sec dt {
	background: #F9F7F5;
}
/*=============================================*/
/* 事業紹介 L3 - 検査補助事業 */
/*=============================================*/
/* 02 ご依頼から業務実施までの流れ
-----------------------------------------------*/
.p-inspection-support .p-businessL3__flow {
	padding-bottom: var(--m120);
}
/* 03 当社が選ばれる理由
-----------------------------------------------*/
.p-inspection-support__reason__list {
	display: grid;
	gap: 20px;
	margin-top: var(--m60);
}
.p-inspection-support__reason__list .-item {
	padding: var(--m40);
	background: #fff;
	border-radius: 16px;
}
.p-inspection-support__reason__list .-item dt {
	color: var(--color-main01);
}
.p-inspection-support__reason__list .-item dd {
	margin-top: var(--m20);
	line-height: var(--lineheight);
}
/* Info
-----------------------------------------------*/
.p-inspection-support__info {
	padding: var(--m120) 0;
	background: #fff;
	border-radius: var(--m20) var(--m20) 0 0;
}
.p-inspection-support__info .c-ttl {
	text-align: center;
}
.p-inspection-support__info .c-btn {
	display: flex;
	width: min(100%, 624px);
	margin-top: var(--m40);
	margin-inline: auto;
}
.p-inspection-support__info .-box {
	display: grid;
	justify-content: center;
	max-width: 812px;
	margin-inline: auto;
	margin-top: var(--m50);
	padding: clamp(20px, 3.69vw, 48px);
	background: #F9F7F5;
	border-radius: 16px;
}
.p-inspection-support__info .-box ul {
	display: flex;
	gap: 18px;
	margin-top: 9px;
}
/*=============================================*/
/* 事業紹介 L3 - 保険事業・ビジネスサポート事業 */
/*=============================================*/
.p-insurance__list > li {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.p-insurance__list > li ul {
	padding-left: var(--m30);
	border-left: 1px solid #C9C9C9;
}
.p-insurance__partners {
	margin-top: var(--m35);
}
.p-insurance__partners .-ttl {
	font-size: var(--font20);
}
.p-insurance__partners ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1em;
	margin-top: 10px;
}
.p-business-support__problemList {
	display: grid;
	gap: var(--m40);
}
@media (min-width: 640px) {
	.p-business-support__problemList {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-business-support__problemList li {
	display: grid;
	gap: var(--m30);
	grid-template-columns: 19.963702% 1fr;
	width: 100%;
}
.p-business-support__problemList li::before {
	left: 76.581196%;
}
.p-business-support__problemList li img {
	justify-self: end;
}
.p-business-support__info .-box {
	max-width: 648px;
}
.p-business-support__info .-box dl {
	display: flex;
	justify-content: center;
	gap: var(--m50);
}
.p-business-support__info .-btn {
	display: grid;
	gap: var(--m30);
	margin-top: var(--m40);
}
@media (min-width: 640px) {
	.p-business-support__info .-btn {
		grid-template-columns: repeat(2, minmax(0, 500px));
		justify-content: center;
	}
}
.p-business-support__info .-btn .c-btn {
	margin-top: 0;
}
/*=============================================*/
/* News - Post */
/*=============================================*/
.p-post__header {
	width: 93.75%;
	padding-bottom: var(--m80);
	margin-bottom: var(--m80);
	position: relative;
}
.p-post__header::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #FEF8F1;
	border-radius: 0 0 clamp(30px, 3.53vw, 46px);
	position: absolute;
	left: 0;
	top: 0;
}
@media (min-width: 1400px) {
	.p-post__header {
		width: 100%;
	}
	.p-post__header::before {
		width: 93.75%;
	}
}
.p-post__header .-ttl {
	margin-top: var(--m70);
	position: relative;
}
.p-post__header time {
	color: var(--color-main01);
}
.p-post__header h1 {
	margin-top: var(--m20);
	font-size: var(--font40);
}
.p-post__container {
	margin-bottom: var(--m90);
}
/* Post */
.p-post__content {
	margin-bottom: var(--m80);
}
.p-post__content h2 {
  margin: 25px 0;
  font-size: var(--font32);
  line-height: 1.5;
}
.p-post__content h3 {
  margin: 25px 0;
  font-size: var(--font28);
  line-height: 1.5;
}
.p-post__content h4 {
  margin: 25px 0;
  font-size: var(--font24);
  line-height: 1.5;
}
.p-post__content h5 {
	margin: 25px 0;
}
.p-post__content h6 {
	margin: 25px 0;
}
.p-post__content p {
  line-height: 2;
}
.p-post__content a {
  color: var(--color-main01);
  text-decoration: underline;
}
.p-post__content p:has(a[href$=".pdf"]) {
	margin: 2em 0;
}
.p-post__content a[href$=".pdf"] {
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
}
.p-post__content a[href$=".pdf"]::before {
  flex-shrink: 0;
  content: "";
  width: 24px;
  aspect-ratio: 24 / 29;
  background: url(/assets/images/common/ico_pdf.jpg) center / contain no-repeat;
}
@media (any-hover: hover) {
  .p-post__content a:hover {
    text-decoration: none;
  }
}
.p-post__content ul {
  margin: var(--m50) 0;
  padding-left: 0;
}
.p-post__content ul li {
  padding-left: 20px;
  text-indent: -20px;
  font-size: var(--font18);
  font-weight: 500;
  line-height: 2;
}
.p-post__content ul li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  background: #333;
  border-radius: 50%;
  position: relative;
  bottom: 2px;
}
.p-post__content ol {
  margin: var(--m50) 0;
  padding-left: 1.2em;
  list-style-type: decimal;
  font-size: var(--font18);
  line-height: 2;
}
.wp-block-image,
.p-post__content img {
	display: block;
	width: auto;
	max-width: 100%;
	margin: 10px 0;
}
.p-post__content a:hover img {
	opacity: 0.8;
}
.p-post__content iframe {
	max-width: 100%;
	aspect-ratio: 16 / 9;
  height: 100%;
}
.p-post__content center > br {
	display: none;
}
.p-post__content table {
	width: 100%;
	margin: 10px 0;
  border-collapse: collapse;
  border-top: 1px solid #C9C9C9;
}
.p-post__content thead {
  border-bottom: 0;
}
.p-post__content table tr {
  border-bottom: 1px solid #C9C9C9;
}
.p-post__content table th,
.p-post__content table td {
  padding: 17px 20px;
  border: 0;
  vertical-align: middle;
  line-height: 1.75;
}
.p-post__content table th {
  background: #F5F5F5;
  font-weight: 400;
}
.p-post__content table th + th {
  border-left: 1px solid #C9C9C9;
}
.p-post__content table th + td,
.p-post__content table td + td {
  border-left: 1px solid #C9C9C9;
}
/* WP Class */
.emoji {
	font-size: inherit;
}
.wp-block-columns {
  margin: var(--m50) 0;
}
.wp-block-columns .wp-block-image {
  margin: 0 0 10px;
}
.wp-block-columns .wp-block-heading {
  margin: 0 0 20px;
}
.wp-block-gallery {
  margin: var(--m50) 0;
}
.wp-block-gallery.columns-1 {
	margin: 10px 0;
}
.wp-block-gallery .wp-block-image {
  margin: 0;
}
.wp-block-embed {
  margin: var(--m50) 0;
}
.wp-block-table {
  display: flex;
  flex-direction: column-reverse;
  margin: var(--m80) 0;
  overflow-y: hidden;
}
.wp-block-table figcaption {
  margin-bottom: 17px;
  font-size: var(--font16);
  text-align: left;
}
.aligncenter {
	clear: both;
  margin-inline: auto;
}
.alignleft {
  float: left;
  margin-bottom: 20px;
  margin-right: 20px;
}
.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
.has-text-align-left {
	text-align: left;
}
.has-text-align-center {
	text-align: center;
}
.has-text-align-right {
	text-align: right;
}
/* Btn */
.p-post__content .c-returnBtn {
  margin: var(--m120) auto;
}
/*=============================================*/
/* L4 - 施工実績 */
/*=============================================*/
/* Header
-----------------------------------------------*/
.p-works__header {
	background-image: url("/assets/images/works/works_title_bg.png");
	background-position: center bottom;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
}
.p-works__header__title {
	display: flex;
	align-items: center;
	height: clamp(100px, 17.5vw, 280px);
	margin-top: clamp(10px, 2.3vw, 30px);
	position: relative;
}
.p-works__header__title::after {
	content: "";
	width: 75.800524%;
	height: 100%;
	background: #FFF3E6;
	border-radius: 0 clamp(30px, 9.23vw, 120px) 0 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.p-works__header__title h1 {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3.23vw, 42px);
}
.p-works__header__title h1 .-cate {
	font-size: clamp(12px, 1.25vw, 2.4rem);
	font-weight: 500;
}
.p-works__header__title h1 .-pagetitle {
	font-size: clamp(20px, 3.84vw, 5.0rem);
}
/* Container
-----------------------------------------------*/
.p-works__container {
	padding-top: 1px;
	padding-bottom: var(--m120);
	background: #fff;
}
.p-works__sec {
	margin-top: var(--m80);
}
/* Title
-----------------------------------------------*/
.p-works__list__ttl {
	padding-left: clamp(15px, 2.07vw, 27px);
	font-size: var(--font32);
	font-weight: 500;
	position: relative;
}
.p-works__list__ttl::before {
	content: "";
	width: 1px;
	height: 100%;
	background: var(--color-main01);
	position: absolute;
	left: 0;
}
/* List
-----------------------------------------------*/
.p-works__list {
	display: grid;
	gap: var(--m40) clamp(20px, 3.23vw, 42px);
	margin-top: var(--m30);
}
@media (min-width: 640px) {
	.p-works__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1025px) {
	.p-works__list {
		grid-template-columns: repeat(3, 1fr);
	}
}
.p-works__list li {
	cursor: pointer;
}
.p-works__list .-data {
	margin-top: var(--m20);
}
.p-works .-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: var(--m20);
	line-height: 1;
}
.p-works .-badge {
	padding: 9px 16px;
	background: #FFF3E6;
	text-align: center;
}
.p-works .-badge.-repair {
	background: #E3EFE0;
}
.p-works .-ttl {
	margin-top: 10px;
	font-size: var(--font20);
	font-weight: 500;
}
.p-works .-location {
	margin-top: 8px;
}
/* Modal
-----------------------------------------------*/
.p-modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 1000;
}
.p-modal.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-modal__bg {
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  width: 100%; height: 100%;
  cursor: pointer;
}
.p-modal__content {
  position: relative;
  background: #fff;
  padding: var(--m65) 0;
  max-width: 800px;
  width: 90%;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.p-modal__body {
	max-width: 580px;
}
.p-modal__body .-ttl {
}
.p-modal__close-btn {
	width: var(--m20);
	aspect-ratio: 1 / 1;
  position: absolute;
  top: clamp(7px, 1.15vw, 15px); 
  right: clamp(7px, 1.15vw, 15px);
  cursor: pointer;
}
#modal-img {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
/*=============================================*/
/* 仲介情報 */
/*=============================================*/
/* Footer 
-----------------------------------------------*/
.sales__footer {
	display: grid;
	padding: clamp(20px, 3.69vw, 48px);
	background: #808080;
	color: #fff;
	font-size: var(--font16);
	line-height: 1.71;
	text-align: center;
}
@media (min-width: 1025px) {
	.sales__footer {
		grid-template-columns: repeat(2, auto);
		justify-content: center;
		gap: clamp(20px, 3.33vw, 60px);
		text-align: left;
	}
}
.sales__footer p {
	line-height: initial;
}
.sales__footer hr {
	margin: 10px 0;
	border-top: 1px solid #fff;
}
@media (min-width: 1025px) {
	.sales__footer hr {
		display: none;
	}
}
/* 仲介情報
-----------------------------------------------*/
.p-sales {
	display: flex;
	flex-direction: column-reverse;
	gap: clamp(30px, 4.2vw, 77px);
	max-width: 1830px;
	margin-top: 27px;
}
@media (min-width: 1025px) {
	.p-sales {
		display: grid;
		grid-template-columns: 31.96% 1fr;
		width: 96%;
		margin-top: 0;
	}
}
.p-sales .-cont {
	max-width: 502px;
	
	position: relative;
}
@media (min-width: 1025px) {
	.p-sales .-cont {
		justify-self: end;
		margin-top: var(--m85);
	}
}
.p-sales .-cont h1 {
	margin-bottom: 15px;
	font-family: var(--fontZen);
	font-size: clamp(32px, 3.71vw, 6.8rem);
}
.p-sales form {
	margin-top: var(--m60);
}
.p-sales form fieldset + fieldset {
	margin-top: 27px;
}
.p-sales__form .c-ttl--left {
	font-size: var(--font20);
}
.p-sales__form ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
	padding: 20px clamp(30px, 3.07vw, 40px);
	background: #F5F5F5;
}
.p-sales__form .-property ul {
	gap: 10px clamp(36px, 3.69vw, 48px);
}
.p-sales__form li {
	font-size: var(--font18);
	font-weight: 500;
}
.p-sales__form button {
	width: clamp(140px, 13.3vw, 173px);
	margin-top: clamp(30px, 3.07vw, 40px);
	padding: 15px;
	background: var(--color-main01);
	border: 1px solid var(--color-main01);
	border-radius: clamp(16px, 1.53vw, 20px);
	color: #fff;
	font-size: var(--font20);
	font-weight: 700;
	cursor: pointer;
	transition: .3s;
}
@media (any-hover: hover) {
	.p-sales__form button:hover {
		background: #fff;
		color: var(--color-main01);
	}
}
input[type=checkbox] {
	appearance: none;
	width: 16px;
  aspect-ratio: 1 / 1;
  margin-right: 5px;
  background: #fff;
	border: 1px solid #333;
	position: relative;
	top: 1px;
}
input[type=checkbox]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: url("/assets/images/common/ico_check.svg") center / 55% no-repeat;
  position: absolute;
  inset: 0;
}
input[type=checkbox]:checked::before {
	opacity: 1;
}
/*=============================================*/
/* 仲介情報 - 検索結果 */
/*=============================================*/
.p-results__header {
	padding-bottom: var(--m80);
	margin-bottom: var(--m60);
	position: relative;
}
@media (min-width: 640px) {
	.p-results__header {
		overflow: hidden;
	}
}
.p-results__header::before {
	content: "";
	width: 93.75%;
	height: 100%;
	background: #5DC943;
	border-radius: 0 0 clamp(30px, 3.53vw, 46px);
	position: absolute;
	left: 0;
	top: 0;
}
.p-results__header::after {
	content: "";
	width: clamp(108px, 18.46vw, 240px);
	aspect-ratio: 1 / 1;
	background: url("/assets/images/sales/h1_bg_illust.svg") center / contain no-repeat;
	position: absolute;
	right: 11.25vw;
	bottom: calc(-1 * clamp(27px, 4.38vw, 57px));
}
.p-results__header h1 {
	max-width: 1260px;
	margin-top: var(--m50);
	color: #fff;
	font-family: var(--fontZen);
	font-size: clamp(32px, 3.07vw, 4.0rem);
}
.p-results__wrapper {
	display: grid;
	gap: 30px;
	max-width: 1260px;
}
@media (min-width: 1025px) {
	.p-results__wrapper {
		grid-template-columns: 31.746031% 1fr;
		align-items: start;
	}
}
/* Results Side */
.p-results__side {
	padding: clamp(30px, 3.07vw, 40px) 0 var(--m60);
	background: #F5F5F5;
}
@media (max-width: 639px) {
	.p-results__side {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
}
.p-results__side form {
	display: grid;
	gap: 37px;
	width: var(--width);
	margin-inline: auto;
}
@media (min-width: 1025px) {
	.p-results__side form {
		max-width: 280px;
	}
}
.p-results__side .c-ttl--left {
	margin-bottom: var(--m25);
	padding-left: var(--m30);
}
.p-results__side ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px var(--m30);
	padding: clamp(18px, 2.3vw, 30px) clamp(30px, 3.07vw, 40px);
	background: #fff;
}
@media (min-width: 1025px) {
	.p-results__side ul {
		display: grid;
		gap: 15px;
	}
}
.p-results__side ul li {
	font-size: var(--font18);
	font-weight: 500;
}
/* Results Main */
.p-results__main {
	justify-self: end;
	max-width: 760px;
}
@media (min-width: 1025px) {
	.p-results__main {
		padding-top: 24px;
	}
}
.p-results__txt {
	margin-bottom: var(--m55);
	font-size: var(--font24);
	font-weight: 700;
	line-height: 1.5;
}
.p-results__txt .-num {
	margin: 0 10px;
	color: var(--color-main01);
	font-size: clamp(26px, 3.84vw, 5.0rem);
	line-height: 1;
	vertical-align: bottom;
}
.p-results__list {
	display: grid;
	gap: var(--m40);
}
.p-results__list .-item {
	display: grid;
	gap: var(--m40);
	padding: var(--m40);
	position: relative;
	cursor: pointer;
}
@media (min-width: 640px) {
	.p-results__list .-item {
		grid-template-columns: 44.117647% 1fr;
	}
}
.p-results__list .-item::before {
	content: "";
	width: 100%;
	height: 100%;
	border: 1px solid #C9C9C9;
	position: absolute;
	left: 0;
	top: 0;
	transition: .3s;
	z-index: -1;
}
@media (any-hover: hover) {
	.p-results__list .-item:hover::before {
		border: 2px solid var(--color-main01);
	}
}
/* DATA */
.c-property__data .-cate {
	display: inline-block;
	margin-bottom: 10px;
	padding: 7px 14px;
	color: #fff;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.c-property__data .-cate.-land {
	background: #D28D32;
}
.c-property__data .-cate.-resort {
	background: #236DAE;
}
.c-property__data .-ttl {
	margin-bottom: var(--m20);
	font-size: var(--font24);
}
.c-property__data h1.-ttl {
	font-size: var(--font32);
}
.c-property__data .-price {
	margin-bottom: var(--m15);
	font-size: var(--font24);
	font-weight: 500;
	line-height: 1.5;
}
/*=============================================*/
/* 仲介情報 - 詳細 */
/*=============================================*/
.p-property__header {
	width: 93.75%;
	margin-bottom: var(--m100);
	padding-bottom: clamp(80px, 8.61vw, 112px);
	position: relative;
}
@media (min-width: 1440px) {
	.p-property__header {
		width: 100%;
	}
}
.p-property__header::before {
	content: "";
	width: 100%;
	height: 100%;
	background: #F5F5F5;
	border-radius: 0 0 clamp(75px, 8.44vw, 152px) 0;
	position: absolute;
	left: 0;
	top: 0;
}
@media (min-width: 1440px) {
	.p-property__header::before {
		width: 93.75%;
	}
}
.p-property__header .c-content {
	display: grid;
	gap: var(--m80);
	margin-top: var(--m100);
}
@media (min-width: 1025px) {
	.p-property__header .c-content {
		grid-template-columns: 48% 1fr;
	}
}
/* Slider
-----------------------------------------------*/
.p-property__gallery {
	min-width: 0; /*SP表示のGridレイアウトの崩れを防ぐ為*/
}
.p-property__gallery .-main {
	margin-bottom: var(--m40);
}
.p-property__gallery .swiper-slide {
	aspect-ratio: 576 / 432;
}
.p-property__gallery .swiper-slide img {
	width: auto;
	height: 100%;
	margin-inline: auto;
}
.p-property__gallery .-thumbs__container {
	width: 100%;
	padding: 0 52px;
	position: relative;
}
.p-property__gallery .-thumbs .swiper-slide {
  cursor: pointer;
}
@media (any-hover: hover) {
  .p-property__gallery .-thumbs .swiper-slide:hover {
    opacity: 0.8;
  }
}
.p-property__gallery .-thumbs .swiper-slide-thumb-active {
}
.p-property__gallery .-prev,
.p-property__gallery .-next {
	width: 36px;
	aspect-ratio: 1 / 1;
	position: absolute;
	bottom: 50%;
	transform: translateY(50%);
	cursor: pointer;
}
.p-property__gallery .-prev {
	left: 0;
}
.p-property__gallery .-next {
	right: 0;
}
/* Property Info
-----------------------------------------------*/
.p-property__info .-contact {
	margin-top: var(--m70);
	padding: var(--m35) clamp(20px, 5.61vw, 73px) var(--m40);
	background: #fff;
	border-radius: 16px;
}
.p-property__info .-contact .-name {
	margin: 5px 0 3px;
	font-size: var(--font20);
	font-weight: 500;
}
.p-property__info .-contact .-tel {
	margin: 10px 0 7px;
	color: #D95846;
}
.p-property__info .-contact .-tel a {
	display: flex;
	align-items: baseline;
	gap: 10px;
	color: #D95846;
	font-size: clamp(30px, 2.84vw, 3.7rem);
	font-weight: 700;
	line-height: 1;
}
.p-property__info .-contact .-tel a img {
	flex-shrink: 0;
	width: clamp(23px, 2.23vw, 29px);
	aspect-ratio: 1 / 1;
}
.p-property__info .-toform {
	margin-top: clamp(15px, 2.07vw, 27px);
}
.p-property__info .-toform .-ttl {
	display: flex;
	align-items: center;
	gap: 6px;
	line-height: 1.5;
}
.p-property__info .-toform .-ttl::before {
	flex-shrink: 0;
	content: "";
	width: 16px;
	height: 10px;
	background: #333;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.p-property__info .-toform .c-btn {
	gap: 8px;
	margin-top: 12px;
	padding: clamp(10px, 1.07vw, 14px) clamp(10px, 2.07vw, 27px) clamp(10px, 1.07vw, 14px) clamp(20px, 2.53vw, 33px);
	font-size: 1.6rem;
}
/* Property Detail
-----------------------------------------------*/
.p-property__sec {
	margin-top: var(--m80);
	margin-bottom: var(--m80);
}
.p-property__sec .c-ttl--square {
	margin-bottom: 15px;
}
.p-property__sec .-map {
	margin-top: var(--m40);
}
.p-property__sec .-map iframe {
	width: 100%;
  height: auto;
  aspect-ratio: 1200 / 544;
}
/* Property List
-----------------------------------------------*/
.p-property__list {
	margin-top: var(--m120);
	padding: var(--m80) 0;
	background: #F5F5F5;
}
.p-property__list .c-ttl--left {
	margin-bottom: var(--m40);
}
.p-property__list .-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 3.07vw, 40px);
}
@media (min-width: 768px) {
	.p-property__list .-list {
		grid-template-columns: repeat(4, 1fr);
	}
}
.p-property__list .-list .-item .-ttl {
	margin-top: var(--m20);
	font-size: var(--font20);
	font-weight: 500;
}
.p-property__list .-list .-item .-data {
	margin-top: 10px;
	font-size: var(--font16);
}
/* Property CTA
-----------------------------------------------*/
.p-property__cta {
	padding: var(--m60) 0;
	background: var(--color-main01);
}
.p-property__cta .c-content {
	padding: var(--m65) 20px var(--m45);
	background: #fff;
	border-radius: 20px;
}
.p-property__cta .-inner {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 6.15vw, 80px);
	width: 100%;
	max-width: 884px;
	margin-inline: auto;
	
}
@media (min-width: 768px) {
	.p-property__cta .-inner {
		flex-direction: row;
	}
}
.p-property__cta p {
	line-height: 1.5;
}
.p-property__cta .-info h2 {
	margin-bottom: 12px;
	font-size: 1.6rem;
	font-weight: 400;
}
.p-property__cta .-info .-name {
	margin-bottom: 7px;
	font-size: var(--font20);
	font-weight: 500;
}
.p-property__cta .-info_tel {
	--gap: clamp(6px, 1vw, 13px);
	--icon: clamp(26px, 2.84vw, 37px);
}
.p-property__cta .-info_tel .-tel {
	display: flex;
	gap: var(--gap);
	color: #D95846;
	font-size: clamp(33px, 3.84vw, 5.0rem);
	font-weight: 700;
	line-height: 1;
}
.p-property__cta .-info_tel .-tel img {
	width: var(--icon);
	aspect-ratio: 1 / 1;
	margin-top: 2px;
} 
.p-property__cta .-info_tel .-open {
	margin-top: var(--m15);
	padding-left: calc(var(--icon) + var(--gap));
	font-weight: 500;
}
.p-property__cta .-info_tel .c-btn {
	gap: 8px;
	margin-top: 12px;
	padding: clamp(10px, 1.07vw, 14px) clamp(10px, 2.07vw, 27px) clamp(10px, 1.07vw, 14px) clamp(20px, 2.53vw, 33px);
	font-size: 1.6rem;
}
/* Property Free Field
-----------------------------------------------*/
.p-property__content h2 {
  margin: 25px 0;
  font-size: var(--font32);
  line-height: 1.5;
}
.p-property__content h3 {
  margin: 25px 0;
  font-size: var(--font28);
  line-height: 1.5;
}
.p-property__content h4 {
  margin: 25px 0;
  font-size: var(--font24);
  line-height: 1.5;
}
.p-property__content h5 {
	margin: 25px 0;
}
.p-property__content h6 {
	margin: 25px 0;
}
.p-property__content p {
  line-height: 2;
}
.p-property__content a {
  color: var(--color-main01);
  text-decoration: underline;
}
.p-property__content p:has(a[href$=".pdf"]) {
	margin: 2em 0;
}
.p-property__content a[href$=".pdf"] {
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
}
.p-property__content a[href$=".pdf"]::before {
  flex-shrink: 0;
  content: "";
  width: 24px;
  aspect-ratio: 24 / 29;
  background: url(/assets/images/common/ico_pdf.jpg) center / contain no-repeat;
}
@media (any-hover: hover) {
  .p-property__content a:hover {
    text-decoration: none;
  }
}
.p-property__content ul {
  margin: var(--m50) 0;
  padding-left: 0;
}
.p-property__content ul li {
  padding-left: 20px;
  text-indent: -20px;
  font-size: var(--font18);
  font-weight: 500;
  line-height: 2;
}
.p-property__content ul li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  background: #333;
  border-radius: 50%;
  position: relative;
  bottom: 2px;
}
.p-property__content ol {
  margin: var(--m50) 0;
  padding-left: 1.2em;
  list-style-type: decimal;
  font-size: var(--font18);
  line-height: 2;
}
.p-property__content img {
	display: block;
	width: auto;
	max-width: 100%;
	margin: 10px 0;
}
.p-property__content a:hover img {
	opacity: 0.8;
}
.p-property__content iframe {
	max-width: 100%;
	aspect-ratio: 16 / 9;
  height: 100%;
}
.p-property__content center > br {
	display: none;
}
.p-property__content table {
	width: 100%;
	margin: 10px 0;
  border-collapse: collapse;
  border-top: 1px solid #C9C9C9;
}
.p-property__content thead {
  border-bottom: 0;
}
.p-property__content table tr {
  border-bottom: 1px solid #C9C9C9;
}
.p-property__content table th,
.p-property__content table td {
  padding: 17px 20px;
  border: 0;
  vertical-align: middle;
  line-height: 1.75;
}
.p-property__content table th {
  background: #F5F5F5;
  font-weight: 400;
}
.p-property__content table th + th {
  border-left: 1px solid #C9C9C9;
}
.p-property__content table th + td,
.p-property__content table td + td {
  border-left: 1px solid #C9C9C9;
}
/*=============================================*/
/* Page */
/*=============================================*/
.c-page__title {
	padding: var(--m70) 0 var(--m40);
}
.c-page__title h1 {
	font-size: var(--font50);
	font-weight: 500;
}
.c-page {
	padding: var(--m80) 0 var(--m120);
	background: #F9F7F5;
}
.c-page__container {
	margin-top: var(--m80);
	padding: var(--m60) 0 var(--m80);
  background: #fff;
  border-radius: clamp(12px, 1.69vw, 22px);
}
/*=============================================*/
/* Privacy Policy */
/*=============================================*/
.p-privacy .c-page__container {
	width: min(var(--width), 1600px);
	margin-inline: auto;
	padding-top: var(--m100);
}
.p-privacy h2 {
	margin-bottom: var(--m70);
	font-size: var(--font32);
	font-weight: 500;
}
.p-privacy__sec {
	margin-top: var(--m60);
}
.p-privacy__sec .-ttl {
	margin-bottom: var(--m30);
	padding-bottom: 15px;
	border-bottom: 1px solid #C9C9C9;
	font-size: var(--font22);
	font-weight: 500;
	position: relative;
}
.p-privacy__sec .-ttl::after {
	content: "";
	width: clamp(100px, 15.38vw, 200px);
	height: 1px;
	background: var(--color-main01);
	position: absolute;
	left: 0;
	bottom: -1px;
}
.p-privacy__sec ol {
	margin-top: var(--m15);
}
.p-privacy .-sign {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--m20);
	margin-top: var(--m60);
}
.p-privacy .-sign .-name {
	font-family: "Noto Serif JP", serif;
	font-size: var(--font24);
	font-weight: 700;
}
/*=============================================*/
/* Site Map */
/*=============================================*/
.p-sitemap .c-page__container {
	width: min(var(--width), 1600px);
	margin-inline: auto;
	padding: clamp(32px, 5.53vw, 72px) 0 var(--m80);
	margin-top: 0;
}
.p-sitemap__list {
	display: grid;
	gap: 7px var(--m40);
	
}
@media (min-width: 640px) {
	.p-sitemap__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1025px) {
	.p-sitemap__list {
		grid-template-columns: repeat(4, 1fr);
	}
}
.p-sitemap__list li {
	display: contents;
}
.p-sitemap a {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 8px 0;
	font-size: var(--font24);
	font-weight: 500;
	border-bottom: 1px solid #C9C9C9;
	line-height: 1.45;
	position: relative;
}
.p-sitemap__list.-child {
	margin-top: var(--m20);
}
.p-sitemap__list.-child a {
	padding: 10px 0;
	font-size: var(--font20);
	font-weight: 400;
}
.p-sitemap__list a::after {
	content: "\e900";
	color: #D95846;
	font-family: 'icomoon' !important;
	font-size: 6px;
	transform: translateY(-50%);
	position: relative;
	bottom: clamp(3px, 0.61vw, 8px);
}
.p-sitemap__list.-child a::after {
	bottom: clamp(2px, 0.38vw, 5px);
}
@media (any-hover: hover) {
	.p-sitemap__list li a:hover {
		color: #CF1225;
		border-color: #CF1225;
	}
	.p-sitemap__list li a:hover::after {
		border-color: #CF1225;
	}
}
.p-sitemap__sec {
	padding-top: var(--m60);
	margin-top: var(--m60);
	border-top: 1px dashed #C9C9C9;
}
.c-content > .p-sitemap__list:last-of-type {
	padding-top: var(--m60);
	margin-top: var(--m60);
	border-top: 1px dashed #C9C9C9;
}
/*=============================================*/
/* Contact */
/*=============================================*/
.p-contact .-intro {
	max-width: 927px;
}
/* フォームエリア
-----------------------------------------------*/
.c-form {
	width: min(var(--width), 1000px);
	margin-inline: auto;
}
.c-form__item {
  display: grid;
  align-items: center;
  border-top: 1px solid #C9C9C9;
}
@media (min-width: 1025px) {
  .c-form__item {
    grid-template-columns: 34% 1fr;
  }
}
.c-form__item:nth-last-of-type(2) {
	border-bottom: 1px solid #C9C9C9;
}
.c-form__label,
.c-form__input {
  padding: var(--m25) 0;
  font-size: var(--font18);
  line-height: 1.66;
}
@media (max-width: 1024px) {
  .c-form__label {
    padding-bottom: 0;
  }
}
@media (min-width: 1025px) {
  .c-form__label.-alignS {
    align-self: start;
  }
}
.c-form__label label {
  display: flex;
  align-items: baseline;
  gap: var(--m20);
  font-weight: 500;
}
.c-form__mark {
  flex-shrink: 0;
  width: 50px;
  padding: 5px;
  border-radius: 3px;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.15vw, 15px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.c-form__mark.is-required {
  background: #FE0000;
}
.c-form__mark.is-any {
  background: #A2A2A2;
}
.c-form__input {
  font-weight: 500;
}
.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form input[type="date"],
.c-form__select select,
.c-form textarea {
  width: 100%;
  height: clamp(40px, 4.16vw, 50px);
  padding: 5px clamp(10px, 1.53vw, 20px);
  border: 1px solid #B4B4B4;
  border-radius: 5px;
  font-family: inherit;
  font-size: var(--font18);
}
.c-form textarea {
  height: 150px;
  line-height: 1.5;
}
/* Select Box */
.c-form__select {
  max-width: 338px;
  position: relative;
}
.c-form__select select {
  background: #fff;
  font-weight: 500;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
/* Radio Botton */
.c-form__radio {
  display: flex;
  gap: var(--m40);
}
.c-form__radio li label {
  display: flex;
  align-items: center;
  gap: 10px;
}
input[type="radio"] {
	flex-shrink: 0;
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0;
  border: 1px solid #707070;
  border-radius: 50%;
  position: relative;
}
input[type="radio"]::before {
	content: "";
	width: 10px;
	aspect-ratio: 1 / 1;
	margin: auto;
  background-color: #886508;
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
}
input[type="radio"]:checked {
	border-color: #886508;
}
input[type="radio"]:checked::before {
  opacity: 1;
}
/* Check Box */
.c-form__checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
}
.c-form__checkbox input {
	flex-shrink: 0;
}
/* Zip */
.c-form__input.-zip {
	display: flex;
	align-items: center;
	gap: 10px;
}
.c-form__input.-zip input {
	max-width: 250px;
}
.c-form__input .-link {
	margin-top: 5px;
	font-size: var(--font16);
	font-weight: 400;
}
/* placeholder */
::placeholder {
  color: rgba(51, 51, 51, 0.2);
  font-weight: 500;
}
:-ms-input-placeholder {
  font-weight: 500;
}
/* ERROR */
.c-form .-error {
  margin-bottom: 5px;
  color: #FE0000;
}
.c-form .-error p {
  margin: 0;
  line-height: 1.5;
}
.c-form .-error.alignC {
  margin-bottom: 20px;
  padding: 5px 10px;
  background: #FFEEEE;
}
/* Confirm */
.c-form__input .-textarea {
	max-width: 572px;
}
/* BUTTON */
.c-form__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 2.3vw, 30px);
  margin-top: var(--m60);
  text-align: center;
}
@media (min-width: 640px) {
	.c-form__submit {
		flex-direction: row;
	}
}
.c-form__submit .-btn {
	display: flex;
	justify-content: center;
	align-items: center;
  width: 70%;
  max-width: 420px;
  height: clamp(50px, 7.38vw, 96px);
  background: var(--color-main01);
  border: 1px solid var(--color-main01);
  border-radius: var(--m20);
  color: #fff;
  font-family: var(--fontZen);
  font-size: var(--font18);
  font-weight: 700;
  transition: .3s;
  cursor: pointer;
}
.c-form__submit .-btn.-back {
  background: #fff;
  color: var(--color-main01);
}
@media (any-hover: hover) {
  .c-form__submit .-btn:hover {
    background: #fff !important; /* システムで上書きされるため */
    color: var(--color-main01) !important;
  }
  .c-form__submit .-btn.-back:hover {
    background: var(--color-main01) !important;
    color: #fff !important;
  }
}
/*=============================================*/
/* Thanks Page */
/*=============================================*/
.p-thanks {
	padding-bottom: var(--m120);
	border-bottom: 1px solid #C9C9C9;
}
.p-thanks__container {
	padding-top: 15px;
}
.p-thanks p + p {
	margin-top: 1.8125em;
}
.p-thanks .c-form__submit {
	margin-top: var(--m120);
}
/*=============================================*/
/* Top Page */
/*=============================================*/
.p-top {
	padding-top: max(170.66vw, 640px);
	background: #F6CE81;
	background: linear-gradient(#F6CE81 50%, #fff 50%);
}
@media (min-width: 640px) {
	.p-top {
		padding-top: 47.89vw;
	}
}
/* Top - Title 
-----------------------------------------------*/
.p-top__h2 {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.07vw, 14px);
	font-size: var(--font24);
	font-weight: 500;
}
.p-top__h2::before {
	flex-shrink: 0;
	content: "";
	width: 24px;
	aspect-ratio: 24 / 14;
	background: url("/assets/images/common/title_icon.svg") center / contain no-repeat;
}
.p-top__h3 {
	margin-top: var(--m40);
	font-family: var(--fontZen);
	font-size: var(--font40);
}
@media (min-width: 640px) {
	.p-top__h3 {
		line-height: 1.325;
	}
}
/* Hero 
-----------------------------------------------*/
.p-top__hero {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
}
.fv-copy {
	display: flex;
	align-items: flex-start;
  flex-direction: row-reverse;
  gap: clamp(4px, 0.4199vw, 8px);
  font-family: var(--fontZen);
  font-size: clamp(22px, 2.6vw, 50px);
  position: absolute;
  right: max(9vw, 34px);
  top: clamp(70px, 7.44vw, 143px);
  z-index: 1;
}
@media (min-width: 640px) {
	.fv-copy {
		right: min(23.95vw, 460px);
	}
} 
.fv-copy .word {
	padding: clamp(10px, 1.04vw, 20px) clamp(3px, 0.31vw, 6px);
	background: #fff;
	writing-mode: vertical-rl;
  text-orientation: upright;
  transform: translate(40px, -80px);
  opacity: 0;
}
.fv-copy .char {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.balloon {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  animation-name: float;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-20px);
  }
}

/* 各要素でリズムを変える */
.is-1 {
  animation-duration: 3s;
  animation-delay: 0s;
}
.is-2 {
  animation-duration: 2s;
  animation-delay: -1s;
}
.is-3 {
  animation-duration: 3.5s;
  animation-delay: -2.5s;
}
.is-4 {
  animation-duration: 2.5s;
  animation-delay: -1s;
}
.is-5 {
  animation-duration: 4s;
  animation-delay: -2s;
}
.is-6 {
  animation-duration: 2s;
  animation-delay: -2.5s;
}
/* Top - Container 
-----------------------------------------------*/
.p-top__continer {
	background-image: url("/assets/images/top/top_bg01_sp.svg"),linear-gradient(transparent 10%, #fff 10%);
	background-position: center top;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
}
@media (min-width: 600px) {
	.p-top__continer {
		background-image: url("/assets/images/top/top_bg01.svg"),linear-gradient(transparent 10%, #fff 10%);
	}
}
/* Top - Anime
-----------------------------------------------*/
/* 共通設定：最初は透明 */
.js-scroll-animation {
  opacity: 0;
  transition: opacity 1.0s, transform 1.0s; /* 1秒かけて変化 */
}

/* 上から下に出てくる設定 */
.fade-in-down {
  transform: translateY(-100px); /* 上に50pxずらしておく */
}

/* 下から上に出てくる設定 */
.fade-in-up {
  transform: translateY(100px); /* 下に50pxずらしておく */
}

/* JSでクラスが付与された時の状態（共通） */
.js-scroll-animation.is-show {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻る */
}

/* 共通の土台 */
.js-bounce-item {
    opacity: 0;
    transform: scale(0);
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
}

@keyframes bounce {
  0% { transform: scale(0); opacity: 0; }
  50% { transform: scale(1.1); opacity: 1; }
  70% { transform: scale(0.9); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.js-bounce-item.is-show {
    opacity: 1;
    animation: bounce 1s ease forwards;
}

/* 初期状態：透明で下に30pxずらしておく */
.js-scroll-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 表示された時 */
.js-scroll-item.is-show {
    opacity: 1;
    transform: translateY(0);
}
/* Top - Intro 
-----------------------------------------------*/
.p-top__intro {
	padding-top: clamp(70px, 5.87vw, 112px);
	padding-bottom: 54px;
	background: linear-gradient(transparent 20%, #fff 20%);
}
.p-top__intro .c-content {
	display: grid;
	gap: 40px;
	width: 82.133333%;
	max-width: 1028px;
	background: #fff;
}
@media (min-width: 600px) {
	.p-top__intro .c-content {
		display: flex;
		align-items: center;
		gap: 0;
	}
}
.p-top__intro .c-content .-cont {
	width: 94.155844%;
	margin-inline: auto;
}
@media (min-width: 600px) {
	.p-top__intro .c-content .-cont {
		flex-shrink: 0;
		width: min(61.284046%, 630px);
		margin-right: -9.435797%;
		margin-inline: initial;
	}
}
.p-top__intro .-cont .-ttl {
	font-family: var(--fontZen);
	font-size: clamp(28px, 4.61vw, 6.1rem);
}
.p-top__intro .-cont .-ttl b {
	text-decoration: underline;
  text-decoration-thickness: clamp(14px, 2.07vw, 27px);
  text-decoration-color: #FCF97B;
  text-underline-offset: calc(-1 * clamp(4px, 0.61vw, 8px));
}
.p-top__intro .-cont p {
	margin-top: var(--m35);
	font-size: var(--font16);
	font-weight: 700;
	line-height: 1.7;
}
@media (min-width: 600px) {
	.p-top__intro .-cont p {
		line-height: 2.5;
	}
}
.p-top__intro .-img {
	display: block;
	position: relative;
}
@media (min-width: 600px) {
	.p-top__intro .-img {
		width: min(44.649805%, 459px);
	}
}
.p-top__intro .-img picture:not(:first-child) {
	position: absolute;
	left: 0;
	top: 0;
}
/* Top - Business 
-----------------------------------------------*/
.p-top__business {
	display: grid;
	align-items: start;
	padding-top: max(20vw, 75px);
	background-image: url("/assets/images/top/top_bg02_sp.svg"), linear-gradient(transparent 10%, var(--color-main02) 10%);
	background-position: center top;
	background-size: 100%;
	background-repeat: no-repeat;
}
@media (min-width: 640px) {
	.p-top__business {
		grid-template-columns: 50% 1fr;
		padding-top: 0;
		background-image: url("/assets/images/top/top_bg02.svg"), linear-gradient(transparent 10%, var(--color-main02) 10%);
	}
}
@media (min-width: 1025px) {
	.p-top__business {
		grid-template-columns: 31.875% 1fr;
	}
}
.p-top__business .-cont {
	background: #fff;
	border-radius: 0 0 var(--m120);
}
.p-top__business .-cont .c-content {
	max-width: 406px;
	padding-top: clamp(57px, 13.84vw, 180px);
	padding-bottom: clamp(162px, 13.66vw, 218px);
	position: relative;
}
.p-top__business .-cont .c-content .-beforeImg {
	width: clamp(96px, 13.15vw, 171px);
	position: absolute;
	right: -3px;
	top: -6.66vw;
}
@media (min-width: 640px) {
	.p-top__business .-cont .c-content .-beforeImg {
		right: 15px;
		top: 0;
	}
}
.p-top__business .-cont .c-content .-afterImg {
	width: clamp(245px, 24vw, 364px);
	position: absolute;
	bottom: calc(-1 * clamp(42px, 7.69vw, 100px));
	right: 52px;
}
@media (min-width: 640px) {
	.p-top__business .-cont .c-content .-afterImg {
		right: 42px;
	}
}
.p-top__business .-cont .c-content h3 {
	margin-top: clamp(15px, 4.07vw, 53px);
}
.p-top__business .-cont .c-content p {
	max-width: 368px;
	margin-top: clamp(26px, 3.84vw, 50px);
}
.p-top__business .-nav__wrapper {
	padding: clamp(75px, 9.44vw, 180px) 0 clamp(30px, 3.46vw, 45px);
}
.p-top__business .c-business__nav {
	max-width: 1078px;
	margin-inline: auto;
}
@media (min-width: 640px) and (max-width: 1024px) {
	.p-top__business .c-business__nav {
		grid-template-columns: 1fr;
	}
	.p-top__business .c-business__nav a {
		grid-template-columns: 49.122807% 1fr;
		text-align: left;
	}
	.p-top__business .c-business__nav a p:after {
		right: 0;
	}
	.p-top__business .c-business__nav a.-row {
		display: flex;
		justify-content: center;
		padding: 23px;
	}
	.p-top__business .c-business__nav a.-row .-img {
		display: none;
	}
	.p-top__business .c-business__nav a.-row p {
		display: block;
		position: initial;
	}
	.p-top__business .c-business__nav a.-row p::after {
		position: absolute;
		right: 20px;
	}
}
@media (min-width: 1025px) {
	.p-top__business .c-business__nav {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-top__business .c-business__nav a .-num {
	width: clamp(40px, 3.67vw, 70px);
	font-size: clamp(14px, 1.04vw, 2.0rem);
}
.p-top__business .c-business__nav a p {
	font-size: var(--font20);
}
/* Top - hr 
-----------------------------------------------*/
.p-top__hr {
	padding-top: 159px;
	background: url("/assets/images/top/top_bg_img_sp.jpg") center / cover no-repeat;
	position: relative;
}
@media (min-width: 640px) {
	.p-top__hr {
		background-image: url("/assets/images/top/top_bg_img.jpg");
		background-size: 100%;
	}
}
@media (min-width: 1025px) {
	.p-top__hr {
		padding-top: 27.1875%;
		background-attachment: fixed;
	}
	.p-top__hr::before {
		content: "";
		width: 100%;
		height: 100%;
		background: url(/assets/images/top/top_bg_frame.svg) center top / 100% no-repeat;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
}
/* Top - News 
-----------------------------------------------*/
.p-top__news {
	padding-top: var(--m100);
}
.p-top__news .c-content {
	display: grid;
	max-width: 1700px;
}
@media (min-width: 640px) {
	.p-top__news .c-content {
		gap: 30px;
		grid-template-columns: clamp(200px, 22.352941%, 380px) 63.529411%;
		justify-content: space-between;
	}
	.p-top__news .-cont {
		justify-self: end;
	}
}
.p-top__news .c-btn {
	margin-top: var(--m60);
}
@media (max-width: 639px) {
	.p-top__news {
		padding-bottom: 50px;
	}
	.p-top__news .-cont {
		display: contents;
	}
	.p-top__news .c-news__list {
		margin-top: 30px;
	}
	.p-top__news .c-btn {
		order: 4;
		width: fit-content;
		margin-top: 40px;
	}
}
/* Top - Company 
-----------------------------------------------*/
.p-top__company {
	--padding: clamp(60px, 7.76vw, 132px);
	padding-top: var(--padding);
	padding-bottom: clamp(110px, 9.16vw, 176px);
	background-image: url(/assets/images/top/top_bg03_sp.svg), linear-gradient(transparent 50%, var(--color-main02) 50%);
	background-position: center top;
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
}
@media (min-width: 640px) {
	.p-top__company {
		background-image: url(/assets/images/top/top_bg03.svg), linear-gradient(transparent 50%, var(--color-main02) 50%);
	}
}
.p-top__company .c-content {
	display: grid;
	max-width: 1780px;
}
@media (min-width: 768px) {
	.p-top__company .c-content {
		grid-template-columns: 1fr 55%;
		gap: 38px;
	}
}
@media (min-width: 1025px) {
	.p-top__company .c-content {
		grid-template-columns: 1fr 66.292134%;
	}
}
.p-top__company .-cont {
	display: contents;
	position: relative;
}
@media (min-width: 768px) {
	.p-top__company .-cont {
		display: block;
		justify-self: end;
		align-self: start;
		max-width: 520px;
	}
}
@media (min-width: 1280px) {
	.p-top__company .-cont {
		padding-bottom: var(--m60);
	}
}
.p-top__company .-cont .-afterImg {
	display: none;
	width: clamp(120px, 10vw, 170px);
	position: absolute;
	right: 0;
	bottom: 0;
}
@media (min-width: 1280px) {
	.p-top__company .-cont .-afterImg {
		display: block;
	}
}
.p-top__company .-cont .-txt {
	margin-top: var(--m40);
}
@media (min-width: 768px) {
	.p-top__company .-cont .-txt {
		max-width: 400px;
	}
}
.p-top__company .c-btn {
	margin-top: var(--m60);
}
.p-top__company .-img {
	position: relative;
}
.p-top__company .-img img:not(.img-last) {
	position: absolute;
	left: 0;
	top: 0;
}
@media (min-width: 1280px) {
	.p-top__company .-img .img-first {
		display: none;
	}
}
@media (max-width: 767px) {
	.p-top__company {
		width: 100vw;
		overflow: hidden;
	}
	.p-top__company .-img {
		margin: 6px calc(50% - 50vw) 0 0;
		overflow: hidden;
	}
	.p-top__company .-img img.img04 {
		left: initial;
		right: -17px;
	}
	.p-top__company .c-btn {
		order: 5;
		width: fit-content;
	}
}
/* スクロールテキスト */
.ticker-container {
	width: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  left: 0;
  bottom: 20px;
}
@media (min-width: 1025px) {
	.ticker-container {
		bottom: 0;
	}
}
.ticker-text {
  display: flex;
  width: max-content;
  animation: scroll-left 60s linear infinite;
}
.ticker-text span {
	flex-shrink: 0;
  color: #fff;
  font-family: var(--fontAlbert);
  font-size: clamp(50px, 6.25vw, 120px);
  font-weight: 600;
  line-height: .708;
  vertical-align: text-bottom;
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
/* Top - Real Estate 
-----------------------------------------------*/
.p-top__real-estate {
	padding: clamp(30px, 7.69vw, 100px) 0;
	background: #89D577;
}
.p-top__real-estate .c-content {
	max-width: 1700px;
	padding: clamp(58px, 4.77vw, 86px) 0 clamp(40px, 5.83vw, 105px);
	background: #fff;
	border-radius: clamp(20px, 2.61vw, 34px);
}
.p-top__real-estate .c-content .-inner {
	display: grid;
	width: 78.80597%;
	max-width: 1460px;
	margin-inline: auto;
}
@media (min-width: 640px) {
	.p-top__real-estate .c-content .-inner {
		grid-template-columns: 1fr 51.027397%;
		gap: 30px;
		width: 92%;
	}
}
.p-top__real-estate .-cont {
	display: contents;
	max-width: 608px;
}
@media (min-width: 640px) {
	.p-top__real-estate .-cont {
		display: block;
		position: relative;
	}
}
.p-top__real-estate .-afterImg {
	width: 115px;
	position: absolute;
	top: -25px;
	right: 35px;
}
@media (min-width: 640px) {
	.p-top__real-estate .-afterImg {
		width: clamp(100px, 13vw, 236px);
		top: initial;
		bottom: -24px;
		right: -20px;
	}
}
@media (min-width: 768px) {
	.p-top__real-estate .-afterImg {
		right: 0;
	}
}
.p-top__real-estate .-img {
	max-width: 733px;
	margin-top: 34px;
}
@media (min-width: 640px) {
	.p-top__real-estate .-img {
		margin-top: 0;
	}
}
.p-top__real-estate .-img img {
	border-radius: clamp(15px, 1.69vw, 22px);
}
.p-top__real-estate .c-btn {
	margin-top: clamp(30px, 5.15vw, 67px);
}
@media (max-width: 639px) {
	.p-top__real-estate .c-btn {
		order: 5;
		width: fit-content;
	}
}
/* Top - Recruit 
-----------------------------------------------*/
.p-top__recruit {
	padding-top: var(--m110);
	padding-bottom: var(--m100);
}
.p-top__recruit .c-content {
	display: grid;
	gap: var(--m60);
	max-width: 1700px;
}
@media (min-width: 640px) {
	.p-top__recruit .c-content {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-top__recruit .c-content .-item {
	display: grid;
	padding: clamp(40px, 5.61vw, 73px) 36px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: clamp(20px, 2.61vw, 34px);
	position: relative;
	overflow: hidden;
}
.p-top__recruit .c-content .-item.-job {
	background-image: url(/assets/images/top/top_job_img_sp.jpg);
}
.p-top__recruit .c-content .-item.-recruit {
	background-image: url(/assets/images/top/top_recruit_img_sp.jpg);
}
@media (min-width: 640px) {
	.p-top__recruit .c-content .-item.-job {
		background-image: url(/assets/images/top/top_job_img.jpg);
	}
	.p-top__recruit .c-content .-item.-recruit {
		background-image: url(/assets/images/top/top_recruit_img.jpg);
	}
}
.p-top__recruit .c-content .-item::before {
	content: "";
	width: 100%;
	height: 100%;
	opacity: 0.89;
	position: absolute;
	left: 0;
	top: 0;
	transition: all .3s;
}
.p-top__recruit .c-content .-item.-job::before {
	background-color: #1ABEBE;
}
.p-top__recruit .c-content .-item.-recruit::before {
	background-color: #27AFEB;
}
.p-top__recruit .c-content .-item .-cont {
	width: 100%;
	max-width: 660px;
	margin-inline: auto;
	position: relative;
}
.p-top__recruit .c-content .-item .-cont > * {
	color: #fff;
}
.p-top__recruit .c-content .-item h3 {
	margin-top: var(--m30);
}
.p-top__recruit .c-content .-item .-txt {
	max-width: 500px;
	margin-top: var(--m30);
	margin-bottom: var(--m70);
}
.p-top__recruit .c-content .-item .c-btn {
	width: fit-content;
	margin-top: auto;
	position: relative;
}
@media (min-width: 640px) {
	.p-top__recruit .c-content .-item .c-btn {
		margin-left: auto;
	}
}
@media (any-hover: hover) {
	.p-top__recruit .c-content .-item:hover .-cont > * {
		color: #333;
	}
	.p-top__recruit .c-content .-item.-job:hover::before {
		background-color: #ECFAFA;
	}
	.p-top__recruit .c-content .-item.-recruit:hover::before {
		background-color: #EEF7FC;
	}
	.p-top__recruit .c-content .-item:hover .c-btn {
		background: #fff;
		border-color: var(--color-main01);
		color: var(--color-main01);
	}
	.p-top__recruit .c-content .-item:hover .c-btn::after {
		background: var(--color-main01);
		color: #fff;
	}
}