@charset "UTF-8";
/*----------------------
*index.css
【概要】/index.htmlの設定 
*PC・共通版
-keyVisual
----------------------*/
/* --------------------------------------------------
**
** slick
**
** -------------------------------------------------- */
.c__slickSlide { padding: 0; }
.c__slickSlide div img {
	width: 100%;
	height: auto;
}
.slick-arrow {
	position: absolute;
	top: 50%;
	width: 25px;
	height: 46px;
	margin-top: -23px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	z-index: 10000;
	cursor: pointer;
}
.slick-prev {
	left: 30px;
	background: url(../../images/bg-icon-slick-arrow-01.svg) center center no-repeat;
	background-size: 25px 46px;
	transform: rotate(180deg);
}
.slick-next {
	right: 30px;
	background: url(../../images/bg-icon-slick-arrow-01.svg) center center no-repeat;
	background-size: 25px 46px;
}
.slick-dots {
	position: relative;
	top: -40px;
	height: 32px;
	margin-bottom: -32px;
	z-index: 100;
}


/* --------------------------------------------------
**
** topics
**
** -------------------------------------------------- */
.c__topics { padding: 100px 0 80px; }
.topics { width: 55.56%; }
.topics .ttlA {
	margin-bottom: 0;
	padding-left: 0;
	border-bottom: 0;
}
.topics .ttlA::before {
	content: none;
}
.topics .ttlA::after {
	display: inline-block;
	content: "";
	width: 42px;
	height: 18px;
	background: url(../../images/bg-icon-topics-01.png) right center no-repeat;
	background-size: 30px 18px;
}
.topics p {
	margin-bottom: 5px;
}
.bnrList { max-width: 38.89%; }
.bnrList figure {
	box-sizing: border-box;
	margin: 0 0 20px;
}
.bnrList figure.colL,
.bnrList figure.colR { width: 50%; }
.bnrList figure.colL { padding-right: 10px; }
.bnrList figure.colR { padding-left: 10px; }

/*video*/
.c__movie {
    padding-top: 50px;
}
.topics .c__movie .ttlA { color: #000; }
.topics .c__movie .ttlA::after { background: none; }
.p-movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.p-movie iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


.c__slickSlide a.movie {
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
	opacity: 1;
		filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
.c__slickSlide a.movie:hover {
	opacity: 1;
		filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
.c__slickSlide {
	overflow: hidden;
}





/* --------------------------------------------------
**
** ttlA
**
** -------------------------------------------------- */
.c__service .ttlA,
.c__household .ttlA,
.c__product .ttlA {
	margin-bottom: 25px;
	padding-left: 0;
	border-bottom: 0;
	color: #FFF;
	text-align: center;
}
.c__service .ttlA::before,
.c__household .ttlA::before,
.c__product .ttlA::before {
	content: none;
}
.c__service .ttlA img,
.c__household .ttlA img,
.c__product .ttlA img {
	display: block;
	width: 95px;
	height: auto;
	margin: 0 auto 10px;
}


/* --------------------------------------------------
**
** service
**
** -------------------------------------------------- */
.c__service {
	box-sizing: border-box;
	min-height: 560px;
	padding: 80px 0 60px;
	background: url(../../images/bg-pic-service-01-pc.jpg) center center no-repeat;
	background-size: cover;
}
.c__service p {
	color: #FFF;
	text-align: center;
}


/* --------------------------------------------------
**
** household
**
** -------------------------------------------------- */
.c__household {
	box-sizing: border-box;
	min-height: 900px;
	padding: 80px 0 60px;
	background: url(../../images/bg-pic-household-01-pc.jpg) center center no-repeat;
	background-size: cover;
}
.c__household a { text-decoration: none; }

.householdList {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0 -20px;
}
.householdList li {
	float: none;
	margin-bottom: 30px;
}
.householdList li a {
	position: relative;
	display: flex;
	box-sizing: border-box;
	height: 100%;
	margin: 0 20px;
	background-color: #f5f0ec;
}
.householdList li a::after {
	position: absolute;
	display: inline-block;
	top: 50%;
	right: 15px;
	content: "";
	width: 9px;
	height: 15px;
	margin-top: -7px;
	background: url(../images/bg-icon-arrow-01-cB.svg) right center no-repeat;
	background-size: 9px 15px;
}

.householdList li a figure {
	width: 46.15%;
	margin: 0;
	background-color: #FFF;
}
.householdList li a .inner { width: 53.85%; }
.householdList .ttlB { margin: 16px 35px 10px 20px; }
.householdList .ttlB span {
	display: block;
	padding-right: 0;
	background: none;
}
.householdList .ttlB  span.small { font-size: 17px; }
.householdList p {
	margin: 0 35px 10px 20px;
	font-size: 14px;
	line-height: 1.5; 
}
.householdList p.small { font-size: 13px; }
.c__household .btns { margin: 0 -30px; }
.c__household .btns li .btnA { margin: 0 30px 30px; }



/* --------------------------------------------------
**
** product
**
** -------------------------------------------------- */
.c__product { padding: 80px 0 60px; }
.c__product .ttlA { color: #333; }
.productList--01,
.productList--02 {
	display: flex;
	align-items: stretch;
}
.productList--01 { margin: 0 20px 20px; }
.productList--02 { margin: 0 30px; }
.productList--01 li,
.productList--02 li {
	position: relative;
	float: none;
	margin-bottom: 20px;
}
.productList--01 li .inner,
.productList--02 li .inner {
	height: 100%;
	background-color: #FFF;
}
.productList--01 li .inner { margin: 0 20px; }
.productList--02 li .inner { margin: 0 10px; }
.productList--01 .ttlB {
	margin-right: 0;
	padding: 25px 15px 10px;
	background: none;
	text-align: center;
}
.productList--02 .ttlB { margin: 25px 30px 10px; }
.productList--01 .itemLinks.sNav {
	display: flex;
	flex-wrap: wrap;
	margin: 0 60px 66px;
}
.productList--02 .itemLinks.sNav { margin: 0 30px 30px; }
.productList--01 .itemLinks.sNav > li,
.productList--02 .itemLinks.sNav > li {
	box-sizing: border-box;
	margin-bottom: 5px;
	padding-left: 22px;
}
.productList--02 .itemLinks.sNav.noneLink > li,
.productList--01 .itemLinks.sNav > li a,
.productList--02 .itemLinks.sNav > li a { padding-left: 0; }
.productList--01 .itemLinks.sNav > li a::before,
.productList--02 .itemLinks.sNav > li a::before { left: -22px; }
.productList--01 .btns {
	position: absolute;
	bottom: 0;
	margin-bottom: 0;
	width: calc(100% - 40px);
}
.productList--01 .btns li { margin: 0; }


/* --------------------------------------------------
**
** recruitment
**
** -------------------------------------------------- */
.c__recruitment .btns .btnC {
	height: 60px;
	border-radius: 30px;
}

/* --------------------------------------------------
**
** bnr
**
** -------------------------------------------------- */
.c__bnr { padding: 60px 0; }







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

/* --------------------------------------------------
**
** slick
**
** -------------------------------------------------- */
.slick-arrow {
	width: 12px;
	height: 23px;
}
.slick-prev {
	left: 5px;
	background-size: 12px 23px;
}
.slick-next {
	right: 5px;
	background-size: 12px 23px;
}
.slick-dots {
    top: -30px;
    height: 20px;
    margin-bottom: -20px;
	}
.slick-dots li,
.slick-dots li button,
.slick-dots li button::before {
    height: 20px;
    width: 20px;
}
.slick-dots li button::before {
    font-size: 20px;
    line-height: 20px;
}



/* --------------------------------------------------
**
** topics
**
** -------------------------------------------------- */
.c__topics {
	margin: 0;
	padding: 30px 0 20px !important;
}
.topics .ttlA::after {
	display: inline-block;
	content: "";
	width: 34px;
	height: 14px;
	background: url(../../images/bg-icon-topics-01.png) right center no-repeat;
	background-size: 24px 14px;
}
.topics,
.bnrList {
	max-width: 100%;
	width: 100%;
}
.topics .row { margin: 0 10px; }
.topics .ttlA.colL {
	float: left;
	width: initial;
}
.topics .itemLinks.gNav.colR {
	float: right;
	width: initial;
	margin-top: -5px;
}
.topics { margin-bottom: 40px; }
.bnrList {
	box-sizing: border-box;
	padding: 0 20px;
}
.bnrList figure.colL { float: left; }
.bnrList figure.colR { float: right; }


/*video*/
.c__movie { padding: 30px 20px 0; }




/* --------------------------------------------------
**
** ttlA
**
** -------------------------------------------------- */
.c__service .ttlA,
.c__household .ttlA,
.c__product .ttlA {
	margin-bottom: 5px;
	font-size: 16px;
}
.c__service .ttlA img,
.c__household .ttlA img,
.c__product .ttlA img {
	width: 60px;
	margin: 0 auto;
}


/* --------------------------------------------------
**
** service
**
** -------------------------------------------------- */
.c__service {
	min-height: initial;
	padding: 35px 0 80px;
	background: #3c95f0 url(../../images/bg-pic-service-01-sp.jpg) center bottom no-repeat;
	background-size: cover;
}


/* --------------------------------------------------
**
** household
**
** -------------------------------------------------- */
.c__household {
	min-height: initial;
	padding: 35px 0 20px;
	background: #663e28 url(../../images/bg-pic-household-01-sp.jpg) center top no-repeat;
	background-size: contain;
}
.householdList {
	flex-wrap: wrap;
	margin: 0 -10px;
}
.householdList li {
	width: 50%;
	margin-bottom: 20px;
}
.householdList li a {
    margin: 0 10px;
	flex-wrap: wrap;
}
.householdList li a::after {
	content: none;
}
.householdList li a figure,
.householdList li a .inner {
	display: block;
	width: 100%;
}
.householdList .ttlB {
	margin: 10px 10px 5px;
	font-size: 14px;
}
.householdList .ttlB span {
	padding-right: 10px;
	background: url(../images/bg-icon-arrow-01-cB.svg) right center no-repeat;
	background-size: 9px 15px;
}
.householdList p {
	margin: 0 10px 10px;
	font-size: 12px;
}
.householdList .ttlB  span.small { font-size: 13px; }
.householdList p.small { font-size: 11px; }

.c__household .btns { margin: 0; }
.c__household .btns li .btnA { margin: 0 0 15px; }


/* --------------------------------------------------
**
** product
**
** -------------------------------------------------- */
.c__product { padding: 40px 0 20px; }
.productList--01 { margin: 0 -20px; }
.productList--02 { margin: 0 -10px; }
.productList--01,
.productList--02 { flex-wrap: wrap; }
.productList--01 > li,
.productList--02 > li { margin-bottom: 20px; }
.productList--01 .ttlB { padding: 10px 15px 10px; }
.productList--01 .itemLinks.sNav { margin: 0 10px 56px; }
.productList--02 .itemLinks.sNav {
    display: flex;
    flex-wrap: wrap;
	margin: 0 10px 20px;
}
.productList--01 .itemLinks.sNav .col2of4,
.productList--02 .itemLinks.sNav .col1of1 { width: 50%; }
.productList--01 .itemLinks.sNav li,
.productList--02 .itemLinks.sNav li { margin-bottom: 0; }
.productList--01 .itemLinks.sNav li a,
.productList--02 .itemLinks.sNav li a,
.productList--01 .itemLinks.sNav.noneLink > li,
.productList--02 .itemLinks.sNav.noneLink > li {
	font-size: 12px;
	line-height: 1.5;
}
.productList--01 .itemLinks.sNav a::before { background-position: 5px 0.4em; }
.productList--02 .ttlB {
	margin: 10px 15px 10px;
	text-align: center;
}
.productList--02 .itemLinks.sNav.noneLink > li { padding-left: 22px; }



/* --------------------------------------------------
**
** recruitment
**
** -------------------------------------------------- */
.c__recruitment .btns .btnC {
	height: 40px;
	border-radius: 20px;
}

/* --------------------------------------------------
**
** bnr
**
** -------------------------------------------------- */
.c__bnr { padding: 20px 0; }



}


.c-tabs-bg{
	background: #F2E4CE;
	padding: 60px 0;
}
.c-tabs{
	display: grid;
    gap: 0px 10px;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	margin-bottom: 40px;
	padding-bottom: 2px;
    overflow: hidden;
}
.c-tab{
	border-radius: 18px 8px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 48px;
	background: #9C9482;
	color: #FFF;
	text-align: center;
}
.c-tab:hover{
	cursor: pointer;
}
.c-tab.c-red.on{
	background: #D70C19;
	position: relative;
}
.c-tab.c-red.on:before{
	content: "";
	width: 100vw;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #D70C19;
}
.c-tab.c-green.on{
	background: #007533;
	position: relative;
}
.c-tab.c-green.on:before{
	content: "";
	width: 100vw;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #007533;
}
.c-tab.c-blue.on{
	background: #014099;
	position: relative;
}
.c-tab.c-blue.on:before{
	content: "";
	width: 100vw;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #014099;
}
.c-tab.c-orange.on{
	background: #E18E5C;
	position: relative;
}
.c-tab.c-orange.on:before{
	content: "";
	width: 100vw;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #E18E5C;
}
.c-tab.c-black.on{
	background: #333333;
	position: relative;
}
.c-tab.c-black.on:before{
	content: "";
	width: 100vw;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	bbackground: #333333;
}
.c-tabs02{
}
.c-tab02{
	display: none;
}
.c-tab02.on{
	display: block;
}
.c-tabs02__grids{
	display: grid;
    gap: 10px;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.c-tab02.col3 .c-tabs02__grids{
	display: grid;
    gap: 10px;
    -ms-grid-columns:1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
}
.c-tabs02__grids.col5{
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.c-tabs02__grid{
	background: #FFF;
    padding: 20px 5px;
    border-radius: 8px;
    display: flex;
    flex-flow: column nowrap;
}
.c-tabs02__grid figure{
	margin-bottom: 10px!important;
	text-align: center;
	width: 70px;
	margin: 0 auto;
	min-height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;

}
.c-tabs02__grid p{
	background: #FFF;
	padding: 0px 10px 0;
	text-align: center;
	color: #333333;
	font-size: 15px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	line-height: 20px;
    position: relative;
    font-weight: bold;
}
.c-tabs02__grid a{
	text-decoration: none;
}
.c-tabs02__grid p:after{
	content: "";
	width: 10px;
	height: 16px;
	background: url(/common/images/tab-icon/allow.png);
	background-size: cover;
	position: absolute;
	right: 5px;
	top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}


.pcOnly {
	display: block!important;
}
.spOnly {
	display: none!important;
}

.btns-at {
	margin-top: 20px;
}
.btn-contact {
	cursor: pointer;
}
.btn-contact-lists{
	display: none;
	background: #9C9482;
    position: absolute;
    z-index: 2;
}
.btn-contact-list{
	padding: 6px 0px;
    width: 190px;
    border-bottom: 1px solid #FFF;
}
.btn-contact-list:last-child{
    border-bottom: none;
}

.fix-bnr{
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 300px;
	box-sizing: border-box;
	z-index: 1;
	transition: 0.3s;
	display: none;
}

.fix-bnr__position{
	position: relative;
	width: 100%;
	height: auto;
}

.fix-bnr__close{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	transition: all .5s;
	cursor: pointer;
}
.fix-bnr__close:hover{
	transition: all .5s;
	opacity: .7;
}

.fix-bnr a img{
	width: 100%;
}
.fix-bnr.is-hidden{
	opacity:0;
	z-index: -1;
	
}

.fix-bnr.session-hidden{
	display: none!important;
	z-index: -999!important;
}

.fix-bnr.on{
	display: block;
}

@media screen and (max-width: 767px) {
	.pcOnly {
		display: none!important;
	}
	.spOnly {
		display: block!important;
	}
	.c-tabs{
		gap: 0px 5px;
	}
	.c-tab {
		border-radius: 18px 8px 0 0!important;
		display: flex!important;
		justify-content: center!important;
		align-items: center!important;
		height: 48px!important;
		color: #FFF!important;
		text-align: center!important;
		line-height: 17px!important;
		font-size: 12px!important;
	}
	.c-tabs02__grids{
		display: grid;
		gap: 10px;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns:  1fr 1fr;
	}
	.c-tabs02__grids.col5{
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns:  1fr 1fr;
	}
	.c-tabs02__grids-sp{
		display: grid;
		gap: 10px;
		-ms-grid-columns: 1fr;
		grid-template-columns:  1fr;
	}
	.c-tabs02__grids-sp .c-tabs02__grid {
		padding: 0 10px;
	}
	.c-tabs02__grids-sp .c-tabs02__grid p {
		background: #FFF;
		padding: 0px 20px 0;
		text-align: center;
		color: #333333;
		font-size: 13px;
		margin: 0;
		display: flex;
		align-items: center;
		min-height: 50px;
		line-height: 20px;
		position: relative;
		font-weight: bold;
		justify-content: flex-start;
	}
	.c-tabs02__grids-sp .c-tabs02__grid p br {
		display: none;
	}
	.fix-bnr{
		position: fixed;
		bottom: 15px;
		right: 15px;
		width: 150px;
		box-sizing: border-box;
		z-index: 1;
	}
	.fix-bnr a img{
		width: 100%;
		
	}
	.fix-bnr__close{
		content: "";
		position: absolute;
		top: 0px;
		width: 30px;
		left: 0;
		right: 0;
		transition: all .5s;
		cursor: pointer;
	}
}

.recruit-info{
	display: flex;
	flex-direction: row;
	gap: 30px;
}
@media screen and (max-width: 767px) {
	.recruit-info{
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
}