@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 138px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
 letter-spacing: 0.05em;
}
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;}
.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: 50px 0;
}
body:not(#top) section p:not(:last-child){
  margin-bottom: 30px;
}


/*タイトル
========================================== */
.h2Tit {
	font-size: 3.6rem;
}
.h2Tit .en{
  font-size: 1.8rem;
}
.h3Tit {
  font-size: 3.2rem;
	margin-bottom: 20px;
}
.h4Tit {
	font-size: 2.4rem;
	margin-bottom: 20px;
}
.h5Tit {  
	font-size: 2rem;
	margin-bottom: 30px;
}
.h6Tit{
	font-size: 1.8em;
	margin-bottom: 20px;
}

/*
　テキスト
========================================== */
.leadTxt{
  font-size: 2.7rem;
  text-align: center;
}
.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */
.btn{
  font-size: 1.7rem;
  width: 253px;
  height: 60px;
}
a.icArrow{
	padding-right: 30px;
}
a.icArrow::after{
	width: 18px;
	height: 17px;
	right: 30px;
	top: calc(50% - 9px);
}
.line.icArrow{
	padding-right: 40px;
}
.line.icArrow::after{
	width: 31px;
	height: 31px;
	right: 0px;
	top: calc(50% - 16px);
}

/* =======================================
  タブ
========================================== */
.btnTab a{
	font-size: 1.7rem;
	width: 260px;
	height: 60px;
}
.btnTab a::after {
	width: 18px;
	height: 17px;
	right: 20px;
	top: calc(50% - 9px);
}

/* =======================================
	header
========================================== */
header {
	left: 0;
	width: 100%;
}
header .flex{
 background: #fff;
 height: 106px;
 padding: 0 0 0 min(3.5vw,50px);
}
header #logo{
  width: 310px;
  padding: 25px 0 17px;
  display: grid;
  place-content: center;
}
header #logo a{
  display: block;
  width: 100%;
}


/* =======================================
	gnavi
========================================== */

.gnavi{
	position: relative;
	flex: 1;
}
#gnaviList{
  height: 100%;
 justify-content: flex-end;
 padding-right: 106px;
}
#gnaviList li{
  position: relative;
}
#gnaviList.flex{
	align-items: flex-end;
}
#gnaviList li.current a,
#gnaviList li a:hover{
  color: #333;
  font-weight: 500;
}
#gnaviList > li:not(.btn01){
	margin-top: 70px;
  margin-right: 1.4vw;
  padding-bottom: 12px;
}
#gnaviList > li:not(.btn01) a{
 position: relative;
 font-size: min(1.4vw,16px);
 white-space: nowrap;
}

.gnavi .headerTel{
	position: absolute;
	right: 126px;
	top: 16px;
}
.gnavi .headerTel a{
	display: block;
	margin-left: 26px;
	font-size: 22px;
	font-weight: 700;
	color: #333333;
	letter-spacing: 0.066em;
	line-height: 1;
}
.gnavi .headerTel a::before{
	position: absolute;
	top: 3px;
	left: 0;
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url("../images/head_tel.svg") no-repeat center / 100%;
}
.gnavi .headerTel span{
	font-size: 15px;
	font-weight: 400;
	letter-spacing: -0.066em;
	color: #333333;
}


.gnaviContainer .sub{
	position: absolute;
	z-index: 2;
	display: none;
	visibility: hidden;
	transition: all 0.6s ease-in-out;
}
.gnaviContainer .sub a{
	display: block;
	padding: 10px;
}
.gnaviContainer .sub li{
	border-bottom: 1px solid #ddd;
}
.gnaviContainer .sub li a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0.3em;
	height: 2px;
	margin-right: 0.3em;
	background: var(--blue) radial-gradient(at right top, #8DFFFC 13.709%, #63BCE0 24.8515%, #4F8BCB 42.9214%, #3F63BA 57.4273%, #3244AD 68.8102%);
	transform: translateY(-2px);
}
.gnaviContainer .sub ul{
	padding-left: 20px;
}
.gnaviContainer .hasSub > a{
}
.gnaviContainer .hasSub::after{
}
.gnaviContainer .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
.gnaviContainer .sub li a{
	white-space: nowrap;
	display: block;
	padding: 10px;
	background: rgba(255,255,255,0.9)
}

.fix .gnaviContainer .sub li a,
.pgs .fix .gnaviContainer .sub li a{
	padding: 5px 20px;
}

.fix .gnaviContainer .sub li a{
	background: rgba(33,150,254,0.8);
}
.gnaviContainer .sub{
}


#gnaviList .btn01{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
}
#gnaviList .btn01 a,
.recruitNaviList .btn01 a{
	display: grid;
	place-content: center;
	background: var(--blue) radial-gradient(at right top, #8DFFFC 13.709%, #63BCE0 24.8515%, #4F8BCB 42.9214%, #3F63BA 57.4273%, #3244AD 68.8102%);;
	width: 106px;
	height: 106px;
	color: #fff;
	font-size: 13px;
	text-align: center;
	transition: 1s;
}
#gnaviList .btn01 a:hover,
.recruitNaviList .btn01 a:hover{
	opacity: 0.8;
	color: #fff;
}
#gnaviList .btn01 a::before,
.recruitNaviList .btn01 a::before{
 content: "";
 display: block;
 background: url("../images/head_ic_mail.svg") no-repeat left top/100% auto;
 width: 28px;
 height: 20px;
 margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
}/* //end for SP */
@media screen and (min-width: 769px) {
}/* //end for PC */
@media screen and (min-width: 1100px) {
  #gnaviList li a{
    font-size: 16px;
  }
}/* //end for PC2 */

/*  for #recruit only header
----------------------------------------*/
.recruitNavi #gnaviList{
	align-items: center;
}
.recruitNavi #gnaviList > li:not(.btn01){
	margin-top: 0;
	padding-bottom: 0;
}

/* =======================================
	main
========================================== */
main{
	margin-top: 106px;
}


/* =======================================
	footContact
========================================== */
#footContact{
	padding-top: 90px
}
#footContact .leadTxt{
	font-weight: 700;
	margin-bottom: 10px;
}
.footContactList.pcFlex{
	justify-content: space-between;
	margin-top: 10px
}
.footContactList.pcFlex li{
	width: 47.3%;
}
.pgs #footContact{
	padding-top: 65px;
}


/* =======================================
	footer
========================================== */
footer{
  padding: 90px 0 0;
}
.footerBox.pcFlex{
	justify-content: space-between;
}
.footerBox .footerLeft{
	width: min(39.42%, 473px);
}
.footerRecruitBtn a{
	display: block;
    margin: 0 30px 0 auto;
	font-size: 0;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: #fff;
}
.footRecruitList.pcFlex{
	gap: 20px;
}
.footerBox .footerRight{
	width: min(calc(100% - 473px), 612px);
}
.footerRight.pcFlex{
	gap: 30px 4.9%;
}
.footerInfomation.pcFlex{
	margin-top: 140px;
	padding-bottom: 40px;
	align-items: end;
	justify-content: start;
	gap: 0 20px;
}
#footerLogo{
  width: 285px;
  height: 54px;
}
footer .address{
  font-size: 1.4rem;
}
footer copy,
footer .copy p{
	font-size: 1.2rem;
}

#pageTop{
	width: 71px;
	right: 4vw;
	bottom: 73px;
}


/* =======================================
	pgs common
========================================== */
.pgs main{
	background: url("../images/top_bg_product.svg") no-repeat center 30vw / 100% auto, url("../images/top_bg_main.svg") no-repeat center calc(100% - 440px) / 100% auto;
}
#thanks.pgs main{
	background: url("../images/top_bg_product.svg") no-repeat center 30vw / 100% auto;
}
.pgs section p:not(:last-child){
  margin-bottom: 30px;
}

/*-- mainTitle --*/
.pgs .mainTitle{
	height: 150px;
}
.pgs .mainTitle h2{
	font-size: 3.6rem;
}


.pgs.term-compressor .mainTitle{
  background: url("../images/bg_title_compressor.png") no-repeat right 10vw top 10px var(--blue)
}

.pgs.term-generator .mainTitle{
  background: url("../images/bg_title_generator.png") no-repeat right 10vw top 10px var(--blue)
}
.pgs.term-air-hose-joint .mainTitle{
  background: url("../images/bg_title_air-hose-joint.png") no-repeat right 10vw top -10px var(--blue)
}
.pgs.term-chiseling-tool .mainTitle{
  background: url("../images/bg_title_chiseling-tool.png") no-repeat right 10vw top -60px var(--blue)
}
.pgs.term-other-air-tools .mainTitle{
  background: url("../images/bg_title_other-air-tools.png") no-repeat right 10vw top -50px var(--blue)
}
.pgs.term-chiseling-drilling-tools .mainTitle{
  background: url("../images/bg_title_chiseling-drilling-tools.png") no-repeat right 10vw top var(--blue)
}
.pgs.term-polishing .mainTitle,
.pgs.term-removal .mainTitle,
.pgs.term-polishing-removal .mainTitle{
  background: url("../images/bg_title_polishing-removal.png") no-repeat right 10vw top -180px var(--blue)
}
.pgs.term-cleaner .mainTitle{
  background: url("../images/bg_title_cleaner.png") no-repeat right 10vw top -80px var(--blue)
}
.pgs.term-hand-crusher .mainTitle{
  background: url("../images/bg_title_hand-crusher.png") no-repeat right 10vw top -30px var(--blue)
}
.pgs.term-splitter .mainTitle{
  background: url("../images/bg_title_splitter.png") no-repeat right 10vw top -5px var(--blue)
}
.pgs.term-power-tools .mainTitle{
  background: url("../images/bg_title_power-tools.png") no-repeat right 10vw top -10px var(--blue)
}
.pgs.term-cutting-tool .mainTitle{
  background: url("../images/bg_title_cutting-tool.png") no-repeat right 10vw top -10px var(--blue)
}
.pgs.term-construction-machinery .mainTitle{
  background: url("../images/bg_title_construction-machinery.png") no-repeat right 0 top -100px var(--blue)
}
.pgs.term-sales-product .mainTitle{
  background: url("../images/bg_title_sales-product.png") no-repeat right 0 top -110px var(--blue)
}

#strength.pgs .mainTitle{
  background: url("../images/bg_title_strength.png") no-repeat right top var(--blue)
}

#service.pgs .mainTitle{
  background: url("../images/bg_title_service.png") no-repeat right top var(--blue);
}

#company.pgs .mainTitle{
  background: url("../images/bg_title_company.png") no-repeat right top var(--blue);
}

#recruit.pgs .mainTitle,
#welfare.pgs .mainTitle,
#data.pgs .mainTitle{
  background: url("../images/bg_title_recruit.png") no-repeat right top var(--blue);
}


.pgs.post-type-archive-products .mainTitle{
  background: url("../images/bg_title_archive-products.png") no-repeat right 0 top 0 var(--blue)
}



/*-- table --*/
.pgs .basicTable dt{
	border-right: 1px dotted var(--blue);
	padding: 15px 2.5%;
	width: 23%;
}
.pgs .basicTable dd{
	padding: 15px 2.5%;
	width: 77%;
}
.pgs .basicTable dt:last-of-type{
	border-bottom: none;
}
.pgs .basicTable dd:last-of-type{
	border-bottom: none;
}

/*-- pgsMenu --*/
.pgsMenu > ul.flex{
  justify-content: center;
  flex-wrap: wrap;
}
.pgsMenu li{
  width: 220px;
  height: 60px;
  padding: 5px;
  text-align: center;
}
.pgsMenu a{
  display: grid;
  place-content: center;
  margin: auto;
  width: 100%;
  height: 100%;
  padding: 10px 5px;
  background: var(--base);
  color: #fff;
  text-align: center;
  line-height: 1.2em;
}
.pgsMenu a:hover{
  opacity: 0.7;
}
.pgsMenu > ul{
  margin-top: 10px;
}

/*-- txt-img box --*/
.pgs .contImgBox{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 40px 4%;
}
.pgs .contImgBox .txts{
	padding-right: 6%;
  width: 60%;
}
.pgs .contImgBox figure{
  width: 40%;
}
.pgs .contImgBox.flexRowReverse .txts{
	padding-right: 0;
	padding-left: 6%;
}
.pgs .contImgBox.bdr{
  border-radius: 30px;
  padding: 40px;
}

/*----*/
.pgs .leadTxt{
	font-size: 2.6rem;
}

/*-- btn --*/
.pgs .btn{
	width: 100%;
	max-width: 380px;
}

/*		anchorLink
-----------------------------*/
.pgs .anchorLink{
	padding: 35px 0 20px;
}
.pgs .anchorLink li{
	margin-bottom: 15px;
	width: calc(100% / 3);
	height: 46px;
}
.pgs .anchorLink li a{
	border-radius: 30px;
	padding: 8px 10px;
	font-size: 1.4rem
}
.pgs .anchorLink li:not(:nth-child(3n)){
	padding-right: 20px;
}

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


/*		#mv
-----------------------------*/
#mv{
}
#mvSlider{
	height: min(45.7vw, 640px);
}
#mvSlider li{/*
	width: min(49.7vw, calc(640px + 60px)) !important;*/
	height: min(45.7vw, 640px);
	padding: 0 min(2vw, 30px);
}
#mv .mvBtn{
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(10vw,140px);
	height: min(10vw,140px);
}

/*		#topNews
-----------------------------*/
#topNews{
	padding: 11px 0;
}
#topNews dt,
#topNews dd li{
	font-size: 1.4rem;
}
#topNews dt{
	padding: 0 26px;
}
#topNews dd{
	padding: 0 24px;
}
#topNews dd .date{
	display: inline-block;
	padding-right: 15px;
}


/*		#topProduct
-----------------------------*/
#topProduct{
	padding: 80px 0 0;
}
.topProductBox .btnWrap.pcFlex{
	margin: 20px 0;
	gap: 0 25px;
}
.productMakerList{
		column-count: 4;
	}

/*		#strengthsList
-----------------------------*/
#topStrengths .h2Tit{
	margin-bottom: 40px;
}
.strengthsList.pcFlex{
	flex-wrap: wrap;
	justify-content: center;
	gap: 37px;
}
.strengthsList.pcFlex li{
	width: calc((100% - 74px)/3);
}
.strengthsList + .btnWrap{
	margin-top: 60px;
}



/*		#topService
-----------------------------*/
#topService {
	        padding-top: 25px;
}
#topService .pcFlex{
	flex-direction: row-reverse;
	justify-content: space-between;
}
#topService .pcFlex .txt{
	width: min(50%,590px);
  margin-top: 50px;
}
.topServiceList li {
	font-size: min(1.86vw, 2.6rem);
}
#topService .pcFlex .img{
	width: min(50%,590px);
}
.topServiceList + .btnWrap{
	margin-top: 40px;
}

/*		#topRecruit
-----------------------------*/
#topRecruit{
	        margin-top: 140px;
	padding-bottom: 140px
}
#topRecruit .pcFlex .txt{
	width: min(42vw,588px);
	height: min(42vw,588px);
	padding: 0 40px;
	display: grid;
	align-items: center;
	transform: translateX(90px);
}
#topRecruit .leadTxt{
	font-size: min(1.85vw,2.7rem);
	letter-spacing: 0.179em;
	text-indent: -.3em;
	line-height: 1.85em;
}
#topRecruit p{
	font-size: min(1.14vw,1.6rem);
}
.topRecruitBtn img{
	width: min(5.1vw,71px);
	height: min(5.1vw,71px);
}
#topRecruit .pcFlex > figure{
	width: min(42vw,588px);
	height: min(42vw,588px);
	border-radius: 22px;
	overflow: hidden;
	transform: translate(30px, -220px);
}
#topRecruit .pcFlex > figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1/1;
}


/* =======================================
	company
========================================== */
#company .anchorLink li{
	margin-bottom: 15px;
	width: calc(100% / 4);
}
#company .anchorLink li{
	padding-right: 20px;
}
#company .anchorLink li:nth-child(4n){
	padding-right: 0px;
}

#companyGreeting .contImgBox{
	align-items: flex-start;
}
#companyGreeting figure{
	transform: translateX(5px);
}
#companyGreeting .txts{
	border-radius: 30px;
  padding: 40px 40px 40px 50px;
	transform: translate(-20px, 30px);
}
#companyGreeting .txts p:last-of-type{
	font-size: 1.8rem;
}
#companyGreeting .txts p:last-of-type span{
	font-size: 2.4rem;
}
#companyAccess .map{
	height: 400px;
}

/* =======================================
	esg
========================================== */
#esgPromotion .propulsionDetail{
	margin: 80px 0 60px;
}
#esgPromotion .propulsionDetail div{
	border-radius: 30px;
  padding: 40px 2.9%;
	width: 32%;
	display: grid;
  grid-template-rows: 170px 100px auto;
}
#esgPromotion .propulsionDetail dl dt{
	border-radius: 90px;
	font-size: 2rem;
	margin: -90px auto 10px;
	padding: 20px 0 30px;
	width: 180px;
	height: 180px;
}
#esgPromotion .propulsionDetail .en{
	font-size: 1.8rem;
}
#esgPromotion .propulsionDetail .en span{
	font-size: 6rem;
}
#esgPromotion .propulsionDetail dl dd{
	font-size: 2rem;
}
#esgPromotion .propulsionDetail ul{
	grid-row-start: 2;
}
#esgPromotion .propulsionDetail figure{
	grid-row-start: 3;
}
#esgPromotion .point01,
#esgPromotion .point02{
	width: 75%;
}
#esgPromotion .point01{
	margin-left: 25%;
}
#esgPromotion .point02{
	margin-left: 0;
}
#esgPromotion .point02 dt img{
	height: 30px;
}
#esgAttempt .contImgBox{
	margin-top: 30px;
}
#esgAttempt .contImgBox .img{
	width: 40%;
}
#esgAttempt .contImgBox figure{
	width: 100%;
}
#esgAttempt .contImgBox .txts{
	margin-top: -20px;
	padding-right: 0;
	padding-left: 6%;
}
#esgAttempt .contImgBox h4{
	font-size: 2.5rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin-bottom: 15px;
}
#esgAttempt .contImgBox h4 span{
	display: block;
	font-size: 10rem;
	font-weight: 500;
	line-height: 1.1;
}

/* =======================================
	strength
========================================== */
#strengthLead{
	padding-bottom: 160px;
}
#strengthLead .contImgBox{
	align-items: flex-start;
}
#strengthLead .contImgBox figure{
	transform: translate(-20px, 0);
	width: min(42vw,450px);
}
#strengthLead .txts{
	border-radius: 30px;
  padding: 40px 40px 40px 50px;
	transform: translate(20px, 60px);
	width: min(58vw,550px);
	position: relative;
	z-index: 2;
}
#strengthLead .txts h3{
	font-size: min(1.7vw,2.7rem);
}
#strengthMerit div{
	margin-bottom: 30px;
	text-align: center;
}
#strengthMerit dl{
	border-radius: 30px;
	width: calc((100% - 40px) / 3);
}
#strengthMerit dl dt{
	border-top-left-radius: 28px;
	border-top-right-radius: 28px;
	font-size: 2rem;
	padding: 20px;
}
#strengthMerit dl dd{
	padding: 20px;
}
#strengthReason .contImgBox{
	margin-top: 30px;
}
#strengthReason .contImgBox:not(:nth-child(odd)) .txts{
	padding-right: 0;
	padding-left: 6%;
}
#strengthReason .contImgBox:nth-child(2n){
	flex-direction: row-reverse;
}
#strengthReason .contImgBox .catchTxt span{
	font-size: 1.6rem;
	padding: 0 20px;
}
#strengthReason .contImgBox h4{
	font-size: 2.4rem;
	margin-bottom: 10px;
}

/* =======================================
	service
========================================== */
#service .anchorLink li{
  width: calc(100% / 3);
}
#service .anchorLink li:not(:nth-child(3n)){
	padding-right: 20px;
}
#service .anchorLink li:nth-child(3) a{
	font-size: 1.3rem;
}
.serviceBox{
	border-radius: 30px;
	margin-top: 50px;
	padding-bottom: 40px;
}
.serviceBox .title{
	border-top-left-radius: 29px;
	border-top-right-radius: 29px;
	padding: 70px 4% 30px;
}
.serviceBox .title::after{
	border-top-left-radius: 29px;
	border-top-right-radius: 29px;
}
#serviceVoice.serviceBox{
	margin-bottom: 100px;
	padding-bottom: 10px;
}
#serviceVoice div:not(.title){
	justify-content: center;
	flex-wrap: wrap;
	padding: 40px 2.4% 10px;
}
#serviceVoice dl{
	display: grid;
	grid-template-rows: 7rem auto;
	margin: 0 1.6% 30px;
	padding: 20px;
	width: 30%;
}
#serviceVoice dl dt{
	display: grid;
	align-items: center;
	font-size: 1.8rem;
	margin-bottom: 10px;
}
#serviceVoice dl dd span{
	display: block;
	margin-top: 10px;
	text-align: right;
}

/* =======================================
	products
========================================== */
#products .productsNote{
	margin-top: 30px;
	padding: 40px 4%;
}
#products .productsNote a.icDl::after{
	width: 20px;
	height: 20px;
	top: calc(50% - 10px);
}

/* sideNav
-------------------------*/
.sideNav{
	margin-top: 30px;
	width: 24%;
	max-width: 220px;
}
.sideNav h3{
	padding: 8px 0.8%;
}
.sideNav ul{
	padding: 15px 6.5%;
}
.sideNav ul li{
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.sideNav ul li:last-child{
	margin-bottom: 0;
}
.sideNav ul li a:not(.btn){
	padding-left: 10px;
}
.sideNav ul li a:not(.btn)::before{
	width: 5px;
	height: 5px;
	top: 0.7em;
}
.sideNav .btn{
	font-size: 1.4rem;
	height: 45px;
	padding-left: 15px;
}
.sideNav .btn::before{
	left: 13%;
}

#productsDetail{
	margin-top: 30px;
	padding: 0 2% 30px;
	width: 76%;
	max-width: 780px;
}
.productList li:not(:first-child){
	margin-top: 50px;
}
.productList li > a{
	padding: 8px 2.5%;
}
.productList li > a::after{
	width: 2px;
	height: 16px;
	right: 27px;
	top: calc(50% - 7px);
}
.productList li > a::before{
	width: 16px;
	height: 2px;
	right: 20px;
	top: 50%;
}
.productList li > a figure{
	margin-right: 10px;
}
.productList li > a figure img{
	height: 67px;
}
.productList h4{
	font-size: 2.4rem;
	margin-top: 30px;
	padding: 0 0 3px 15px;
}
.productList div img{
	max-height: 250px;
}
.productList table th,
.productList table td{
	font-size: 1.4rem;
}
.btn02{
	font-size: 1.7rem;
	margin: 40px auto;
	height: 60px;
  max-width: 380px;
}
.btn02.icArrow::before{
  left: 30px;
}
.productList .attache li{
  margin-right: 15px;
}
.productList .attache li figure{
	width: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.productList .attache li p{
	text-align:left;
	font-size: 1.4rem;
}




/* =======================================
	recruit
========================================== */
.recruitNaviList li:not(:last-child){
	padding-right: 1%;
	max-width: calc((100% - 106px) / 5);
}
.recruitNaviList a.icArrow{
	padding: 0.8em 38px 0.8em 0;
}
.recruitNaviList a.icArrow::after{
	width: 31px;
	height: 31px;
	right: 0px;
	top: calc(50% - 16px);
}
.line.icArrow::after{
	width: 31px;
	height: 31px;
	right: 0px;
	top: calc(50% - 16px);
}
#recruitVoice .txts{
	padding-right: 0;
	padding-left: 6%;
}
#recruitVoice ul li{
	border-radius: 30px;
	padding: 20px 4%;
}
#recruitWork .work01 li{
	height: 400px;
	margin-bottom: 5px;
}
#recruitWork .work01 figure img{
	height: 400px;
	width: 100%;
	object-fit: cover;
}
#recruitWork .work01 dl{
	margin-bottom: 70px;
}
#recruitWork .work01 dl dt{
	font-size: 5.5rem;
}
#recruitWork .work01 dl dd{
	padding-right: 30%;
}
#recruitWork .work01 li:nth-child(even) dl dd{
	padding-right: 0;
	padding-left: 30%;
}
#recruitWork .work02{
	justify-content: space-between;
	margin-top: 50px;
}
#recruitWork .work02 li{
	background: #ccc;
	border-radius: 8px;
	width: 47.3%;
}
#recruitWork .work02 li:nth-child(1){
	margin-right: 5px;
}
#recruitWork .work02 dl{
	margin-bottom: 90px;
	padding: 20px 4%;
}
#recruitWork .work02 dl dt{
	font-size: 2.4rem;
}
#recruitWork .work02 .btnWrap{
	margin-bottom: 30px;
}
#recruitWork .btn{
	max-width: 253px;
}

/*	welfare
-----------------------------*/
#welfareLead{
	padding: 100px 0 !important;
}
#welfareLead p{
	text-align: center;
}
#welfareLead .catchTxt span{
	font-size: 1.6rem;
  padding: 0 20px;
}
#welfareLead .catchTxt span::before{
	width: 10px;
	height: 2em;
	top: -0.25em;
	left: 0;
}
#welfareLead .catchTxt span::after{
	width: 10px;
	height: 2em;
	top: -0.25em;
	right: 0;
}
#welfareLead .txts{
	padding-right: 2% !important;
	width: 52% !important;
}
#welfareLead figure{
	grid-template-columns: 50px 220px auto;
	grid-template-rows: 220px auto;
	width: 48% !important;
}
#welfareEducation .contImgBox{
	margin-top: 30px;
}
#welfareEducation .contImgBox:nth-child(odd){
	flex-direction: row-reverse;
}
#welfareEducation .contImgBox:not(:nth-child(odd)) .txts{
	padding-right: 0;
	padding-left: 6%;
}

#welfareList .h4Tit{
	border-radius: 30px;
	padding: 40px 0 60px;
	width: 45%;
}
#welfareList ul{
	border-radius: 30px;
	margin-top: -50px;
	padding: 40px min(40px,3.75%) 25px;
	width: 90%;
}
#welfareList .list01,
#welfareList .list02{
	padding-bottom: 15px;
}
#welfareList .list01 li{
	margin: 0 1.5% 25px;
	width: calc((100% - 150px) / 5);
}
#welfareList .list02 li{
	margin: 0 1% 25px;
	width: calc((100% - 150px) / 7);
}
#welfareList .list01 li figure,
#welfareList .list02 li figure{
	width: 70px;
	height: 70px;
}
#welfareList .list03 li{
	margin: 0 2.5%;
	width: 36.7%;
}
#welfareList .list03 .note{
	margin-top: 10px;
	text-align: center;
}
#welfare .entryBox{
	padding: 40px 0;
}
#welfare .entryBox li{
	margin: 0 3%;
	width: 50%;
}
#welfare .entryBox .note{
	margin-top: 10px;
}

/*	number
-----------------------------*/
#numberDetail .data01,
#numberDetail .data02{
	justify-content: space-between;
}
#numberDetail .data01 > div,
#numberDetail .data02 > div{
	display: grid;
  padding: 40px min(40px,3.75%);
}
#numberDetail .data01 > div{

	width: 48%;
}
#numberDetail .data02 div{
	grid-template-rows: auto 180px 70px;
}
#numberDetail h4{
	font-size: 2.4rem;
	margin-bottom: 15px;
}
#numberDetail figure{
	grid-row-start: 2;
}
#numberDetail .data01 li{
	width: 50%;
}
#numberDetail .data01 li span{
	display: block;
	font-size: 2rem;
}
#numberDetail .data02{
	flex-wrap: wrap;
}
#numberDetail .data02 > div{
	margin-top: 40px;
	width: 31%;
}
#numberDetail .data01 li,
#numberDetail p{
	font-size: 6rem;
	font-weight: 700;
}
#numberDetail .data01 li span,
#numberDetail p span:not(.note){
	display: inline-block;
	font-size: 4rem;
}
#numberDetail .data01 li .txtS{
	font-size: 2rem;
}
#numberDetail .data02 ul{
	margin: 0 auto 20px;
	max-width: 60%;
}
#numberDetail .data02 div:nth-child(6) ul{
	max-width: 100%;
}


/* =======================================
	news
========================================== */
/*		一覧
-----------------------------*/
.articleBox{
	padding-bottom: 40px;
}
.articleBox + .articleBox{
  margin-top: 40px;
}
.articleBox dd{
  display: flex;
}
.articleBox dd span{
	display: block;
}
.articleBox figure{
	margin-left: 5%;
  width: max(400px, 30%);
}

/*		single
-----------------------------*/
.newsEntry h3{
  border-bottom: 2px solid var(--base);
}
.newsEntryBox.pcFlex figure{
  width: 25%;
  margin-right: 3%;
}

/* =======================================
	contact
========================================== */
#contactInfo .contactTel{
	border-radius: 30px;
	margin-top: 50px;
  padding: 40px;
}
#contactInfo .contactTel p{
	font-size: 5rem;
	padding-left: 55px;
}
#contactInfo .contactTel p::before{
	width: 45px;
	height: 45px;
	top: calc(50% - 27px);
}
#contactInfo .contactTel .time{
	font-size: 1.6rem;
}
#mailformpro .radiobtn{
	width: 1.2em;
}

/* =======================================
	form
========================================== */
.tb_cont th{
	border-bottom: 1px solid var(--wh);
	padding: 15px 2.5%;
	width: 23%;
}
.tb_cont td{
	border-bottom: 1px solid var(--base);
	padding: 15px 2.5%;
	width: 77%;
}
.tb_cont td input{
	padding: 8px;
	width: 80%;
}
.tb_cont td textarea{
	padding: 8px;
	width: 80%;
	height: 100px;
}
.tb_cont .hissu{
	padding: 3px 3%;
}
.tb_cont .zip{
	margin-right: 10px;
	width: 20%;
}
.tb_cont .zipBtn{
	font-size: 1.4rem;
	padding: 10px 14px;
}
.tb_cont .w50{
	width: 58%;
}
.tb_cont .fileBtn li{
	width: 33%;
}
.confirm {
  margin-top: 40px;
}

/* =======================================
	privacypolicy
========================================== */
#privacyMain > div{
	padding: 40px 4%;
}
#privacyMain h4{
	margin-top: 30px;
}
#privacyMain p:not(:last-child){
	margin-bottom: 10px !important;
}