@charset "utf-8";
/*1.共通設定
======================================*/
* {
	font-weight: 400;
	font-style: normal;
	font-family: "Times New Roman", 'Noto Serif JP', "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	margin: 0;
	padding: 0;
	line-height: 1.75;
	letter-spacing: 0.1em;
	color: #333;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	/*font-feature-settings: 'palt';*/
}
html {
	font-size: 62.5%;
}
body {
	font-size: 14px;
	font-size: 1.4rem;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-display: swap;
	overflow-x: hidden;
}
@media screen and (min-width: 600px) {
	body {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 374px) {
	html {
		font-size: 2.667vw;
	}
}
img {
	border: 0;
	vertical-align: bottom;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
@media screen and (max-width: 1200px) {
	img {
		max-width: 100%;
		height: auto;
	}
	a:hover > img {
		opacity: 1;
	}
}
.img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/*----アライン----*/
.cen {
	text-align: center !important;
}
/*----クリア----*/
.clear {
	clear: both;
}
/*--clearfix--*/
.cf, main, .entry {
	*zoom: 1;
}
.cf:before, .cf:after, main:before, main:after, .entry:before, .entry:after {
	content: " ";
	display: table;
}
.cf:after, main:after, .entry:after {
	clear: both;
}


/* -------------------------------------------------
script
----------------------------------------------------*/
.is-ojf {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}


/* -------------------------------------------------
compornent
----------------------------------------------------*/
.c-btn-more {
	width: 134px;
	margin: auto;
}
.c-btn-more a {
	display: block;
	width: 100%;
	padding: 13px 0;
	font-family: 'Roboto', sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.0;
	color: #fff;
	background: #2b2b2b;
	border-radius: 5px;
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 1024px) {
	.c-btn-more a:hover {
		color: #2b2b2b;
		background: #fff;
	}	
}
@media screen and (max-width: 599px) {
	.c-btn-more {
		width: 110px;
	}
	.c-btn-more a {
		font-size: 1.2rem;
		padding: 10px 0;
	}
}

.c-btn-works {
	margin-top: 10px;
	padding-right: 50px;
	text-align: right;
}
@media screen and (max-width: 1023px) {
	.c-btn-works {
		padding-right: 40px;
	}	
}
@media screen and (max-width: 599px) {
	.c-btn-works {
		padding-right: 5%;
	}	
}
.c-btn-works a {
	position: relative;
	padding: 0 30px 5px 0;
	color: #fff;
}
.c-btn-works a:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: all .3s ease-in-out;
}
.c-btn-works a:after {
	content: '';
	position: absolute;
	right: 9px;
	bottom: -7px;
	width: 1px;
	height: 30px;
	background: #fff;
	transform: rotate(-40deg);
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 1024px) {
	.c-btn-works a:hover:before {
		width: calc(100% + 10px);
	}
	.c-btn-works a:hover:after {
		right: -1px;
	}	
}


/* -------------------------------------------------
project
----------------------------------------------------*/
#p-container {
	margin-bottom: 120px;
}
@media screen and (max-width: 599px) {
	#p-container {
		margin-bottom: 100px;
	}	
}
.p-continner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
@media screen and (max-width: 1299px) {
	.p-continner {
		width: calc(100% - 100px);
	}	
}
@media screen and (max-width: 1023px) {
	.p-continner {
		width: calc(100% - 80px);
	}	
}
@media screen and (max-width: 599px) {
	.p-continner {
		width: 90%;
	}	
}


/* -------------------------------------------------
layout
----------------------------------------------------*/
#l-wrapper {
	overflow: hidden;
}

/* header */
/* -------------------------------------------------- */
#l-header {
	align-items: center;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	padding: 12px 20px 0;
}
.l-h-logoara__head {
	margin-bottom: 10px;
	font-size: 1.2rem;
	line-height: 1.0;
	letter-spacing: 0;
	color: #fff;
}
@media screen and (max-width: 599px) {
	.l-h-logoara__head {
		display: none;
	}	
}
.l-h__logo {
	width: 300px;
}
@media screen and (max-width: 599px) {
	.l-h__logo {
		width: 180px;
	}	
}
@media screen and (max-width: 374px) {
	.l-h__logo {
		width: 150px;
	}	
}
.l-h__logo img {
	width: 100%;
}
.l-h__grouplogo {
	width: 163px;
}
@media screen and (max-width: 599px) {
	.l-h__grouplogo {
		width: 114px;
	}	
}
@media screen and (max-width: 374px) {
	.l-h__grouplogo {
		width: 104px;
	}	
}
.l-h__grouplogo img {
	width: 100%;
}


/* footer */
/* -------------------------------------------------- */
#l-footer {
	padding: 50px 0;
	background: #000;
}
@media screen and (max-width: 767px) {
	#l-footer {
		padding: 60px 0 15px;
	}	
}
.l-footer__cont {
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 1020px;
	margin: auto;
}
@media screen and (max-width: 767px) {
	.l-footer__cont {
		width: calc(100% - 80px);
		margin: auto;
	}	
}
@media screen and (max-width: 599px) {
	.l-footer__cont {
		width: 90%;
	}	
}
.l-footer__logoarea, .l-footer__overview {
	width: 50%;
}
@media screen and (max-width: 767px) {
	.l-footer__logoarea, .l-footer__overview {
		width: 100%;
	}	
}
.l-footer__logoarea {
	padding: 0 30px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.l-footer__logoarea {
		padding: 0 0 30px;
	}	
}
.l-footer__logo {
  width: 389px;
	margin-bottom: 30px;
}
@media screen and (max-width: 899px) {
  .l-footer__logo {
    width: 100%;
  }  
}
@media screen and (max-width: 767px) {
	.l-footer__logo {
		width: 311px;
		margin: auto;
	}	
}
@media screen and (max-width: 599px) {
	.l-footer__logo {
		width: 248px;
		margin: auto;
	}	
}
.l-footer__logo a {
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 1024px) {
	.l-footer__logo a:hover {
		opacity: 0.7;
	}	
}
.l-footer__copy {
	display: block;
	font-size: 1.0rem;
	line-height: 1.0;
	color: #fff;
}
#l-footer > .l-footer__copy {
	margin-top: 50px;
	text-align: center;
}
@media screen and (min-width: 768px) {
	#l-footer > .l-footer__copy {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.l-footer__logoarea .l-footer__copy {
		display: none;
	}
}
.l-footer__overview {
	padding: 20px 0 20px 30px;
	border-left: 1px solid #fff;
}
@media screen and (max-width: 767px) {
	.l-footer__overview {
		padding: 40px 0 0;
		border-top: 1px solid #fff;
		border-left: none;
	}	
}
.l-footer-ov__head {
	margin-bottom: 20px;
	font-size: 2.0rem;
	line-height: 1.0;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.l-footer-ov__head {
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.l-footer-ov__table {
		width: 100%;
		max-width: 370px;
		margin: auto;
	}
}
.l-footer-ov__row {
	margin-bottom: 5px;
}
.l-footer-ov__row:nth-last-of-type(1) {
	margin-bottom: 0;
}
.l-footer-ov__row dt, .l-footer-ov__row dd {
	font-size: 1.2rem;
	color: #fff;
}
.l-footer-ov__row dt {
	width: 66px;
}
.l-footer-ov__row dd {
	width: calc(100% - 66px);
}
.l-footer-ov__row dd br {
	display: block;
}
@media screen and (max-width: 409px) {
	.l-footer-ov__row dd br {
		display: none;
	}	
}



/* index.html */
/* -------------------------------------------------- */

/* main visual */
#p-main {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
@media screen and (max-width: 1023px) {
	#p-main {
		height: 600px;
		margin-bottom: 80px;
	}	
}
@media screen and (max-width: 599px) {
	#p-main {
		height: 500px;
		margin-bottom: 60px;
	}	
}
.p-main__list, .p-main__item {
  height: 100%;
  height: 100vh;
}
@media screen and (max-width: 1023px) {
  .p-main__list, .p-main__item {
    height: 100%;
  }
}
.p-main__cont {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
	text-align: center;
}
.p-main-cont__head-eng, .p-main-cont__head-ja {
	line-height: 1.0;
	letter-spacing: 0.2em;
	color: #fff;
}
.p-main-cont__head-eng {
	margin-bottom: 15px;
	font-size: 1.4rem;
}
.p-main-cont__head-ja {
	margin-bottom: 36px;
	font-size: 4.8rem;
}
@media screen and (max-width: 767px) {
	.p-main-cont__head-ja {
		font-size: 3.2rem;
	}	
}
@media screen and (max-width: 599px) {
	.p-main-cont__head-ja {
		font-size: 2.6rem;
	}	
}

/* concept */
.p-tp-con__figure, .p-tp-con__des {
	width: 50%;
}
@media screen and (max-width: 959px) {
	.p-tp-con__figure, .p-tp-con__des {
		width: 90%;
		margin: auto;
	}
	.p-tp-con__figure {
		height: 300px;
	}
}
@media screen and (max-width: 499px) {
	.p-tp-con__figure {
		height: 60vw;
	}	
}
.p-tp-con__figure {
	background: url("../images/concept_img.jpg") no-repeat center center / cover;
}
.p-tp-con__des {
	align-items: center;
	justify-content: center;
	padding: 91px 80px 90px;
}
@media screen and (max-width: 1023px) {
	.p-tp-con__des {
		padding: 91px 50px 90px;
	}	
}
@media screen and (max-width: 959px) {
	.p-tp-con__des {
		padding: 50px 40px;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-con__des {
		padding: 40px 5%;
	}	
}
.p-tp-con__head {
	margin-bottom: 25px;
	font-size: 2.6rem;
	line-height: 1.7;
}
@media screen and (max-width: 599px) {
	.p-tp-con__head {
		font-size: 2.0rem;
		letter-spacing: 0.08em;
	}	
}
.p-tp-con-head__br01, .p-tp-con-head__br02 {
	display: inline-block;
}
@media screen and (min-width: 960px) and (max-width: 1118px) {
	.p-tp-con-head__br01 {
		display: none;
	}	
}
@media screen and (max-width: 383px) {
	.p-tp-con-head__br01 {
		display: none;
	}	
}
@media screen and (min-width: 960px) and (max-width: 1173px) {
	.p-tp-con-head__br02 {
		display: none;
	}	
}
@media screen and (max-width: 410px) {
	.p-tp-con-head__br02 {
		display: none;
	}	
}

/* worries */
.p-tp-worries {
	padding: 100px 0;
	background: #231916;
}
@media screen and (max-width: 1249px) {
	.p-tp-worries {
		padding: 80px 0 30px;
	}	
}
@media screen and (max-width: 1023px) {
	.p-tp-worries {
		padding: 80px 0 30px;
	}	
}
@media screen and (max-width: 959px) {
	.p-tp-worries {
		margin-bottom: 80px;
	}	
}
.p-tp-worr__head {
	margin-bottom: 50px;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.p-tp-worr__head {
		font-size: 3rem;
		letter-spacing: 0.16em;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-worr__head {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}	
}
.p-tp-worr__item {
	width: 262px;
	margin: 0 50px 0 0;
}
@media screen and (max-width: 1299px) {
	.p-tp-worr__item {
		width: 22%;
		margin: 0 4.0% 0 0;
	}	
}
@media screen and (max-width: 1249px) {
	.p-tp-worr__item {
		width: 253px;
		margin: 0 50px 50px 0;
	}	
	.p-tp-worr__item:nth-of-type(2) {
		margin: 0 0 50px;
	}
}
@media screen and (max-width: 635px) {
	.p-tp-worr__item {
		width: 39.5vw;
		margin: 0 8vw 50px 0;
	}
}
.p-tp-worr__item:nth-last-of-type(1) {
	margin: 0;
}
.p-tp-worr-item__balloon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 262px;
	margin-bottom: 40px;
	background: #ea5414;
	border-radius: 100%;
}
@media screen and (max-width: 1299px) {
	.p-tp-worr-item__balloon {
		height: 20.3vw;
	}
}
@media screen and (max-width: 1249px) {
	.p-tp-worr-item__balloon {
		height: 253px;
	}
}
@media screen and (max-width: 635px) {
	.p-tp-worr-item__balloon {
		height: 39.8vw;
	}
}
.p-tp-worr-item__balloon:after {
	content: '';
	position: absolute;
	bottom: -14px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -10px;
	border-style: solid;
	border-width: 15px 10px 0 10px;
	border-color: #ea5414 transparent transparent transparent;
}
.p-tp-worr-ball__txt {
	font-size: 2.0rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
}
.p-tp-worr-item__head {
	font-size: 2.2rem;
	text-align: center;
	letter-spacing: 0.05em;
	color: #fff;
}
@media screen and (max-width: 639px) {
	.p-tp-worr-ball__txt {
		font-size: 1.8rem;
	}	
	.p-tp-worr-item__head {
		font-size: 2.0rem;
	}	
}
@media screen and (max-width: 589px) {
	.p-tp-worr-item__head {
		letter-spacing: 0;
	}	
}
@media screen and (max-width: 561px) {
	.p-tp-worr-ball__txt {
		font-size: 3.2vw;
	}	
	.p-tp-worr-item__head {
		font-size: 3.56vw;
	}	
}

@media screen and (max-width: 1249px) {
	.p-tp-worries .p-continner {
		max-width: 556px;
	}
}
@media screen and (max-width: 639px) {
	.p-tp-worries .p-continner {
		width: 87%;
	}
}


/* solution */
.p-tp-solution .p-tp-con__figure {
	order: 2;
	background: url("../images/solution_img.jpg") no-repeat center center / cover;
}
.p-tp-solution .p-tp-con__des {
	order: 1;
}
@media screen and (max-width: 959px) {
	.p-tp-solution .p-tp-con__figure {
		order: 1;
		background: url("../images/solution_img.jpg") no-repeat center center / cover;
	}
	.p-tp-solution .p-tp-con__des {
		order: 2;
	}	
}

/* about */
.p-tp-abt__head {
	position: relative;
	padding: 100px 0;
	background: #231916;
}
@media screen and (max-width: 1023px) {
	.p-tp-abt__head {
		padding: 80px 0;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-abt__head {
		padding: 60px 0;
	}	
}
.p-tp-abt-head__main, .p-tp-abt-head__sub {
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
	color: #fff;
}
.p-tp-abt-head__main {
	margin-bottom: 20px;
	font-size: 4.0rem;
}
@media screen and (max-width: 1023px) {
	.p-tp-abt-head__main {
		font-size: 3.2rem;
	}	
}
@media screen and (max-width: 767px) {
	.p-tp-abt-head__main {
		font-size: 2.5rem;
	}	
}	
.p-tp-abt-head__sub {
	font-size: 2.0rem;
}
@media screen and (max-width: 599px) {
	.p-tp-abt-head__sub {
		font-size: 1.6rem;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-abt__cont {
		padding-bottom: 40px;
	}	
}

.p-tp-abt__block {
	width: calc(100% / 3);
	padding: 60px 40px 80px;
	text-align: center;
	transition: all .3s ease-in-out;
}
@media screen and (max-width: 959px) {
	.p-tp-abt__block {
		padding: 40px 20px 60px;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-abt__block {
		width: 100%;
		padding: 40px 5% 20px;
	}	
}
@media screen and (min-width: 1024px) {
	.p-tp-abt__block:hover {
		background: #f15a24;
	}	
}
.p-tp-abt-block__inner {
	width: 100%;
	max-width: 335px;
	margin: auto;
}
.p-tp-abt__circle {
	align-items: center;
	justify-content: center;
	width: 90px;
	height: 90px;
	margin: 0 auto 20px;
	border-radius: 100%;
	background: #231916;
}
@media screen and (max-width: 599px) {
	.p-tp-abt__circle {
		width: 72px;
		height: 72px;
	}	
}
.p-tp-abt__num {
	font-size: 4.2rem;
	line-height: 1.0;
	letter-spacing: 0;
	color: #fff;
}
@media screen and (max-width: 1023px) {
	.p-tp-abt__num {
		font-size: 3.8rem;
	}
}
@media screen and (max-width: 767px) {
	.p-tp-abt__num {
		font-size: 3.2rem;
	}
}
@media screen and (max-width: 599px) {
	.p-tp-abt__num {
		font-size: 2.5rem;
	}
}
.p-tp-abt-block__head, .p-tp-abt-block__txt {
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 1024px) {
	.p-tp-abt__block:hover .p-tp-abt-block__head, .p-tp-abt__block:hover .p-tp-abt-block__txt {
		color: #fff;
	}	
}
.p-tp-abt-block__head {
	margin-bottom: 20px;
	font-size: 2.0rem;
}
@media screen and (max-width: 1023px) {
	.p-tp-abt-block__head {
		font-size: 1.7rem;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-abt-block__head {
		font-size: 1.6rem;
	}	
}
@media screen and (max-width: 1089px) {
	.p-tp-abt-block__head {
		letter-spacing: 0.02em;
	}	
}
.p-tp-abt-block__head br {
	display: inline-block;
}
@media screen and (max-width: 1089px) {
	.p-tp-abt-block__head br {
		display: none;
	}	
}
@media screen and (max-width: 959px) {
	.p-tp-abt-block__head br {
		display: inline-block;
	}	
}
@media screen and (max-width: 828px) {
	.p-tp-abt-block__head br {
		display: none;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-abt-block__head br {
		display: inline-block;
	}	
}
.p-tp-abt-block__txt {
	font-size: 1.5rem;
	text-align: left;
}
@media screen and (max-width: 599px) {
	.p-tp-abt-block__txt {
		font-size: 1.4rem;
	}	
}

/* staff */
.p-tp-staff	{
	background: #231916;
}
.p-tp-stf-head__main {
	margin-bottom: 20px;
	font-size: 5.5rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 1023px) {
	.p-tp-stf-head__main {
		font-size: 4.4rem;
	}	
}
@media screen and (max-width: 767px) {
	.p-tp-stf-head__main {
		font-size: 3.5rem;
	}	
}
.p-tp-staff__cont {
	width: 100%;
}
.p-tp-staff__box {
	position: relative;
	width: calc(100% / 4);
	cursor: pointer;
	overflow: hidden;
}
@media screen and (max-width: 1023px) {
	.p-tp-staff__box {
		width: calc(100% / 3);
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-staff__box {
		width: calc(100% / 2);
	}	
}
.p-tp-staff__cover {
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: -20px;
	left: 0;
	width: 100%;
	height: 0;
	padding: 0 20px;
	background: rgba(0, 0, 0, 0.8);
	border-bottom: 20px solid #ea5514;
	transition: all .5s ease-in-out;
}
@media screen and (max-width: 1023px) {
	.p-tp-staff__cover {
		left: 0;
		padding: 0 12px;
		border-bottom: 5px solid #ea5514;
	}
	.js-active .p-tp-staff__cover {
		bottom: 0;
		height: 100%;
	}
}
@media screen and (min-width: 1024px) {
	.p-tp-staff__box:hover .p-tp-staff__cover {
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}	
}
.p-tp-staff__inner {
	text-align: center;
	opacity: 0;
	transition: all 1.5s ease-in-out;
}
@media screen and (max-width: 1023px) {
	.js-active .p-tp-staff__inner {
		opacity: 1;
	}
}
@media screen and (min-width: 1024px) {
	.p-tp-staff__box:hover .p-tp-staff__inner {
		opacity: 1;
	}	
}
.p-tp-staff__inner * {
	color: #fff;
}
.p-tp-staff__name, .p-tp-staff__name span {
	line-height: 1.0;
}
.p-tp-staff__name {
	margin-bottom: 15px;
	font-size: 3.0rem;
}
@media screen and (max-width: 599px) {
	.p-tp-staff__name {
		margin-bottom: 15px;
		font-size: 2.4rem;
	}	
}
.p-tp-staff__txt {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 959px) {
	.p-tp-staff__txt {
		text-align: left;
	}
	.p-tp-staff__txt br {
		display: none;
	}
}

.p-tp-staff-txt__br01,
.p-tp-staff-txt__br02,
.p-tp-staff-txt__br03,
.p-tp-staff-txt__br04,
.p-tp-staff-txt__br05,
.p-tp-staff-txt__br06,
.p-tp-staff-txt__br07,
.p-tp-staff-txt__br08,
.p-tp-staff-txt__br09,
.p-tp-staff-txt__br10,
.p-tp-staff-txt__br11,
.p-tp-staff-txt__br12 {
	display: inline-block;
}
@media screen and (max-width: 1449px) {
  .p-tp-staff-txt__br10 {
    display: none;
  }
}
@media screen and (max-width: 1375px) {
  .p-tp-staff-txt__br08 {
    display: none;
  }
}
@media screen and (max-width: 1373px) {
  .p-tp-staff-txt__br03 {
    display: none;
  }
}
@media screen and (max-width: 1232px) {
  .p-tp-staff-txt__br09 {
    display: none;
  }
}
@media screen and (max-width: 1228px) {
  .p-tp-staff-txt__br07 {
    display: none;
  }
}
@media screen and (max-width: 1223px) {
  .p-tp-staff-txt__br01 {
    display: none;
  }
}
@media screen and (max-width: 1155px) {
  .p-tp-staff-txt__br04 {
    display: none;
  }
}
@media screen and (max-width: 1154px) {
  .p-tp-staff-txt__br05 {
    display: none;
  }
}
@media screen and (max-width: 1302px) {
  .p-tp-staff-txt__br06 {
    display: none;
  }
}
@media screen and (max-width: 1081px) {
  .p-tp-staff-txt__br02 {
    display: none;
  }
}
@media screen and (max-width: 1041px) {
  .p-tp-staff-txt__br11 {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .p-tp-staff-txt__br01,
  .p-tp-staff-txt__br02,
  .p-tp-staff-txt__br03,
  .p-tp-staff-txt__br04,
  .p-tp-staff-txt__br05,
  .p-tp-staff-txt__br06,
  .p-tp-staff-txt__br07 {
    display: inline-block;
  }
  .p-tp-staff-txt__br12 {
    display: none;
  }
}

@media screen and (max-width: 599px) {
	.p-tp-staff__txt {
		font-size: 1.4rem;
	}
}
.p-tp-staff__txt .p-tp-staff-txt__br {
	display: none;
}
@media screen and (max-width: 1439px) {
	.p-tp-staff__txt .p-tp-staff-txt__br {
		display: inline-block;
	}	
}
.p-tp-staff-comm {
	display: none;
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
	font-size: 1.0rem;
	line-height: 1.0;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 1023px) {
	.p-tp-staff-comm {
		display: block;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-staff-comm {
		bottom: 10px;
	}	
}

/* works */
.p-tp-works {
	padding: 100px 0;
	background: #231916;
}
@media screen and (max-width: 599px) {
	.p-tp-works {
		padding: 80px 0;
		background: #231916;
	}	
}
.p-tp-works__head {
	margin-bottom: 50px;
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 1023px) {
	.p-tp-works__head {
		font-size: 3.2rem;
	}	
}
@media screen and (max-width: 767px) {
	.p-tp-works__head {
		margin-bottom: 30px;
		font-size: 2.5rem;
	}	
}
.p-tp-works__list {
	height: 350px;
	overflow: hidden;
}
.p-tp-works__list .slick-slide {
	margin: 0 5px !important;
}
.p-tp-works__item {
	position: relative;
	height: 350px;
}
.p-tp-works__item img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* group */
.p-tp-group {
	padding: 80px 0 0;
}
.p-tp-group__head {
	margin-bottom: 50px;
	font-size: 4.0rem;
	font-weight: 500;
	line-height: 1.0;
	text-align: center;
}
@media screen and (max-width: 1281px) {
	.p-tp-group__head {
		font-size: 3.1vw;
		letter-spacing: 0.08em;
	}	
}
@media screen and (max-width: 1023px) {
	.p-tp-group__head {
		font-size: 3.17rem;
		line-height: 1.3;
		letter-spacing: 0.04em;
	}	
}
@media screen and (max-width: 767px) {
	.p-tp-group__head {
		margin-bottom: 30px;
		font-size: 2.5rem;
	}	
}
.p-tp-group__head span {
	font-weight: 500;
	color: #e60013;
}
.p-tp-group__head br.p-tp-group-head__br-1 {
	display: none;
}
.p-tp-group__head br.p-tp-group-head__br-2 {
	display: none;
}
.p-tp-group__head br.p-tp-group-head__br-3 {
	display: none;
}
@media screen and (max-width: 1023px) {
	.p-tp-group__head br.p-tp-group-head__br-1 {
		display: block;
	}	
}
@media screen and (max-width: 621px) {
	.p-tp-group__head br.p-tp-group-head__br-2 {
		display: block;
	}
}
@media screen and (max-width: 428px) {
	.p-tp-group__head br.p-tp-group-head__br-2 {
		display: none;
	}
}

@media screen and (max-width: 959px) {
	.p-tp-group__list {
		margin-bottom: 60px
	}	
}
.p-tp-group__item {
	width: 317px;
	margin: 0 124px 124px 0;
}
@media screen and (max-width: 1299px) {
	.p-tp-group__item {
		width: 26.416%;
		margin: 0 10.3% 9.53vw 0;
	}	
}
@media screen and (max-width: 959px) {
	.p-tp-group__item {
		width: 32%;
		margin: 0 2.0% 2.0% 0;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-group__item {
		width: 48%;
		margin: 0 4.0% 4.0% 0;
	}	
}
.p-tp-group__item img {
	width: 100%;
}
@media screen and (min-width: 1300px) {
	.p-tp-group__item:nth-of-type(3n) {
		margin: 0 0 124px;
	}	
}
@media screen and (min-width: 960px) and (max-width: 1299px) {
	.p-tp-group__item:nth-of-type(3n) {
		margin: 0 0 9.53vw;
	}	
}
@media screen and (min-width: 600px) and (max-width: 959px) {
	.p-tp-group__item:nth-of-type(3n) {
		margin: 0 0 2.0%;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-group__item:nth-of-type(2n) {
		margin: 0 0 4.0%;
	}
}
.p-tp-group__item:nth-last-of-type(1) {
	margin: 0 0 124px;
}
@media screen and (max-width: 1299px) {
	.p-tp-group__item:nth-last-of-type(1) {
		margin: 0 0 9.53vw;
	}	
}
@media screen and (max-width: 959px) {
	.p-tp-group__item:nth-last-of-type(1) {
		margin: 0 0 2.0%;
	}	
}
@media screen and (max-width: 599px) {
	.p-tp-group__item:nth-last-of-type(1) {
		margin: 0 0 4.0%;
	}	
}
.p-tp-group__item a {
	transition: all .3s ease-in-out;
}
@media screen and (min-width: 1024px) {
	.p-tp-group__item a:hover {
		opacity: 0.7;
	}	
}

/* contact */
.p-tp-contact__head {
	margin-bottom: 50px;
	text-align: center;
}
.p-tp-contact-head__eng, .p-tp-contact-head__ja {
	line-height: 1.0;
}
.p-tp-contact-head__eng {
	margin-bottom: 10px;
	font-size: 4.0rem;
	letter-spacing: 0.05em;
}
.p-tp-contact-head__ja {
	font-size: 1.2rem;
}
.p-tp-contact__body {
	margin-bottom: 100px;
}
@media screen and (max-width: 599px) {
	.p-tp-contact__body {
		margin-bottom: 80px;
	}	
}
.p-tp-contact-body__txt {
	margin-bottom: 50px;
	text-align: center;
}
@media screen and (max-width: 420px) {
	.p-tp-contact-body__txt {
		text-align: left;
	}	
}
.p-tp-contact-body__form {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 50px;
}
.p-tp-contact-form__row {
	margin-bottom: 20px;
}
.p-tp-contact-form__row:nth-last-of-type(1) {
	margin-bottom: 0;
}
.p-tp-contact-form__row dt {
	margin-bottom: 5px;
	font-size: 1.4rem;
	line-height: 1.0;
	color: #6b6b6b;
}
.p-tp-contact__tel {
	text-align: center;
}
.p-tp-contact-tel__head {
	margin-bottom: 25px;
	font-size: 1.7rem;
	line-height: 1.0;
}
.p-tp-contact-tel__txt span,
.p-tp-contact-tel__txt span a {
	display: inline-block;
	line-height: 1.0;
	color: #ff74a5;
}
.p-tp-contact-tel__txt span.p-tp-contact-tel__num,
.p-tp-contact-tel__txt span.p-tp-contact-tel__num a {
	font-size: 4.3rem;
}
@media screen and (max-width: 411px) {
	.p-tp-contact-tel__txt span.p-tp-contact-tel__num,
	.p-tp-contact-tel__txt span.p-tp-contact-tel__num a {
		font-size: 10.4vw;
	}	
}
.p-tp-contact-tel__txt span.p-tp-contact-tel__first {
	font-size: 3.0rem;
	vertical-align: 1px;
}
@media screen and (max-width: 411px) {
	.p-tp-contact-tel__txt span.p-tp-contact-tel__first {
		font-size: 7.3vw;
	}	
}

input[type="text"], textarea {
	width: 100%;
	height: 50px;
	padding-right: 10px;
	padding-left: 10px;
	border: 1px solid #c4c4c4;
	background-color: #f2f2f2;
}
input[type="text"] {
	height: 50px;
}
textarea {
	height: 320px;
	padding-top: 10px;
	padding-bottom: 10px;
}

input::placeholder, textarea::placeholder {
	font-size: 1.4rem;
	font-style: italic;
    color: #a9a9a9;
}
input::placeholder {
    line-height: 50px;
}

/* IE */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
	font-size: 1.4rem;
	font-style: italic;
    color: #a9a9a9;
}
input:-ms-input-placeholder {
    line-height: 50px;
}
/* Edge */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
	font-size: 1.4rem;
	font-style: italic;
    color: #a9a9a9;
}
input::-ms-input-placeholder {
    line-height: 50px;
}

.p-btn-confirm {
	width: 240px;
	margin: auto;
}
.p-btn-confirm input[type="submit"] {
	display: block;
  width: 100%;
	padding: 18px 0;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.0;
	text-align: center;
  background: #fff;
	border: 1px solid #6b6b6b;
	transition: all .3s ease-in-out;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
	.p-btn-confirm input[type="submit"]:hover {
		background: #f2f2f2;
	}	
}

/* google map */
.p-tp-map {
	width: 100%;
	height: 380px;
}
.p-tp-map iframe {
	width: 100%;
	height: 100%;
}


/* -------------------------------------------------
施工事例
----------------------------------------------------*/
.p-sub-main {
	height: 300px;
}
@media screen and (max-width: 599px) {
	.p-sub-main {
		height: 200px;
	}	
}
.p-works-body {
	width: 100%;
	padding: 70px 0 100px;
	background: #231916;
}
.p-works-cont {
	width: 100%;
	max-width: 900px;
	margin: 0 auto 60px;
}
@media screen and (max-width: 919px) {
	.p-works-cont {
		width: calc(100% - 20px);
	}	
}
@media screen and (max-width: 599px) {
	.p-works-cont {
		margin: 0 auto 50px;
	}	
}
.p-works__head {
	margin-bottom: 60px;
	margin-right: -0.2em;
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1.0;
	letter-spacing: 0.2em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 1023px) {
	.p-works__head {
		margin-bottom: 60px;
		font-size: 3.2rem;
	}	
}
@media screen and (max-width: 767px) {
	.p-works__head {
		margin-bottom: 48px;
		font-size: 2.5rem;
	}	
}
.p-works__wrap {
	position: relative;
	width: 100%;
}
.p-main-images {
	position: relative;
	width: 100%;
	margin: 0 auto 30px;
	overflow: hidden;
}
.p-images__figure {
  position: relative;
  margin-bottom: 10px;
  padding-top: 66.7%;
	overflow: hidden;
}
.p-images__item img {
  position: absolute;
  top: 50%;
  left: 50%;
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain;';
  transform: translate(-50%, -50%);
}
.p-images__cap {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
}
.p-thumbs__list {
	display: flex;
	flex-wrap: wrap;
}
.p-thumbs__item {
	width: 143px !important;
	height: 100px !important;
	margin-bottom: 8px;
	margin-right: 8px;
	overflow: hidden;
	cursor: pointer;
	transition-property: all !important;
	transition-duration: .3s;
	transition-timing-function: ease-in-out;
}
@media screen and (max-width: 919px) {
	.p-thumbs__item {
		width: 15.8% !important;
		height: 10.928vw !important;
		margin-bottom: 1%;
		margin-right: 1%;
	}
}
@media screen and (min-width: 768px) {
	.p-thumbs__item:nth-of-type(6n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 767px) {
	.p-thumbs__item {
		width: 23.65% !important;
		height: 15.9vw !important;
		margin-right: 1.8%;
		margin-bottom: 1.8%;
	}	
}

@media screen and (min-width: 600px) and (max-width: 767px) {
	.p-thumbs__item:nth-of-type(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 599px) {
	.p-thumbs__item {
		width: 32.1% !important;
		height: 21.5vw !important;
	}
}
@media screen and (max-width: 599px) {
	.p-thumbs__item:nth-of-type(3n) {
		margin-right: 0;
	}
}
@media screen and (min-width: 1024px) {
	.p-thumbs__item:hover {
		opacity: 0.7;
	}
}
.p-thumbs__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.swiper-button-prev, .swiper-button-next {
  top: 265px !important;
  margin-top: 0 !important;
}
@media screen and (max-width: 919px) {
	.swiper-button-prev, .swiper-button-next {
		top: 28.8vw !important;
	}	
}
@media screen and (max-width: 879px) {
	.swiper-button-prev, .swiper-button-next {
    top: 29.4vw !important;
	}	
}
@media screen and (max-width: 599px) {
	.swiper-button-prev, .swiper-button-next {
    top: 25vw !important;
	}	
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center center;
	right: 0;
	height: 70px;
	width: 42px;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center center;
	left: 0;
	height: 70px;
	width: 42px;
}
@media screen and (max-width: 879px) {
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
		height: 56px !important;
		width: 34px !important;
	}
	.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
		background-size: 20px !important;
	}
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
		height: 56px !important;
		width: 34px !important;
	}
	.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
		background-size: 20px !important;
	}
}

.p-btn-back {
	width: 80%;
	max-width: 280px;
	margin: auto;
}
.p-btn-back a {
	display: block;
	padding: 20px 0;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.0;
	text-align: center;
	background: #fff;
  transition: all .3s ease-in-out;
}
@media screen and (min-width: 1025px) {
  .p-btn-back a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 599px) {
	.p-btn-back a {
		padding: 15px 0;
	}	
}

@media screen and (max-width: 767px) {
  .formError {
    left: initial !important;
    right: 0 !important;
  }
}

.p-thanx-br {
  display: inline-block;
}
@media screen and (max-width: 435px) {
  .p-thanx-br {
    display: none;
  }  
}



/* -------------------------------------------------
utility
----------------------------------------------------*/
.u-dp-f	{
	display: flex;
	flex-wrap: wrap;
}
.u-cont-p {
	display: none;
}
.u-cont-pt {
	display: none;
}
.u-cont-po {
	display: none;
}
.u-cont-pl {
	display: none;
}
@media screen and (min-width:600px) {
	.u-cont-s {
		display: none;
	}
	.u-cont-p {
		display: block;
	}
}
@media screen and (min-width:768px) {
	.u-cont-st {
		display: none;
	}
	.u-cont-pt {
		display: block;
	}
}
@media screen and (min-width:960px) {
	.u-cont-so {
		display: none;
	}
	.u-cont-po {
		display: block;
	}
}
@media screen and (min-width:1300px) {
	.u-cont-sl {
		display: none;
	}
	.u-cont-pl {
		display: block;
	}
}


/* -------------------------------------------------
送信完了ページ
----------------------------------------------------*/
.p-thanx-body {
	width: 100%;
	padding: 70px 0 100px;
}
.p-thanx-body .p-works__head {
  color: #333;
}
.p-thanx-body .p-btn-back a {
  color: #fff;
	background: #000;
}