@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Zen+Old+Mincho:wght@400;500;700&display=swap');



/*
Theme Name: EIWA
Author: BikouDesign
Version: 1.0
*/



/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}
*{
 box-sizing: border-box;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}


/************** layout base ********************/

:root {
  --base: #004080;
  --blue: #3b83e4;
  --aqua: #6eb5f7;
  --bgblue: #eef7ff;
  --grey: #aaaaaa;
   --red: #e83416;
  --green: #83b82b;
  --bggreen: #d5e0c4
}

.clearfix{
overflow:hidden;
}


a{
  color:#000;
	text-decoration:none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover{opacity: .7}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}
.f20{ font-size:20px !important;}
.f22{ font-size:22px !important;}
.f24{ font-size:24px !important;}

.note{  font-size:10px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}
.mTop60{ margin-top:60px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.mR0{ margin-right:0 !important;}
.mR5{ margin-right:5px !important;}
.mR10{ margin-right:10px !important;}
.mR15{ margin-right:15px !important;}
.mR20{ margin-right:20px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}
.pLR20{
 padding-left: 20px;
 padding-right: 20px;
}
.pA20{
  padding: 20px
}

.flex{	
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
}
@media screen and (min-width: 769px) {
.pcflex{
 display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
 flex-flow: row wrap;
justify-content: space-between;
 }
.spOnly{ display:none; }

}/*-PC only-*/
@media screen and (max-width: 768px) {
	body{	
-webkit-text-size-adjust: 100%;
	}
img{
	max-width:100%;
	height: auto;
 }
 .pcOnly{ display:none;}
.spLR20{
 padding-left: 20px;
 padding-right: 20px;
}
}/*SP only*/

/************** layout base ********************/
body{  
font-size: 14px;
position: relative;
background:#ffffff;
text-align:center;
font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
line-height:1.5;
}
.fontMin{font-family: "Zen Old Mincho", "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Times New Roman" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}


main{
 overflow: hidden;
}
div,p,dl{
text-align:left;
}

p,dt,dd,li,td,th,input{
color:#000;
line-height:1.5;
 letter-spacing: 0.08em;
 font-weight: 400;
}
h1,h2,h3,h4,h5,h6{
color:#000;
 font-weight: 600;
 line-height: 1.2;
 text-align: left;
}


h1{font-size: 32px;}
h2{font-size: 28px;}
h3{font-size: 22px;}
h4{font-size: 18px;}
h5{font-size: 16px;}


/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentTxt{
 padding-left: 1em;
 text-indent: -1em;
}

.noteList li{
 position: relative;
 padding-left: 27px;
 text-align: left;
}
.noteList li::before{
 content: "";
 display: block;
 border-radius: 50%;
 background: #72af43;
 width: 10px;
 height: 10px;
 position: absolute;
 top: 0.55em;
 left: 0;
}
.noteList li + li{
 margin-top: 2em;
}

/*****************  head ***********************/

.pgs header {
  width: 100%; 
  position: fixed;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid #ddd;
  margin-bottom: 1px
}

#top .headBtns{
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%
}
.headBtns li{
  width: 50%;
  text-align: center;
}

.headBtns li a{
  color: #fff;
  display: block;
  padding: 2em 1em;
}


.headBtns li.recruitBtn a{
  background: var(--base);
}

.headBtns li.contactBtn a{
  background: var(--blue);
}

/*****************  footContact ***********************/
.footContact{
  padding: 20px 0 80px;
  background: #285d91;
}
.footContact h2{
  color: #fff;
  text-align: center;
}
.footContact a{
  position: relative;
  width: 320px;
  height: 100px;
  padding: 5px 20px;
  display: grid;
  place-content: center;
  border: 1px solid var(--blue);
  background: var(--blue);
  text-align: center;
  border-radius: 4px;
  font-weight: 600;
  color: #fff;
}
.footContact .tel a span{
  background: url("common/images/ic_tel.svg") no-repeat left center/ 30px auto;
  padding-left: 30px;
  font-size: 34px;
}
.footContact .telTime{
  font-size: 16px;
  text-align: center;
  margin-top: 10px;
  color: #fff;
}
.footContact .email a span{
  background: url("common/images/ic_email.svg") no-repeat left center/ 30px auto;
  padding-left: 40px;
  font-size: 20px;
}
/*.email a:after{  
  content: '';
  display: block;
  width: 30px;
  height: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: skew(45deg);
  position: absolute;
  right: 10px;
  top: 40%;
}*/

.relatedLinks .flex{
  margin: 40px 0;
  justify-content: center;
  gap: 20px 2%;
}
.relatedLinks .flex li{
  width: min(48%, 235px);
}
.relatedLinks .assembly{
  background: rgba(174, 212, 241, 0.4);
}
.relatedLinks .sales{
  background: rgba(168, 209, 130, 0.4);
}
.relatedLinks .agri{
  background: rgba(253, 210, 62, 0.4);
}
.relatedLinks .architectural{
  background: rgba(228, 184, 213, 0.4);
}

.relatedLinks .flex li a figcaption{
  position: relative;
  padding: 0.8em;
  font-size: 13px;
}
.relatedLinks .flex li a figcaption::after{
  position: absolute;
  right: 10px;
  top: 50%;
  content: '';
  display: block;
  width: 30px;
  height: 5px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: skew(45deg) translateY(-50%);
}


/*****************  footer ***********************/

#pageTop{
  position: absolute;
  right:50px;
  bottom:50px;
  cursor: pointer;
  border: 1px solid var(--blue);
  border-radius: 100%;
  text-align: center;
  color: var(--blue);
  background: #fff;
  font-size: 10px;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#pageTop span{
  display: block;
  font-size: 18px;
}

footer{
  background: var(--base);
    
}
footer a,
footer p{
  color:#fff;
  font-size: 14px;
}
footer li:before{
  content: '■';
  color: #fff;
  font-size: 8px;
  margin-right:4px;
}

footer .sub li:before{
  content: '-';
  font-size: 10px;
  margin-right:2px;
}

footer copy{
  text-align: center;
  font-size: 10px;
  color: #fff;
}
/*****************  common ***********************/

.bggreen{
  background-color: var(--bggreen)
}
.sqareBtn{
  border: 1px solid var(--blue);
  text-align: center;
  border-radius: 4px;
  font-weight: 600;
  height: 3em;
  display: inline-flex;
  align-items: center;
  background: #fff;
  justify-content: center;
  color: var(--blue);
  position: relative;
  padding: 0 50px 0 40px
}

.sqareBtn.green{
  color: var(--green);
   border: 1px solid var(--green);
}

.sqareBtn:after{
  content: '';
  display: block;
  width: 30px;
  height: 5px;
  border-right: 1px solid var(--blue);
  border-bottom: 1px solid var(--blue);
  transform: skew(45deg);
  position: absolute;
  right:10px;
  top:40%
}
.sqareBtn.green:after{
  border-right: 1px solid var(--green);
  border-bottom: 1px solid var(--green);
}
.fadeIn_up {
  opacity: 0.3;
transition: 1s;
  margin-top: 50px;
}
.fadeIn_up.is-show {
margin-top: 0;
opacity: 1
}

/*****************  TOP ***********************/
#topLead{
  background: var(--aqua);
}

#topLead h2{
  color:  #fff;
}

#topLead h3{
  color:  #c21212;
  border-bottom: 1px solid var(--red);
  padding-bottom: 26px;
}

#topWorks .inner1000{
  background: url("common/images/bg_top_business.png") no-repeat;
  background-size: contain;
}
#topWorks .inner1000 ul.flex{
  justify-content: space-between;
}
#topWorks .inner1000 li{
  background: var(--bgblue);
}

#topWorks .inner1000 li span{
  font-size: 16px;
  color: var(--blue);
  display: flex;
  position: relative;
  font-weight: bold;
  height: 5em;
  align-items: center;
  justify-content: space-between
}

#topWorks .inner1000 li span:after{
  content: '';
  display: block;
  width: 30px;
  height: 5px;
  border-right: 1px solid var(--blue);
  border-bottom: 1px solid var(--blue);
  transform: skew(45deg);
}

#topNews{
  background: url("common/images/bg_news.jpg");
}
#topNews ul li{
  display: flex;
  line-height: 1.6;
}

#topNews ul li span{
  display: block;
  margin-right: 15px;
}

#topNews ul li:before{
  content: '■';
  color: var(--red);
  font-size: 10px;
  margin-right:10px;
  margin-top: 5px;
}


/*****************  PGS common ***********************/
.pgs main{
  margin-top: 90px;
  background: rgba(209,209,209,.3)
}
.pgs h1{
  background: var(--base);
  /*color: #fff;*/
  padding: 3em 0;
}
.pgs h1{
  position: relative;
  background: var(--blue);
  font-size: min(6vw, 32px);
  z-index: 1;
}
.pgs h1 span{
  position: relative;
  text-shadow:0px 0px 8px #fff;
  z-index: 2;
}
.pgs h1::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  height: 100%;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}

.pgs h1 span{
  width: 96%;
  max-width: 1000px;
  display: block;
  margin: 0 auto
}

.pgs .anchorWrap dt{
  position: relative;
  display: grid;
  align-items: center;
  height: 60px;
  background: var(--bgblue);  
  padding-left: min(35%, 220px);
  color: var(--blue);
}
.pgs .anchorWrap dt::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: min(30%, 200px);
}
.pgs .anchorWrap .anchorSales dt::before{
  background: url("common/images/sales_mv.jpg") no-repeat center / cover;
}
.pgs .anchorWrap .anchorPetcare dt::before{
  background: url("common/images/petcare_mv.jpg") no-repeat center / cover;
}
.pgs .anchorWrap dd{
  padding: 20px 0;
}
.pgs .anchor{
  display: flex;
  justify-content: center;
  gap: 20px 5%;
  margin-bottom: 40px
}
.pgs .anchor li{
  width: calc((100% - 10%)/3);
}
.pgs .anchor li a{
  position: relative;
  display: grid;
  place-content: center;
  border-bottom: 1px solid var(--blue);
  height: 50px;
  padding: 5px 16px 5px 0;
  text-align: center;
  font-size: 14px;
}

.pgs .anchor li a:before{
  position: absolute;
  right: 5px;
  top: 50%;
	content: "";
	display: block;
	border-style: solid;
	border-color: var(--blue);	
	border-width: 0 1px 1px 0;
	width: 7px;
	height: 7px;
	-webkit-transform: rotate(45deg) translateY(-50%);
   transform: rotate(45deg) translateY(-50%);
}


.pgs section .inner1000 h2:not(.egSubTi){
  margin: -7% 0 3% -8%;
  background: var(--aqua);
  padding:.5em;
  color: #fff;
  border-top: 5px solid var(--blue);
  letter-spacing: .01em;
  
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.pgs section .inner1000 h2:not(.egSubTi){
}


.pgs .bdtitle{
  color: var(--blue);
  border-bottom: 1px solid  var(--blue);
  padding: 10px;
}

.pgs .bdtitle.green{
  color: var(--green);
  border-bottom: 1px solid  var(--green);
  padding: 10px;
}

.pgs section .inner1000.flex{
  flex-flow: row nowrap;
}

.pgs section .innerBox{
  width: 100%;
}


.pgs section .basicTable tr{
  border-bottom: 1px solid #ddd;
}

.pgs section .basicTable td,
.pgs section .basicTable th{
  padding: 15px 20px
}
.pgs section .basicTable th{
  border-bottom: 2px solid var(--blue);
}


.column4{
  gap:20px
}
.column4 li{
  width: calc(25% - 20px)
}

/*lead*/
.lead{
  font-size: 1.2em;
  font-weight: 700;
}
.lead span{
  display: inline-block;
  border-top: var(--grey) 1px solid;
  margin: 0.5em 0 0;
  padding: 0.5em 0 0;
}

/*txtRed*/
.txtRed{
  color: var(--red);
}
.note{

}

/*txtImgBox*/
.txtImgBox figure,
.txtImgBox .img{
  text-align: center;
}
.txtImgBox figure img,
.txtImgBox .img img{
  margin: 0 auto;
}
.txtImgBox + .txtImgBox{
  margin-top: 40px;
}

/*numList*/
.numList{
	counter-reset: li;
}
.numList li{
  position: relative;
  padding: 0.4em 0 0.4em 2.2em;
}
.numList li::before{
  position: absolute;
  left: 0;
	counter-increment: li;
	content: counter(li);
  display: grid;
  place-content: center;
  color: #fff;
  border-radius: 50%;
  width: 1.8em;
  height: 1.8em;
  background: #FABE00;
}

/*rBox*/
.rBox{
  padding: 15px 20px;
  border-radius: 10px;
  border: 1px solid var(--grey);
  background: #fff;
}

/*tabWrap*/
.tabWrap{
  margin: 30px 0;
  border: 1px solid var(--grey);
}
.tabWrap dt{
  position: relative;
  width: 100%;
  padding: 0.6em 3em 0.6em 1em;
  cursor: pointer;
  font-size: 14px;
}
.tabWrap dt span{
  cursor: pointer;
  font-size: 20px;
}
.tabWrap dt::before,
.tabWrap dt::after{
  position: absolute;
  right: 20px;
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: var(--grey);
  transition: transform 0.3s;
}
.tabWrap dt:not(.open)::before{
  transform: rotate(90deg);
}
.tabWrap dt::after{
}
.tabWrap dd{
  padding: 20px;
  transition: display 1s;
  display: block;
  border-top: dashed 1px var(--grey);
}
.tabWrap dd:not(.open){
  display: none;
  transition: display 1s;
}



/*****************  PGS H1 ***********************/
.pgs#about h1::after{
  background-image: url("common/images/bg_about_ttl.jpg");
  width: 100%
}
.pgs#agri h1{
  background: #FDD23E;
}
.pgs#architectural h1{
  background: #E4B8D5;
}
.pgs#architectural h1::after {
  background-image: url(common/images/architectural_mv.jpg);
}
.pgs#assembly h1{
  background: #AED4F1;
}
.pgs#assembly h1::after{
  background-image: url("common/images/assembly_mv_b.jpg");
}
.pgs#philosophy h1::after{
  background-image: url("common/images/bg_philosophy_ttl.jpg");
  width: 100%
}
.pgs#petcare h1,
.pgs#sales h1{
  background: #A8D182;
}
.pgs#petcare h1::after{
  background-image: url("common/images/petcare_mv.jpg");
}
.pgs#sales h1::after{
  background-image: url("common/images/sales_mv.jpg");
}

/*****************  PGS Hx ***********************/
h3.topbdr{
  position: relative
}
h3.topbdr:before{
  position: absolute;
  width: 80px;
  height: 5px;
  background:  var(--blue);
  display: block;
  content: '';
  top: -10px;
  left:0;
}


/*-----------------------------
		#about
-----------------------------*/

#history dl{
  border-bottom: 1px solid #ddd;
  padding: 10px;
  display: flex;
  position: relative;
  margin-bottom: 40px;
}
#history dl:after{
  background: #ddd;
  height: calc(tan(60deg) * 20px / 2);
  width: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  display: block;
  position: absolute;
  bottom: -20px;
  left:20%
}
#history dl:last-child:after{
  display: none
}

#history dl dt{
  background: var(--bgblue);
  padding: 10px
}

#history dl dd{
  padding: 10px;
}

#location .hub{
  margin-top: 30px;
  margin-bottom: 80px
}

#location .hub h4{
  color: var(--blue);
  padding: 10px;
  background: var(--bgblue);
}
#location .hub figure{
  margin-right: 20px;
   background: var(--bgblue);
  padding: 10px 10px 10px 0;
}

/*-----------------------------
		philosophy
-----------------------------*/
#philosophy #message .innerBox p{
  line-height: 3;
  padding-top: 20px;
  text-decoration: underline;
  font-size: min(4vw, 22px);
  text-align: center;
}
.pgs#philosophy section#message .inner1000{
  background:url("common/images/bg_philosophy_msg@2x.png") no-repeat;
  background-size: cover;
  background-position: 10px 0 ;

}

#philosophy #creed h3{
  font-size: 28px;
  font-weight: 700;
  margin: 30px;
  padding-bottom: 10px;
  border-bottom: 5px dotted var(--red);
  text-align: center;
    color:var(--red);
}

#philosophy #creed p{
  font-size: 18px;
  line-height: 2;
  margin: 0 min(5.3vw, 50px) min(5.3vw, 50px);
}

#basepolicy .innerBox li,
#co-policy .innerBox li{
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 10px;
}


/*-----------------------------
		work/agri
-----------------------------*/
.pgs#agri h1::after {
  background-image: url(common/images/agri_mv.jpg);
}
/*info.css*/
.pgs#agri h1::after{
  border-bottom: none;
  margin-right: auto;
}

/*#agriMV*/
#agriMV .inner1000{
  position: relative;
}
#agriMV .txts{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#agriMV .txts h2{
  background: #FDD23E;
  width: 3em;
  padding: 0.5em;
  color: #fff;
}
#agriMV .leadTxt{
  padding: 1em;
  font-weight: bold;
}
#agriMV .leadTxt span{
  display: block;
}
#agriMV .jas{
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 10px;
}


#agri h2.egSubTi{
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  writing-mode: horizontal-tb;
}
#agri h2.egSubTi:has(img){
  margin-bottom: 10px;
  margin-left: min(-6vw, -30px);
}
#agri h2.egSubTi img{
  width: 85px;
  height: auto;
}
#agri .txtImgBox + h3{
  margin-top: 40px;
}
#agri h3.flex{
  align-items: center;
  gap: 10px;
}
#agri h3 .jas{
  width: 106px;
  border: none
}
#agri h3 .jas img + img{
  margin-top: 5px;
}
#agri h2 span,
#agri h3 span{
  display: inline-block;
  border-bottom: #006935 1px solid;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0 0 0.5em;
  color: #006935;
}

#eg-farm01Jas figcaption::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-bottom: 8px #529e38 solid;
  margin: 0 auto 6px;
}

#eg-farm02 .txtImgBox figure.flex{
  flex-wrap: nowrap;
  gap: 5px;
}
#eg-farm02 .txtImgBox figure img:nth-of-type(1){
  width: calc(100%*63/106);
}
#eg-farm02 .txtImgBox figure img:nth-of-type(2){
  width: calc(100%*38/106);
}

.eg-farm02IcWrap{
  margin-top: 30px;
  margin-bottom: 40px;
}
#eg-farm02 .sdgsList.flex{
  flex-wrap: nowrap;
  gap: 5px;
}
#eg-farm02 .sdgsList li:first-child{
  width: calc(100%*137/497);
}
#eg-farm02 .sdgsList li:not(:first-child){
  width: calc(100%*72/497);
}
.megumiWrap{}
.flex.megumi{
  flex-wrap: nowrap;
  flex-direction: row-reverse;
  align-items: start;
  border: 1px solid var(--green);
  padding: 10px 15px;
}
.flex.megumi img{
  width: 38%;
  margin-left: 2%;
}
.flex.megumi figcaption{
  font-size: 13px;
}
.megumiWrap .note{
  text-align: right;
  font-size: 12px;
}

#eg-farm04 h4{
  margin-bottom: 0.5em;
}
.eg-farm04ImgBox + h4{
  margin-top: 40px;
}
.eg-farm04ImgBox.flex{
  width: 100%;
  flex-wrap: nowrap;
  gap: 10px;
}
.eg-farm04ImgBox.flex img{
  width: calc((100% - 20px)/3);
}
.eg-farm04ImgBox.flex.col4 img{
  width: calc((100% - 30px)/4);
}

#agriSpecial{
  background: #fff;
}
#agriSpecial .inner{
  max-width: 1000px;
  margin: 0 auto;
}
.agriSpecialBox h2{
  margin-bottom: 45px;
  color: #333333;
  font-size: 30px;
  text-align: center;
}
.agriSpecialBox .tabArea{
  background: rgba(209, 209, 209, .3);
}

 .pgs section .tab.inner1000{
  padding: 0;
 }
 .tab li{
  width: 100% !important;
 }
@media screen and (max-width: 900px) {
  #agriSpecial .inner{
    width: 94%;
  }
  .agriSpecialBox h2{
    margin-bottom: 30px;
    font-size: 20px;
  }
  .tab li{
    margin-bottom: 0 !important;
  }
}/* //end for SP */
@media screen and (min-width: 901px) {
  .pgs section.eg-farmBox .inner1000 {
      max-width: calc(100% - 6vw);
  }
}/* //end for PC */


/*.infoList li .infoTxt a.btn01*/
.btn01{
 position: relative;
 display: block;
 border-radius: 100px;
 border: 1px #333333 solid;
 max-width: 206px;
 padding: 14px 10px;
 color: #333;
 font-size: 16px;
 font-weight: bold;
 text-align: center;
 line-height: 1.4;
}
.btn01::before,
.btn01::after{
 content: "";
 display: block;
 position: absolute;
 margin: auto;
 top: 0;
 bottom: 0;
}
.btn01::before{
 background: #333;
 width: 28px;
 height: 1px;
 right: 28px;
}
.btn01::after{
 background: #333;
 width: 7px;
 height: 1px;
 -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 transform-origin: right bottom 0;
 position: absolute;
 right: 28px;
}


.bnrWrap{
  margin: 4em auto;

}


/*-----------------------------
		work/architectural
-----------------------------*/
#architectural.pgs section .inner1000 h2{
  background: #E4B8D5;
  border-color: #ca67a4;
}
#architectural h3 span{
  display: inline-block;
  border-bottom: #ca67a4 1px solid;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0 0 0.5em;
  width: 100%;
}

#architectural01 .pcflex figure{
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
#architectural01 .pcflex figure img{
  width: calc((100% - 20px)/3);
}
#architectural02 .pcFlex.renovbox figure{
  text-align: center;
}
#architectural02 .renovbox figure img{
  width: min(100%, 260px);
  margin: 0 auto;
}
#architectural02 .renovExample h3{}
#architectural02 .sdgsList {
  gap: 5px;
}
#architectural02 .renovExampletBox{
  margin-top: 30px;
}
#architectural02 .renovExampletBox dt{
  background: #E4B8D5;
  margin-bottom: 10px;
  padding: 0.4em 0.8em;
}
#architectural02 .renovExampletBox dd{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
}
#architectural02 .renovExampletBox dd{
  padding-bottom: 40px;
}
#architectural02 .renovExampletBox figure{
  position: relative;
}
#architectural02 .renovExampletBox figure img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: auto;
}
#plastic .txtImgBox figure img{
  max-height: 240px;
}

/*-----------------------------
		work/assembly
-----------------------------*/
#assemblyFeature .featureList{
  flex-wrap: wrap;
}
#assemblyFeature .featureList li dl{
  margin: 0 auto;
  display: block;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: var(--blue);
  overflow: hidden;
}
#assemblyFeature .featureList li dl dt{
  background: var(--base);
  display: grid;
  place-content: center;
  padding-top: 1em;
  height: 120px;
  font-size: 28px;
  line-height: 1.1em;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
#assemblyFeature .featureList li dl dd{
  display: grid;
  place-content: center;
  padding-bottom: 2em;
  height: 120px;
}
#assemblyFeature .featureList li dl dd li,
#assemblyFeature .featureList li dl dd p{
  color: #fff;
  font-size: 16px;
}
.assemblyIntroduceBox h3{
  color: var(--base);
}
.assemblyIntroduceBox.packingBox h3{
  color: var(--green);
}

.flowList li{
  overflow: hidden;
}
.flowList li div{
  display: grid;
  place-content: center;
  border: 2px solid var(--base);
  border-radius: 4px;
  height: 100px;
}
.flowList li:nth-child(1) div{
  background: #fff;
}
.flowList li:nth-child(2) div,
.flowList li:nth-child(3) div{
  position: relative;
  background: var(--base);
  color: #fff;
}
.flowList li:nth-child(4) div{
  background: var(--base);
  color: #fff;
}

.packingBox .flowList li div{
  border: 2px solid var(--green);
}
.packingBox .flowList li:nth-child(2) div,
.packingBox .flowList li:nth-child(3) div{
  background: var(--green);
}
.packingBox .flowList li:nth-child(4) div{
  background: var(--green);
}

.tabWrap dd figure {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
  .tabWrap dd figure img{
  width: 40%;
}



/*-----------------------------
		work/sales
-----------------------------*/
#sewing .featureList.flex{
  justify-content: center;
  gap: 0 5%;
}
#sewing .featureList li{
  border-radius: 50%;
  display: grid;
  place-content: center;
  width: 140px;
  height: 140px;
  background: #A8D182;
}
#sewing .featureList li div{
  display: grid;
  place-content: center;
  border-radius: 50%;
  width: 120px;
  height: 120px;
  border: 5px solid #fff;
  text-align: center;
}
#sewing .rBox{
  margin: 30px 0 ;
}

.sewingEquipmentBox{
  margin-top: 30px;
}
.sewingEquipmentBox dt{
  background: #A8D182;
  margin-bottom: 10px;
  padding: 0.4em 0.8em;
}
.sewingEquipmentBox dd{
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
}
.sewingEquipmentBox dd{
  padding-bottom: 40px;
}
.sewingEquipmentBox figure{
  position: relative;
  background: #dddddd;
  width: calc((100% - 6%) / 4);
}
.sewingEquipmentBox figure img{
  width: 100%;
  height: 185px;
  object-fit: contain;
  margin: auto;
}
.sewingEquipmentBox figure figcaption{/*
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;*/
  background: #dddddd;
  padding: 0.4em 0.8em;
}
#plastic .txtImgBox figure img{
  max-height: 240px;
}

.packagingList{
  margin-top: 5px;
}
.packagingList li{
  margin-right: 1em;
}
.packagingList li::before{
  content: "・";
}
.packagingImgBox{
  margin-top: 20px;
  gap: 10px 2%;
  justify-content: center;
}
.packagingImgBox img{
  width: 172px;
}



/*-----------------------------
		petcare
-----------------------------*/
#surelinpu h3{
  margin: 60px 0 20px;
}

#surelinpu h3.surelinpuTit:before{
  display: none;
}

.surelinpuTitWrap{
  position: relative;
}
.surelinpuInfo{
  position: absolute;
  width: 100%;
  justify-content: flex-end;
  align-items: flex-start;
}
.surelinpuInfo p{
  background: #A8D182
}
.surelinpuInfo figure{
  margin-left: 20px;
  width: 100px;
}
.surelinpuInfo figure figcaption{
  text-align: center;
  font-size: 13px;
}
.surelinpuTit{
  align-items: flex-end;
}
.surelinpuTit img{
  height: 100px;
  margin-right: 1em;
}
.surelinpuTit > span{
  display: block;
  font-size: 16px;
}
.surelinpuTit > span span{
  display: block;
  margin-bottom: 12px;
  font-size: 1.8em;
}

.itemListWrap.flex{
  margin-top: 30px;
  justify-content: center;
  gap: 30px 4%;
}
.itemListWrap.flex .flex{
  align-items: flex-end;
}
.itemList li figure{
  width: 120px;
}
.itemList li img{
  margin: 0 auto;
}
.itemList li figcaption{
  padding: 44px 0 0 0;
  background: url("common/images/petcare_howto_limpu_txt2.png") no-repeat center top / 100px 42px;
  font-size: 10px;
  letter-spacing: 0;
  text-align: center;
}
.icSkincare,
.icEarcare{
  position: relative;
}
.icSkincare::before,
.icEarcare::before{
  position: absolute;
  top: 12px;
  left: -5%;
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  font-size: 0;
}
.icSkincare::before{
  background: url("common/images/petcare_surelinpu_ic_skin.svg") no-repeat center center / 100% 100%;
}
.icEarcare::before{
  background: url("common/images/petcare_surelinpu_ic_ear.svg") no-repeat center center / 100% 100%;
}
.icPro{
  position: relative;
}
.icPro::before{
  position: absolute;
  top: 0;
  left: -5%;
  content: "業務用";
  display: block;
  width: 6em;
  font-size: 12px;
  text-align: center;
}


.howtoWrap{
  margin: 30px 0 0 0;
}
.howtoWrap .howtoBox dt{
  font-weight: bold;
}


/*-----------------------------
		other
-----------------------------*/
#other h3{
  margin: 60px 0 20px;
}
.itemLead{

}
.itemLead figure{
  max-width: 30%;
  
}

.itemLead .leadTxt{
  max-width: 68%;
  margin-left: 30px
}