@charset "utf-8";



/* top
----------------------------------------------- */
.topmaintxt {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 176px 40px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 2;
}
.topmaintxt img {
	width: 760px;
}
@media (max-width: 1024px) {
.topmaintxt {
	padding: 60px 40px 0;
}
}
@media (max-width: 767px) {
.topmaintxt img {
	width: 250px;
}
}

.topbox+.topbox {
	margin-top: 120px;
}
.topbox .tophd {
	margin-bottom: 30px;
}
.topbox .toptxt {
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 2;
	margin-bottom: 40px;
}
.topcta {
	display: flex;
	justify-content: space-between;
}
.topcta .topctain {
	
}
.topcta .topctamap {
	max-width: 590px;
	margin-left: 20px;
}
.topcta .comcta {
	margin-top: 110px;
}

@media (max-width: 1024px) {
.topcta {
	display: block;
	padding-bottom: 200px;
	position: relative;
}
.topcta .topctain {
	
}
.topcta .topctamap {
	margin: 20px 0 0;
}
.topcta .comcta {
	margin-top: 0;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
}
}

@media (max-width: 767px) {
.topcta {
	padding-bottom: 110px;
}
.topbox+.topbox {
	margin-top: 40px;
}
.topbox .tophd {
	margin-bottom: 10px;
	font-size: 0;
}
	.topbox .tophd img {
		height: 23px;
	}
.topbox .toptxt {
	margin-bottom: 15px;
}
.topcta .topctamap {
	max-width: none;
}
.topcta .topctamap {
	margin: 10px 0 0;
}
.topcta .comcta {
	width: 100%;
}
}

/* works_list
----------------------------------------------- */
.worknavi {
	margin: 100px 0 150px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.worknavi .wnavitit {
	font-size: 35px;
	font-weight: 600;
	margin-bottom: 30px;
}
.worknavi .wnavitit a {
	display: flex;
	align-items: center;
}
.worknavi .wnavitit a img {
	margin-left: 25px;
	width: 28px;
}
.worknavi .wnavilink {
	display: flex;
	align-items: center;
}
.worknavi .wnavilink li {
	font-size: 0;
	padding: 2px 0;
}
.worknavi .wnavilink li+li {
	margin-left: 35px;
	padding-left: 35px;
	border-left: 3px #231815 solid;
}


@media (max-width: 767px) {
.worknavi {
	margin: 40px 0 50px;
	flex-direction: column-reverse;
}
.worknavi .wnavitit {
	font-size: 14px;
	margin: 15px 0 0;
}
.worknavi .wnavitit a {
	display: flex;
	align-items: center;
}
.worknavi .wnavitit a img {
	margin-left: 10px;
	width: 15px;
}
.worknavi .wnavilink li {
	padding: 0;
}
.worknavi .wnavilink li img {
	height: 10px;
}
.worknavi .wnavilink li+li {
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px #231815 solid;
}
}

.worklist {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0 0 -35px;
}
.worklist li {
	width: calc((100% - 136px)/4);
	margin: 35px 45px 35px 0;
}
.worklist li:nth-child(4n) {
	margin-right: 0;
}
.worklist li a {
	display: block;
}
.worklist .worklistimg img {
	width: 100%;
}
.worklist .worklisttit {
	font-size: 26px;
	font-weight: 600;
	margin-top: 25px;
}
.worklist .worklisttxt {
	margin-top: 5px;
}
@media (max-width: 1024px) {
.worklist li {
	width: calc((100% - 60px)/3);
	margin: 35px 30px 35px 0;
}
.worklist li:nth-child(4n) {
	margin-right: 30px;
}
.worklist li:nth-child(3n) {
	margin-right: 0;
}
}

@media (max-width: 767px) {
.worklist {
	margin: 10px 0 -15px;
}
.worklist li {
	width: calc((100% - 10px)/2);
	margin: 15px 10px 15px 0;
}
.worklist li:nth-child(4n) {
	margin-right: 0;
}
.worklist li:nth-child(3n) {
	margin-right: 10px;
}
.worklist li:nth-child(2n) {
	margin-right: 0;
}
.worklist .worklisttit {
	font-size: 16px;
	text-align: center;
	margin-top: 10px;
}
.worklist .worklisttxt {
	margin-top: 10px;
}
}


/* works_detail
----------------------------------------------- */
.workdetcap {
	margin-top: 30px;
}
.workdet {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 30px 0 -12px;
}
.workdet li {
	width: calc((100% - 24px)/2);
	margin: 12px 24px 12px 0;
}
.workdet li:nth-child(2n) {
	margin-right: 0;
}
.workdet li img {
	width: 100%;
}


@media (max-width: 767px) {
.workdetcap {
	margin-top: 10px;
}
.workdet {
	display: flex;
	flex-direction: column;
	margin: 20px 0 -5px;
}
.workdet li {
	width: 100%;
	margin: 5px 0;
}
.workdet li img {
	width: 100%;
}
}

/* company
----------------------------------------------- */
.companybox+.companybox {
	margin-top: 60px;
}
.companybox .hdl {
	margin-bottom: 30px;
}
.companytab {
	width: 100%;
}
.companytab th,
.companytab td {
	vertical-align: top;
	font-size: 21px;
	padding: 8px 0;
}
.companytab th {
	width: 170px;
}
.companytxt {
	line-height: 2;
	text-align: justify;
	text-justify: inter-ideograph;
}


@media (max-width: 767px) {
.companybox+.companybox {
	margin-top: 40px;
}
.companybox .hdl {
	margin-bottom: 10px;
}
.companytab th,
.companytab td {
	font-size: 16px;
	padding: 0;
	line-height: 1.8;
}
.companytab th {
	width: 100px;
}
}

/* works top
----------------------------------------------- */
.workinner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 20px 0 -20px;
}
.workinner a {
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 48.5%;
	margin: 20px 0;
	padding: 40px 30px;
}
.workinner a.workbg01 {
	background: url(../img/works/bg_works01.jpg) center center no-repeat;
	background-size: cover;
}
.workinner a.workbg02 {
	background: url(../img/works/bg_works02.jpg) center center no-repeat;
	background-size: cover;
}
.workinner a.workbg03 {
	background: url(../img/works/bg_works03.jpg) center center no-repeat;
	background-size: cover;
}
.workinner a.workbg04 {
	background: url(../img/works/bg_works04.jpg) center center no-repeat;
	background-size: cover;
}
.workinner a.workbg05 {
	background: url(../img/works/bg_works05.jpg) center center no-repeat;
	background-size: cover;
}
.workinner .workinnertit {
	display: flex;
	align-items: center;
	font-size: 31px;
	font-weight: 600;
	margin-bottom: 20px;
}
.workinner .workinnertit img {
	width: 26px;
	margin-left: 15px;
}
.workinner .workinnertxt {
	font-size: 26px;
	text-align: center;
}

@media (max-width: 1024px) {
.workinner a {
	width: 100%;
}
}

@media (max-width: 767px) {
.workinner {
	margin: 20px 0 0;
}
.workinner a {
	margin: 3px 0;
	padding: 20px 10px;
}
.workinner .workinnertit {
	font-size: 18px;
	margin-bottom: 10px;
}
.workinner .workinnertit img {
	width: 17px;
	margin-left: 10px;
}
.workinner .workinnertxt {
	font-size: 16px;
}
}

/* onlineshop
----------------------------------------------- */
.shopdet {
	margin-top: 40px;
	line-height: 2;
	text-align: justify;
	text-justify: inter-ideograph;
}
.shopinner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 20px 0 40px;
}
.shopinner li {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 48.5%;
	margin: 20px 0;
	padding: 40px 30px;
	text-align: center;
}
.shopinner li.bgpink {
	background: #f3abc5;
}
.shopinner li.bggreen {
	background: #a8d174;
}
.shopinner li.bgblue {
	background: #87bbe5;
}
.shopinner li.bgpurple {
	background: #b59dca;
}
.shopinner li.bgyellow {
	background: #facb8c;
}
.shopinner li.bgbrown {
	background: #cab88f;
}
.shopinner .shopinnertit {
	font-size: 31px;
	font-weight: 600;
	margin-bottom: 15px;
}
.shopinner .shopinnertxt {
	font-size: 26px;
}

@media (max-width: 1024px) {
.shopinner li {
	width: 100%;
}
}

@media (max-width: 767px) {
.shopdet {
	margin-top: 15px;
}
.shopinner {
	margin: 40px 0 15px;
}
.shopinner li {
	margin: 2px 0;
	padding: 15px 20px;
	text-align: left;
	align-items: flex-start;
}
.shopinner .shopinnertit {
	font-size: 18px;
	margin-bottom: 5px;
}
.shopinner .shopinnertxt {
	font-size: 16px;
}
}

/* faq
----------------------------------------------- */
.faqbox {
	margin-top: 60px;
}
.faqbox li+li {
	margin-top: 90px;
}
.faqbox .faqico {
	width: 50px;
	margin-right: 25px;
	flex-shrink: 0;
}
.faqbox .faqin {
	flex: 1;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph;
}
.faqbox .qcont {
	display: flex;
	align-items: flex-start;
	color: #595757;
}
.faqbox .acont {
	display: flex;
	align-items: flex-start;
	font-size: 30px;
	font-weight: 700;
	margin-top: 20px;
}


@media (max-width: 767px) {
.faqbox {
	margin-top: 15px;
}
.faqbox li+li {
	margin-top: 40px;
}
.faqbox .faqico {
	width: 25px;
	margin-right: 10px;
}
.faqbox .acont {
	font-size: 16px;
	margin-top: 10px;
}
}

/* comcont
----------------------------------------------- */
.comcont {
	padding: 176px 0 0;
}

@media (max-width: 1024px) {
.comcont {
	padding: 60px 0 0;
}

}

/* XXXXXXX
----------------------------------------------- */


@media (max-width: 1024px) {

}

@media (max-width: 767px) {

}


