@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 125px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 47.6%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}

/*
　テキスト
========================================== */
/*		leadTxt
-----------------------------*/
.leadTxt{
	font-size: 2.4rem;
	margin-bottom: 13px;
}

.leadWrap{
	padding: 100px 0;
}
.leadWrap h3{
	font-size: 2.8rem;
	margin-bottom: 25px;
}


.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */


/*-- table --*/
.basicTable >dt,
.basicTable >div>dt{
	padding: 15px 2.5%;
	width: 23%;
}
.basicTable >dd,
.basicTable >div>dd{
	padding: 15px 2.5%;
	width: 77%;
}
.basicTable >dt:last-of-type{
	border-bottom: none;
}
 .basicTable >dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: 1.8rem;
}

/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	gap:0 1.5%;
 margin-top: 80px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	font-size: 1.8rem;
	width: 40px;
	height: 40px;
}
/*-- pager --*/
.pager{
	margin-top: 50px;
}
.pager a{
font-size: 1.6rem;
  width: 200px;
}

/* =======================================
	header
========================================== */
header{
 height: 122px;
}
header >div{
 position: relative;
 padding-top: 12px;
 max-width: 1250px;
}

/* =======================================
	gnavi
========================================== */
.gnavi{
 padding-top: 55px;
 align-items: center;
}

#gnaviList{
 flex: 1;
 justify-content: flex-end;
 align-items: center;
 gap: 0 min(1.5vw,17px);
}

#gnaviList li{
}
#gnaviList > li{
 position: relative;
}
#gnaviList > li >a{
 display:flex;
 align-items: center;
 gap:0 8px;
 height: 36px;
 color: #111111;
 font-size: min(1.45vw,1.7rem);
 font-weight: 500;
 white-space: nowrap;
}
#gnaviList > li:not(.contact) >a::before{
 content: "";
 display: block;
 width: 13px;
 height: 13px;
 border-radius: 50%;
 background: var(--Lorange);
}
#gnaviList > li:nth-of-type(2) a::before{
 background-color:var(--red) ;
}
#gnaviList > li:nth-of-type(3) a::before{
 background-color:var(--green) ;
}
#gnaviList > li:nth-of-type(4) a::before{
 background-color:var(--pink) ;
}

#gnaviList li.current a,
#gnaviList li a:hover{
 opacity: .7;
}

#gnaviList .hasSub > a{
 position: relative;
}
/*#gnaviList .hasSub > a::after{
 content: "";
 display: inline-block;
}*/

.gnavi .hasSub:hover .sub{
	display: block;
	visibility: visible;
}


#gnaviList .sub{
	display: none;
	visibility: hidden;
	position: absolute;
 top: calc(100% - 1px);
 left: 50%;
 transform: translate(-50%, 0);
	z-index: 2;
	transition: all 0.6s ease-in-out;
 background: rgba(255,255,255,.8);
 min-width:100px;
}
#gnaviList .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
#gnaviList .sub li{
	font-size: min(1.0vw,1.4rem);
}
#gnaviList .sub li + li{
 border-top: 1px #fff solid;
}
#gnaviList .sub li a{
	display: block;
	padding: 8px 15px 10px;
 background: var(--Lorange);
 color: var(--base2);
 text-align: center;
	white-space: nowrap;
}
#gnaviList > li:nth-of-type(3) .sub li a{
 background-color:var(--green) ;
}
#gnaviList > li:nth-of-type(4) .sub li a{
 background-color:var(--Lpink) ;
}
#gnaviList .sub li a:hover{
 opacity: .7;
}
#gnaviList .contact{
}
#gnaviList .contact a{
 width: min(14vw,155px);
 font-size: min(1.4vw,16px);
}

#headLink{
 position: absolute;
 top: 12px;
 right: 0;
}


/* =======================================
	footer/#footContact
========================================== */

/* =======================================
	footer/#footBottom
========================================== */
footer .inner1000.pcFlex{
  justify-content: space-between;
}
footer a:hover{
 opacity: .7;
}

.footerRight{
 width: 50%;
 max-width: 500px;
 display: flex;
 justify-content: end;
 align-items: flex-start;
 align-content:flex-start;
 flex-flow: row wrap;
 gap: 0px min(5.6vw,78px);
 line-height: 1.4;
}
.footerNavi >li{
 font-size: 16px;
 font-weight: 700;
 letter-spacing: 0.02em;
}

.footerNavi >li + li{
  margin-top: 15px;
}
.footerNavi ul{
 margin-top: 10px;
 padding-left: 10px;
 font-weight: 500;
}
.footerNavi ul li + li{
 margin-top: 10px;
}
.footerNavi ul li a::before{
 content: "-";
 display: inline-block;
 margin-right: 2px;
 line-height: 1;
}
footer .copy{
 flex-flow: row-reverse;
}

/* =======================================
	pgs common
========================================== */
/*タイトル
========================================== */
/*-- mainTitle --*/
.mainTitle{
	height: 180px;
}
.mainTitle h2{
	font-size: 4rem;
}


/*		anchorLink
-----------------------------*/
.anchorLink{
	padding: 50px 0;
	gap:15px 1.8%;
	justify-content: center;
}
.anchorLink ul{
	padding: 35px 0;
	gap:15px 20px;
}
.pageLinks{
	gap:15px 1.8%;
	padding: 35px 0 ;
}
.pageLinks ul{
	gap:15px 20px;
}
.anchorLink li,
.pageLinks li{
	flex: 1;
	height: 60px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 10px;
}
.anchorLink + section{
	padding-top: 65px;
}
.anchorLink.flexWrap li,
.pageLinks.flexWrap li{
 width: calc((100% - 1.8%*3)/4);
 flex: auto;
}

/* =======================================
	top PC
========================================== */

/*		#mv PC
-----------------------------*/
#mv{
}
/*		#top PC
-----------------------------*/




/*		#topNews PC
-----------------------------*/
#topNews .inner1000{
 position: relative;
}
#topNews h2{
 margin: 0 0 42px;
 text-align: left;
}
#topNews h2 .en{
 justify-content: flex-start;
}
#topNews ul{
 gap:40px 21px;
}
#topNews ul li{
 width: calc((100% - 21px*2)/3);
}
#topNews .btnWrap{
 margin: 0;
 position: absolute;
 top: 18px;
 right: 0;
 width: 241px;
}

/*	#topAbout PC
-----------------------------*/
#topAbout .pcFlex{
 justify-content: space-between;
 align-items: flex-start;
}
#topAbout .pcFlex .txts{
 width: 60%;
 max-width: 642px;
 padding-left: 30px;
}
#topAbout .pcFlex .txts p span{
 display: inline-block;
 text-indent: -0.8em;
}
#topAbout .pcFlex figure{
 width: 36.5%;
 max-width: 390px;
}

/*		#topService PC
-----------------------------*/
#topService{
 background-size: 100% 100%;
 }
#topService ul{
 justify-content: space-between;
}
#topService ul li{
 width: 32%;
}

/*		#topStaff PC
-----------------------------*/
#topStaff .pcFlex{
 justify-content: space-between;
}
#topStaff .pcFlex .txts{
 width: 45%;
}
#topStaff .pcFlex .stslide{
 width: 50.1%;
}

/*		#topCompany PC
-----------------------------*/
#topCompany ul{
 justify-content: space-between;
}
#topCompany ul li{
 width: 47%;
}

/*		#topCareers PC
-----------------------------*/
#topCareers .pcFlex{
 justify-content: space-between;
}
#topCareers .pcFlex .txts{
 width: 64%;
 max-width: 586px;
}
#topCareers .pcFlex ul{
 width: 33%;
 max-width: 300px;
}


/* =======================================
   dayservice / grouphome / homecare
========================================== */
.serviceList{
	gap: 30px 4%;
}
.serviceList li p{
	font-size: 1.5rem;
}
.serviceList li{
	padding: 20px 15px 30px;
}
.serviceList li img{
	margin: 10px auto 0;
	height: 74px;
}

.pickupBox{
	margin-top: 50px;
	padding: 20px 30px 30px;
}
.pickupBox > .pcFlex > div{
	padding: 20px 2% 30px;
	width: calc((100% - 30px) / 2);
}
.pickupBox > .pcFlex p{
	width: 53%;
}
.pickupBox > .pcFlex figure{
	width: 42%;
}

.eligibleUsers li{
	margin: 0 14% 20px;
}

.message.pcFlex figure{
	margin-top: 20px;
	width: min(250px,25%);
}
.message.pcFlex{
	margin-top: 50px;
}
.message.pcFlex p{
	font-size: 2rem;
	margin-left: -3%;
	padding: 40px 2%;
	width: 55%;
}
.message.pcFlex p::before{
	width: 90px;
	height: 30px;
	bottom: -30px;
	left: 20px;
}
.message.pcFlex p::after{
	width: 82px;
	height: 27px;
	bottom: -27px;
	left: 24px;
}
.message.pcFlex figure{
	margin-top: 20px;
	width: min(250px,25%);
}

.scheduleTable{
	padding: 60px 30px 30px;
}
.scheduleTable thead th{
	font-size: 1.8rem;
	font-weight: 700;
}
.scheduleTable thead th:not(:nth-of-type(2)){
	width: 18%;
}
.scheduleTable th,
.scheduleTable td{
	padding: 15px;
}
.scheduleTable h4{
	font-size: 2.2rem;
}
.scheduleTable tbody td:nth-of-type(2){
	padding-left: 5%;
	padding-right: 5%;
}
.scheduleTable tbody tr td:not(:nth-of-type(2)){
	font-size: 2rem;
}
.scheduleTable dl{
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.scheduleTable dl dt,
.scheduleTable dl dd{
	display: grid;
	align-items: center;
}
.scheduleTable dl dt{
	width: 30%;
}
.scheduleTable dl dd{
	width: 70%;
}

.feeBox .h4Tit{
	margin-bottom: 20px;
}
.feeBox .h4Tit:not(:first-of-type){
	margin-top: 50px;
}

.facilityData .img{
	width: 46%;
}
.facilityData dl{
	width: 49%;
}
.facilityData dl dt{
	width: 33%;
}
.facilityData dl dd{
	width: 67%;
}
.facilityPhoto{
	gap: 0 30px;
	margin-top: 60px;
}
.facilityPhoto figure{
	width: calc((100% - 30px) / 3);
}
.facilityPhoto figcaption{
	margin-top: 10px;
}
.facilityPhoto{
	gap: 0 30px;
	margin-top: 50px;
}
.facilityPhoto figure{
	width: calc((100% - 30px) / 3);
}
.facilityPhoto figcaption{
	margin-top: 10px;
	text-align: center;
}

/* =======================================
  dayservice
========================================== */
 #dayserviceService .serviceList{
	gap: 30px 3%;
}
#dayserviceService .serviceList li:nth-child(7) img,
#dayserviceService .serviceList li:nth-child(8) img{
	height: 84px;
}
#dayserviceService .serviceList li:nth-child(10) img{
	height: 45px;
}

/* =======================================
    grouphome PC
========================================== */
 #grouphome .serviceList{
	gap: 30px 2.5%;
}
#grouphome .serviceList li{
	width: calc(92.5% / 4);
}
#grouphomeService .serviceList li:nth-child(2) img{
	height: 84px;
}

#grouphome .moveInProcess{
	margin-top: 50px;
	padding: 20px 30px 30px;
}
#grouphome .moveInProcess ul{
	gap:0 5%;
}
#grouphome .moveInProcess ul li{
	padding: 20px 12px;
	aspect-ratio: 1 / 1;
	width: 16%;
}
#grouphome .moveInProcess ul li:not(:last-child)::after{
	width: 14px;
	height: 16px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
	top: calc(50% - 8px);
	right: -34px;
}
#grouphome .moveInProcess ul li figure{
	margin: 0 auto 10px;
	width: 80%;
}
#grouphome .moveInProcess ul li:nth-child(4) figure{
	width: 65%;
}

#grouphomeSchedule .pcFlex{
	justify-content: space-between;
}
#grouphomeSchedule .pcFlex .left{
	width: 70%;
}
#grouphomeSchedule .scheduleTable2 dt,
#grouphomeSchedule .scheduleTable2 dd{
	display: flex;
	padding: 20px 15px;
}
#grouphomeSchedule .scheduleTable2 dt{
	justify-content: center;
	font-size: 2rem;
}
#grouphomeSchedule .scheduleTable2 dd{
	justify-content: flex-start;
	font-size: 2.2rem;
}
#grouphomeSchedule .photoBox{
	width: 25%;
}
#grouphomeSchedule .photoBox figure:not(:last-child){
	margin-bottom: 15px;
}
#grouphomeSchedule p{
	font-size: 2rem;
	margin-top: 30px;
}

#grouphomeFee table.basicTable tbody tr th{
	width: 18%;
}
#grouphomeFee table.basicTable tbody tr td:nth-of-type(1){
	width: 8%;
}
#grouphomeFee table.basicTable tbody tr td:nth-of-type(2){
	width: 74%;
}

/* =======================================
    homecare PC
========================================== */
#homecareService .pickupBox div.bgW{
	padding: 20px 2% 30px;
}
#homecareEligible .note{
	margin-left: 0;
}
 #homecare .serviceList{
 	gap: 5px 4%;
 }
 #homecare .serviceList li {
    width: calc(85% / 4);
  }
#homecare .message figure{
	margin-top: calc(20px + 2.5em);
}
#homecareService .serviceList li:nth-child(4) img,
#homecareService .serviceList li:nth-child(5) img{
	height: 64px;
	margin-top: 20px;
}
#homecareService .serviceList li:nth-child(6) img{
	height: 84px;
	margin-top: 10px;
	margin-bottom: -10px;
}
 
 

/* =======================================
 interview PC
========================================== */
.interview .contBox.pcFlex{
 justify-content: space-between;
}
.interview .contBox.pcFlex >div{
 width: 52%;
 max-width: 560px;
}
.interview .contBox.pcFlex figure{
 width:44.5% ;
 max-width: 478px;
}
 
/* =======================================
  workingenvironment PC
========================================== */
#benefits .other{
	padding: 0 5% 30px;
}
#benefits .other + .note{
	text-align: right;
}

.column3{
 gap:40px 40px;
 flex-flow: row wrap;
}
.column3 >li{
 width: calc((100% - 40px*2)/3);
}
 
.placeBox .qaBox.pcFlex{
 justify-content: space-between;
 align-items: flex-start;
}
.placeBox .qaBox.pcFlex dl{
 width: 68.5%;
 max-width: 668px;
}
.placeBox .qaBox.pcFlex figure{
 width: 25%;
 max-width: 240px;
}
/* =======================================
    staff PC
========================================== */
.staffIntroduction{
	flex-wrap: wrap;
	margin-top: 30px;
}
.staffBox{
	width: calc((100% - 20px*2)/3);
}
.staffBox h4{
	font-size: 2.4rem;
}
.staffBox ul li{
	font-size: 1.4rem;
}

/* =======================================
  company
========================================== */
#companyInformation .basicTable > dt{
	width: 26%;
}
#companyInformation .basicTable > dd{
	width: 74%;
}

/* =======================================
    esg PC
========================================== */
#esgLead .inner > figure{
	width: min(60%,600px);
}
#esgLead .esgSdgsBox{
	margin-top: 30px;
}
#esgLead .esgSdgsBox::before{
	width: 114px;
	height: 58px;
	right: 20px;
	top: -40px;
}
#esgLead .esgSdgsBox::after{
	width: 59px;
	height: 63px;
	left: 10px;
	bottom: -13px;
}
#esgLead .esgSdgsBox p{
	text-align: center;
}
#esgLead .wlbBox{
	gap: 0 5%;
	margin-top: 70px;
}
#esgLead .wlbBox figure{
	width: 40%;
	
}
#esgLead .wlbBox figure img{
	border: 1px solid #ccc
}
#esgLead .wlbBox .txt{
	width: 55%;
}
#esgLead .wlbBox h3{
	font-size: 2rem;
}

.esgBox ul:not(.other){
	gap:0 3%;
}
.esgBox ul:not(.other) li{
	width: calc(94% / 3);
	display: flex;
	flex-direction: column;
}
.esgBox ul:not(.other) li h4{
	font-size: 2rem;
}
.esgBox .h4Tit{
	margin-top: 50px;
}
.esgBox .other{
	gap:30px 3%;
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}
.esgBox .other li{
	width: calc(94% / 3);
}
.esgBox .other li figure{
	width: min(82%,230px);
}
.esgBox .other li .btn{
	margin-top: 10px;
	max-width: 148px;
}

/* =======================================
	news PC
========================================== */
/*		一覧
-----------------------------*/
.newsBox.pcFlex{
 justify-content: space-between;
 align-items: flex-start;
}
.newsBox figure{
 width: 30%;
}
.newsBox .txts{
 width: 66%;
}

/*	詳細　single
-----------------------------*/
article{
 padding: 100px 0;
}
#newsDetail h3{
	font-size: 2.4rem;
}
.newsDetailCont:has(figure){
 display: flex;
		flex-direction: row-reverse;
	gap: 40px;
}
.newsDetailCont:has(figure) figure{
	width: 400px;
	text-align: center;
}
.newsDetailCont:has(figure) figure img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.newsDetailCont:has(figure) .txts{
	flex: 1;
}
.newsDetailCont p:not(:last-child) {
    margin-bottom: 15px;
}



/* =======================================
	materials
========================================== */
#materials .basicTable dt{
 width: 24%;
}
#materials .basicTable dd{
 width: 76%;
}
#materials .basicTable dd.pcFlex{
 display: flex;
 gap:0 20px;
}

/* =======================================
	contact
========================================== */
#contactTel dl{
	display: flex;
}
#contactTel dl dt{
 border-radius: 20px 0 0 20px;
 font-size: 2rem;
 padding: 20px 0;
	width: 300px;
}
#contactTel dl dd{
	width: calc(100% - 300px);
}


/* =======================================
	form
========================================== */
.formArea .basicTable input[type=text],
.formArea .basicTable input[type=email],
.formArea .basicTable input[type=tel],
.formArea .basicTable select{
	padding: 8px;
	width:100%;
}
.formArea .basicTable textarea{
	padding: 8px;
	width: 100% !important;
}
.formArea #fRecruit[style^="display: block;"]{
 display: flex !important;
}
.formArea #fRecruit dt{
 flex-flow: column;
 align-items: flex-start;
}
.confirm {
		margin-top: 40px;
}
.formArea .basicTable dt{
	width: 25%;
}
.formArea .basicTable dd{
	width: 75%;
}

/* =======================================
	thanks
========================================== */

#thanks{
}

#thanks p{
  font-size: 1.8rem;
}

/* =======================================
	privacypolicy
========================================== */
#privacyPolicy{
	margin-top: 50px;
}
.policyBox{
	padding: 20px 2%;
}
.policyBox .h5Tit{
	margin-top: 40px;
}


