@charset "UTF-8";

#anch01,#anch03,#anch05,#anch07,#anch09 { background: #fff; }
#anch02,#anch04,#anch06,#anch08 { background: #fcfff7;}
#anch01 { padding: 10px 0; position: relative; z-index: 3;}

.dodBg01 { position: absolute; right: -20vw; top: -10vh; width: 35vw; opacity: 0.5; z-index: 2;}
.dodBg02 { position: absolute; left: -20vw; bottom: -10vh; width: 35vw; transform: rotate(180deg); opacity: 0.5; z-index: 2;}
.dodBg03 { position: absolute; right: -20vw; top: 50%; width: 50vw; opacity: 0.5; z-index: 2;}
@media screen and (max-width: 599px) {	
	.dodBg03 { position: absolute; top: 75%; }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
	.dodBg03 { position: absolute; right: -20vw; width: 60vw; opacity: 0.5;}
}
.sec-ovry {
	position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.5; z-index: 1;
	background-image: linear-gradient(45deg, rgba(0, 0, 0, .7) 50%, rgba(0, 0, 0, .9) 50%);
	background-size: 4px 4px;
}
@media screen and (max-width: 599px) {	
	#anch03,#anch04 { padding:6%; }
	.dodBg01 { position: absolute; right: -50vw; top: -10vh; width: 100vw; opacity: 0.5;}
	.dodBg02 { position: absolute; left: -40vw; bottom: -10vh; width: 80vw; transform: rotate(180deg); opacity: 0.5;}
	
	.flexThird { }
	.flexThird li { wposition: relative; margin-bottom: 20px; }
	.flexThird li:last-child { margin-bottom: 0px; }
	.flexThird li .fFooter { position: absolute; left: 0; bottom: 0;  background: rgba(0,0,0,0.9); padding: 4%; }
	.flexThird li h4 { color: var(--base-color); margin-bottom: 10px; letter-spacing: 0.5em;text-align: center; font-size: 1.1rem; font-weight: bold; }
	.flexThird li p { color: #000; margin-bottom: 0px; font-size: 0.9rem;  }
	.flexThird li .icon { width: 40%; margin: 0 auto 20px; }
	
	.flexThird li ul li { padding-left: 1em; text-indent: -1em; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px dotted #dedede; font-size: 0.8rem; }
	.flexThird li ul li:before { content: "・"; }
	.flexThird li h4 { text-align: center; font-weight: bold; font-size: 1.0rem; margin-bottom: 10px; }
	.flexThird li h5 { text-align: center;  margin-bottom: 10px; font-size: 0.8rem; }
	.flexThird li dl { margin-bottom: 10px; }
	.flexThird li dl dt { background: var(--base-color); color: #fff; text-align: center; padding: 5px 0; margin-bottom: 10px; font-size: 0.8rem; }
	.flexThird li dl dd { text-align: center; font-size: 1.1rem; }
	
	.flexFourth { }
	.flexFourth li { wposition: relative; margin-bottom: 20px; }
	.flexFourth li:last-child { margin-bottom: 0px; }
	.flexFourth li .fFooter { position: absolute; left: 0; bottom: 0;  background: rgba(0,0,0,0.9); padding: 4%; }
	.flexFourth li h4 { color: var(--base-color); margin-bottom: 10px; letter-spacing: 0.5em;text-align: center; font-size: 1.1rem; font-weight: bold; }
	.flexFourth li p { color: #000; margin-bottom: 0px; font-size: 0.9rem;  }
	.flexFourth li .icon { width: 40%; margin: 0 auto 20px; }
	
	.cycleList { display: flex; justify-content: center; flex-wrap: wrap; }
	.cycleList li { margin: 0 4% 20px 0; max-width: 30.5%; min-width: 80px; }
	.cycleList li div { display: flex; justify-content: center; align-items: center; background: #fff; border-radius: 50%; padding: 15px; min-width: 90px; min-height: 120px; border: 1px solid #dedede; margin-bottom: 10px; }
	.cycleList li:nth-child(3n) { margin-right: 0px; }
	.cycleList li h5 { text-align: center; font-size: 0.8rem; }
	
	.workFlex .flexL { width: 100%; background: url("../img/common/sample.png") center center no-repeat; background-size: cover; max-height: 150px; }
	.workFlex .flexR h2 { margin-bottom: 20px; display: flex; justify-content: flex-start; align-items: center; }
	.workFlex .flexR h2 span { font-size: 1.1em; font-family:'Roboto Condensed', sans-serif; font-weight:bold; margin-right: 2%; color: var(--base-color); }
	.workFlex .flexR .swiper-card dl { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.workFlex .flexR .swiper-card dl dt { font-size: 10px; color: var(--sub-color); border: 1px solid var(--sub-color); background: #fff; padding: 0px 10px; }
	.workFlex .flexR .swiper-card dl dd { font-size: 10px; color: #fff; border: 1px solid var(--sub-color); background: var(--sub-color); padding: 0px 10px; }
	.workFlex .flexR .swiper-card p { font-size: 0.8rem;}
	.workFlex .flexR .swiper-card p.tag { font-size: 0.7rem; color: #999; margin-bottom: 0px;}
	.workFlex .flexR .swiper-card h4 { font-weight: bold; }
}
@media screen and (min-width: 600px) {
	#anch03 { padding:40px 4%; }

	.flexThird { display: flex; justify-content: space-between; max-width: 1260px; width: 96%; margin: 0 auto; }
	.flexThird li { width: 31%; position: relative; }
	.flexThird li h4 { color: var(--base-color); margin-bottom: 10px; font-size: 1.3rem; text-align: center; font-weight: bold; letter-spacing: 0.5em; }
	.flexThird li p { color: #000; margin-bottom: 0px; font-size: 1.0rem; }
	.flexThird li .icon { width: 150px; margin: 0 auto; }
	
	.flexThird li ul li { width: 100%; padding-left: 1em; text-indent: -1em; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px dotted #dedede; font-size: 0.9rem; }
	.flexThird li ul li:before { content: "・"; }
	.flexThird li h4 { text-align: center; font-weight: bold; font-size: 1.1rem; margin-bottom: 10px; }
	.flexThird li h5 { text-align: center;  margin-bottom: 10px; font-size: 0.9rem; }
	.flexThird li dl { margin-bottom: 10px; }
	.flexThird li dl dt { background: var(--base-color); color: #fff; text-align: center; padding: 5px 0; margin-bottom: 10px; font-size: 0.9rem; }
	.flexThird li dl dd { text-align: center; font-size: 1.2rem; }
	
	.flexFourth { display: flex; justify-content: space-between; max-width: 1260px; width: 96%; margin: 0 auto; }
	.flexFourth li { width: 23.25%; position: relative; }
	.flexFourth li h4 { color: var(--base-color); margin-bottom: 10px; font-size: 1.3rem; text-align: center; font-weight: bold; letter-spacing: 0.5em; }
	.flexFourth li p { color: #000; margin-bottom: 0px; font-size: 1.0rem; }
	.flexFourth li .icon { width: 150px; margin: 0 auto; }
	
	.cycleList { display: flex; justify-content: center; flex-wrap: wrap; }
	.cycleList li { margin: 0 1% 20px; max-width: 120px; min-width: 80px; }
	.cycleList li div { display: flex; justify-content: center; align-items: center; background: #fff; border-radius: 50%; padding: 15px; min-width: 90px; min-height: 120px; border: 1px solid #dedede; }
	.cycleList li h5 { text-align: center; font-size: 0.9rem; }
	
	.workFlex .flexL { width: 40%; background: url("../img/common/sample.png") center center no-repeat; background-size: cover; }
	.workFlex .flexR { width: 60%; padding: 2% 0 2% 4%; }
	.workFlex .flexR h2 { margin-bottom: 20px; display: flex; justify-content: flex-start; align-items: center; }
	.workFlex .flexR h2 span { font-size: 1.1em; font-family:'Roboto Condensed', sans-serif; font-weight:bold; margin-right: 2%; color: var(--base-color); }
	.workFlex .flexR .swiper-card dl { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 10px; }
	.workFlex .flexR .swiper-card dl dt { font-size: 11px; color: var(--sub-color); border: 1px solid var(--sub-color); background: #fff; padding: 0px 10px; }
	.workFlex .flexR .swiper-card dl dd { font-size: 11px; color: #fff; border: 1px solid var(--sub-color); background: var(--sub-color); padding: 0px 10px; }
	.workFlex .flexR .swiper-card p { font-size: 0.9rem;}
	.workFlex .flexR .swiper-card p.tag { font-size: 0.8rem; color: #999; margin-bottom: 0px;}
	.workFlex .flexR .swiper-card h4 { font-weight: bold; color: var(--base-color); text-align: left;}
	
	.contactSec .subTtl01 { margin-bottom: 20px; }
}
@media screen and (min-width: 600px) and (max-width: 899px)  {
	.dodBg01 { position: absolute; right: -50vw; top: -10vh; width: 100vw; opacity: 0.5;}
	.dodBg02 { position: absolute; left: -40vw; bottom: -10vh; width: 80vw; transform: rotate(180deg); opacity: 0.5;}
	
	.flexThird li h4 { font-size: 1.05rem; }
	.flexThird li p { font-size: 0.75rem; }
	.flexFourth li h4 { font-size: 1.05rem; }
	.flexFourth li p { font-size: 0.75rem; }
}
@media screen and (min-width: 900px) and (max-width: 1079px)  {
	.flexThird li h4 { font-size: 1.1rem; }
	.flexThird li p { font-size: 0.8rem; }
	.flexFourth li h4 { font-size: 1.1rem; }
	.flexFourth li p { font-size: 0.8rem; }
}
@media screen and (min-width: 1080px) and (max-width: 1179px)  {
	.flexThird li h4 { font-size: 1.15rem; }
	.flexThird li p { font-size: 0.85rem; }
	.flexFourth li h4 { font-size: 1.15rem; }
	.flexFourth li p { font-size: 0.85rem; }
}
@media screen and (min-width: 1180px) and (max-width: 1279px)  {
	.flexThird li h4 { font-size: 1.2rem; }
	.flexThird li p { font-size: 0.9rem; }
	.flexFourth li h4 { font-size: 1.2rem; }
	.flexFourth li p { font-size: 0.9rem; }
}
@media screen and (min-width: 1280px) and (max-width: 1379px)  {
	.flexThird li h4 { font-size: 1.25rem; }
	.flexThird li p { font-size: 0.95rem; }
	.flexFourth li h4 { font-size: 1.25rem; }
	.flexFourth li p { font-size: 0.95rem; }
}
@media screen and (min-width: 1380px) {
}

/*-- contents -------------------------------------------------------------*/
@media screen and (max-width: 899px) {	
	.in-flex h2 { font-size: 1.2rem; margin-bottom: 20px; color: var(--base-color); font-weight: bold; text-align: center; }
	.in-flex-Img { margin-bottom: 20px; }
	/*#anch02 .in-flex-Img { background: url("../img/common/top-img01.jpg") center center no-repeat; background-size: cover; min-height: 150px;}*/
	
	.in-flex-Two li { wposition: relative; margin-bottom: 20px; }
	.in-flex-Two li:last-child { margin-bottom: 0px; }
	.in-flex-Two li h4 { color: var(--base-color); margin-bottom: 10px; letter-spacing: 0.5em;text-align: center; font-size: 1.1rem; font-weight: bold; }
	.in-flex-Two li p { color: #000; margin-bottom: 0px; font-size: 0.9rem;  }
	.in-flex-Two li .in-f-t-L { width: 40%; margin: 0 auto 20px; }
}
@media screen and (min-width: 900px) {	
	.in-flex { display: flex; justify-content: space-between; align-items: center; }
	.in-flex-L { width: 48%; }
	.in-flex-R { width: 48%; }
	.in-flex h2 { font-size: 1.5rem; margin-bottom: 20px; color: var(--base-color); font-weight: bold; }
	/*#anch02 .in-flex-Img { background: url("../img/common/top-img01.jpg") center center no-repeat; background-size: cover; min-height: 300px;}*/
	
	.in-flex-Two { display: flex; justify-content: space-between; align-items: center; }
	.in-flex-Two li { width: 48%; display: flex; justify-content: space-between; align-items: center; } 
	.in-flex-Two li .in-f-t-L { width: 20%; }
	.in-flex-Two li .in-f-t-R { width: 76%; }
	.in-flex-Two li h4 { color: var(--base-color); font-size: 1.2rem; }
	
	.in-flex-Two-iconList { max-width: 1200px; width: 96%; margin: 0 auto; }
}

/*-- ニュース -------------------------------------------------------------*/
@media screen and (max-width: 1079px) {				
	.newsList { max-width: 1020px; width: 100%; margin: 0 auto 40px; }
	.newsList li { display: flex; justify-content: flex-start; align-items: center; }
	.newsList li .newsDl { margin-right: 10px; }
}
@media screen and (min-width: 1080px) {	
	.news-flex { display: flex; justify-content: space-between; align-items: center; }
	.news-flex-L { width: 35%; padding: 4%; }
	.news-flex-R { width: 62%; padding: 4%; }
	.newsList { max-width: 960px; width: 100%; margin: 0 auto 40px; }
	.newsList li { display: flex; justify-content: flex-start; align-items: center; }
	.newsList li .newsDl { margin-right: 10px; }
}
@media screen and (max-width: 599px) {	
	.newsList li { display: block; }
	.newsList li .newsDl { margin-right: 0px; margin-bottom: 10px; }
}

/* loop */
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap { display: flex; overflow: hidden; margin-bottom: 0px; }
.scroll-infinity__list { display: flex; list-style: none; padding: 0 }
.scroll-infinity__list--left { animation: infinity-scroll-left 50s infinite linear 1.0s both; }
.scroll-infinity__item { width: calc(100vw / 9); position: relative; margin: 0 1%; }
.scroll-infinity__item>img { width: 100%; }
.scroll-infinity__item:after { content: "\f055"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; bottom: 2%; right: 2%; color: rgba(255,255,255,0.5); }
@media screen and (max-width: 599px) {	
	.scroll-infinity__item { width: calc(100vw / 4); }
}
@media screen and (min-width: 600px) and (max-width: 889px) {	
	.scroll-infinity__item { width: calc(100vw / 4); }
}
@media screen and (min-width: 900px) and (max-width: 1089px) {	
	.scroll-infinity__item { width: calc(100vw / 5); }
}
@media screen and (min-width: 1090px) and (max-width: 1189px) {	
	.scroll-infinity__item { width: calc(100vw / 6); }
}
@media screen and (min-width: 1190px) and (max-width: 1289px) {	
	.scroll-infinity__item { width: calc(100vw / 6); }
}
@media screen and (min-width: 1290px) and (max-width: 1389px) {	
	.scroll-infinity__item { width: calc(100vw / 7); }
}
@media screen and (min-width: 1390px) and (max-width: 1489px) {	
	.scroll-infinity__item { width: calc(100vw / 8); }
}

/*-- ko-gu  -------------------------------------------------------------*/
@media screen and (max-width: 899px) {	
	.listTtl { background: #49a557; text-align: center; padding: 5px 0; }
	.listTtl a         { resize: none; display: block;}
	.listTtl a:link    { color:#fff; text-decoration: none; }
	.listTtl a:visited { color:#fff; text-decoration: none; }
	.listTtl a:hover   { color:#fff; text-decoration: none; opacity: 0.7; }
	.listTtl a:active  { color:#fff; text-decoration: none; }
	
	.oyaList li { font-size: 1.0rem; font-weight: bold; margin-right: 3.5%; margin-bottom: 40px; }
	.oyaList li:last-child { margin-bottom: 0%;}
	.oyaList li ul { padding-left: 1em; }
	.oyaList li ul.child li { font-size: 0.9rem; width: 100%; margin-bottom: 10px; padding-left: 2em; text-indent: -2em; }
	.oyaList li ul.child li:before { content:"\f54a"; font-family:"Font Awesome 5 Free"; font-weight: 900; margin-right:10px; color:#389d48; } 
	.oyaList li ul.child li:last-child { margin-bottom: 20px; }
	
	.list-flex { display: flex; justify-content: space-between; }
	.list-flex-eye { width: 30%; margin: 0 0 20px 4%; }
	.list-flex-L { width: 66%; }
}
@media screen and (min-width: 900px) {	
	.oyaList { display: flex; justify-content: flex-start; flex-wrap: wrap; }
	
	.listTtl { background: #49a557; text-align: center; padding: 5px 0; }
	.listTtl a         { resize: none; display: block;}
	.listTtl a:link    { color:#fff; text-decoration: none; }
	.listTtl a:visited { color:#fff; text-decoration: none; }
	.listTtl a:hover   { color:#fff; text-decoration: none; opacity: 0.7; }
	.listTtl a:active  { color:#fff; text-decoration: none; }
	
	.oyaList li { width: 31%; font-size: 1.1rem; font-weight: bold; margin-right: 3.5%; }
	.oyaList li:nth-child(3n) { margin-right: 0%;}
	.oyaList li ul { padding-left: 1em; }
	.oyaList li ul.child li { font-size: 0.9rem; width: 100%; margin-bottom: 10px; padding-left: 2em; text-indent: -2em;}
	.oyaList li ul.child li:before { content:"\f54a"; font-family:"Font Awesome 5 Free"; font-weight: 900; margin-right:10px; color:#389d48; } 
	.oyaList li ul.child li:last-child { margin-bottom: 40px; }
	
	.list-flex { display: flex; justify-content: space-between; }
	.list-flex-eye { width: 25%; margin: 0 0 20px 4%; }
	.list-flex-L { width: 66%; }
}




