@charset "UTF-8";
/* CSS Document */
.pdBtm100 {
  padding-bottom: 100px;
}
.mgBtm100 {
  margin-bottom: 100px;
}
.about .mv {
  background: url(../images/work_mv.jpg) center;
  background-size: cover;
  height: 95vh;
}
.about .contents01, .welfare .contentsWrap, .num .contentsWrap {
  background: url(../../lib/cmn_img/sankaku_bg.svg) repeat-y top right;
  background-size: contain;
  z-index: -1;
  padding: 0 45px 100px 10px;
}
.about .contents01 ul {
  width: 100%;
  margin: 60px -1.5%;
}
.about .contents01 ul li {
  width: 30%;
  margin: 1.5%;
  text-align: center;
  z-index: 1;
}
.about .contents01 ul li::after {
  height: 100%;
  z-index: -1;
}
.about .contents01 ul li:nth-child(4) {
  margin: 80px 2% 0 18%;
}
.about .contents01 ul li:nth-child(5) {
  margin: 80px 18% 0 2%;
}
.about .contents01 ul li a {
  background-color: #fdff78;
  padding: 10px;
  display: block;
}
.about .contents01 ul li .boxImg {
  padding: 37px 20px 20px;
  border: 1px solid #5789c0;
}
.about .contents01 ul li .boxImg img {
  width: auto;
  height: 460px;
}
.about .contents01 ul li .boxImg .ttlBox {
  position: relative;
  z-index: 0;
}
.about .contents01 ul li .boxImg .whiteBox {
  padding: 10px 20px 8px;
  margin-bottom: 10px;
}
.about .contents01 ul li .boxImg .whiteBox::after {
  height: 52px;
}
.modal {
  border: 5px solid #fdff50 !important;
  padding: 0 0 50px 0!important;
  background-color: #fff;
  max-width: 980px;
  margin: auto;
  width: 100%;
}
.modal .ttlJa {
  font-size: 30px;
  line-height: 1;
  margin-top: 20px;
  text-align: center;
}
.modal .text.borderBtm {
  border-bottom: 1px solid #dcdcdc;
}
.modal .text {
  padding: 22px 50px;
  width: 98%;
  margin: auto;
  font-size: 16px;
  text-align: left;
}
.modal .text .ttl {
  font-weight: 600;
  text-align: center;
}
.modal .text .ttl span {
  background: linear-gradient(transparent 70%, #fdff50 70%);
}
.modal .text table {
  margin: auto;
}
.modal .text table tr {
  border-bottom: 1px solid #dcdcdc;
}
.modal .text table th {
  width: 10em;
  padding: 10px;
}
.modal .text table td {
  padding: 10px;
}
.modal figure {
  padding: 60px 140px 40px;
  text-align: center;
}
.modal figure img {
  width: auto;
  height: 500px;
  display: inline-block
}
.modal .popup-modal-dismiss {
  padding: 10px 20px 6px;
  border: solid 1px #fdff50;
  display: inline-block;
  background-color: #fdff50;
  margin-bottom: 30px;
}
.modal .popup-modal-dismiss:hover {
  border: solid 1px #ccc;
  background-color: #fff;
}
/*-------
WELFARE
---------*/
.welfare .mv {
  background: url(../images/welfare_mv.jpg) left;
  background-size: cover;
  height: 95vh;
}
.welfare .mv .contTitle {
  top: 60%;
}
.welfare .contTitle span.ttlImg {
  font-size: 45px;
}
.welfare .contentsInr .contTitle span.ttlImg::after {
  left: 50%;
  top: 25px;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}
.welfare .contentsInr ul li {
  width: 50%;
  padding: 0 20px 100px;
}
.welfare .contentsInr ul li figure {
  margin: 20px 0 0;
}
.welfare .contents01 ul li:nth-child(1) .text, .welfare .contents01 ul li:nth-child(2) .text {
  height: 280px;
}
.welfare .contents01 ul li:nth-child(3) .text {
  height: 160px;
}
.welfare .contents01 ul li:nth-child(4) .text, .welfare .contents01 ul li:nth-child(5) .text {
  height: 180px;
}
.welfare .contents01 ul li:nth-child(6) .text, .welfare .contents01 ul li:nth-child(7) .text {
  height: 280px;
}
.welfare .contentsInr ul li .textBox .fltL {
  width: 50%;
  padding: 30px;
}
.welfare .contentsInr ul li.full {
  width: 100%;
  padding: 0 20px 100px;
}
/*.welfare .contentsInr ul li .photo {
  padding-left: 50px;
}*/
.welfare .contentsInr ul li .textBox {
  padding: 30px;
  background-color: #fff;
  /*width: 95%;*/
  /*margin-top: -50px;*/
  position: relative;
}
.welfare .contentsInr ul li .small {
  font-size: 80%;
}
.welfare .contentsInr ul li .line {
  background: linear-gradient(transparent 70%, #fdff50 70%);
  font-weight: 600;
}
.welfare .contentsInr ul li .textBox .ttl {
  position: relative;
  margin-bottom: 15px
}
.welfare .contentsInr ul li .textBox .ttl::after {
  position: absolute;
  content: "";
  width: 30px;
  height: 1px;
  background-color: #555;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
/*-------
NUMBER
---------*/
.num .mv {
  background: url(../images/number_mv.jpg) center;
  background-size: cover;
  height: 95vh;
}
.num .contents {
  max-width: 1100px;
  width: 98%;
  margin: 0 auto 100px;
}
.num .contents .whiteBox {
  padding: 10px 20px 0;
  line-height: 1.5;
  font-size: 35px;
  margin-bottom: 50px;
}
.num .contents .contentsInr .numbox img {
  max-width: 800px;
}
.num .contents .contentsInr .numbox::after {
  height: 100%;
  width: 100%;
  background: url(../../lib/cmn_img/dot.png) repeat center center;
  background-size: auto;
  position: absolute;
  content: "";
  left: -20px;
  bottom: -20px;
  z-index: -1;
}
.num .contents .contentsInr .numbox {
  max-width: 1000px;
  width: 98%;
  margin: 0 auto 100px;
}
.num .contents .contentsInr .numboxInr {
  padding: 30px;
  background-color: #fff;
  font-size: 20px;
  position: relative;
  width: 98%;
  z-index: 0;
}
.pd10 {
  padding: 10px;
}
.pd30 {
  padding: 30px;
}
.pd40 {
  padding: 40px;
}
/*----------
Box01
------------*/

.num .contents .contentsInr #Box01.numbox .numBox01, .num .contents .contentsInr #Box02.numbox .numBox01, .num .contents .contentsInr #Box03.numbox .numBox01, .num .contents .contentsInr #Box05.numbox .numBox01 {
  color: #e46d9f;
  font-size: 60px;
}
.num .contents .contentsInr #Box01.numbox .numBox01 {
  background: url(../images/num_shain_bg.png) no-repeat center;
  background-size: contain;
  color: #e46d9f;
  width: 40%;
  float: left;
}
.num .contents .contentsInr #Box01.numbox .numBox01 span, .num .contents .contentsInr #Box05.numbox .numBox01 span {
  font-size: 300%;
}
.num .contents .contentsInr #Box01.numbox .numBox02 {
  width: 60%;
  float: left;
}
/*----------
Box01
------------*/
.num .contents .contentsInr #Box02.numbox .numBox01 {
  background: url(../images/num_shoninkyu.png) no-repeat left;
  background-size: contain;
  text-align: right;
  position: relative;
}
.num .contents .contentsInr #Box02.numbox .numBox01::after, .num .contents .contentsInr .numbox .numBox01 .ttl::after, .num .contents .contentsInr .numbox .numBox01 .ttl span::before {
  position: absolute;
  content: "";
}
.num .contents .contentsInr #Box02.numbox .numBox01::after {
  background: url(../images/num_ten.png) no-repeat center center;
  background-size: contain;
  top: 0;
  right: 0;
  width: 120px;
  height: 120px;
}
.num .contents .contentsInr #Box02.numbox .numBox01 span {
  font-size: 200%;
}
.num .contents .contentsInr #Box03.numbox .numBox01 span {
  font-size: 250%;
  line-height: 1.3;
}
/*----------
Box03
------------*/
.num .contents #Box03 .whiteBox {
  margin-bottom: 10px;
}
.num .contents .contentsInr #Box03.numbox .numBox01, .num .contents .contentsInr #Box03.numbox .numBox02, .num .contents .contentsInr #Box04.numbox .numBox01, .num .contents .contentsInr #Box04.numbox .numBox02 {
  width: 50%;
}
.num .contents .contentsInr .ttl, .num .contents .contentsInr .ttl span, .num .contents .contentsInr .numbox, .num .contents .contentsInr #Box03.numbox ul {
  position: relative;
}
.num .contents .contentsInr #Box03.numbox .numBox01 {
  position: absolute;
  bottom: 10px;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl::after {
  background: url(../images/bottom.png) no-repeat left;
  background-size: contain;
  bottom: 20px;
  left: 0;
  width: 100%;
  height: 68px;
  z-index: -1;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl span::before, .num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl span::before {
  background: url(../images/num_ten02.png) no-repeat left;
  background-size: contain;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl span::before, .num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl span::before {
  top: -85px;
  left: -56px;
  width: 120px;
  height: 120px;
}
.num .contents .contentsInr #Box03.numbox .numBox02 {
  float: right;
  line-height: 0;
}
/*----------
Box05
------------*/

.num .contents .contentsInr #Box05.numbox ul {
  width: 100%;
}
.num .contents .contentsInr #Box05.numbox ul li {
  float: left;
}
.num .contents .contentsInr #Box05.numbox ul .numBox01 {
  width: 70%;
}
.num .contents .contentsInr #Box05.numbox .numBox01 span {
  line-height: 1.2;
}
.num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl::after {
  background: url(../images/num_bottom02.png) no-repeat left;
  background-size: contain;
  bottom: 20px;
  left: 50%;
  width: 85%;
  height: 68px;
  z-index: -1;
  transform: translateX(-50%);
}
.num .contents .contentsInr #Box05.numbox ul .numBox02 {
  width: 30%;
}

@media only screen and ( max-width:980px ) {
.about .contents01, .welfare .contentsWrap, .num .contentsWrap {
  padding: 0 0 100px 10px;
}
.modal {
  padding: 0!important;
}
.modal .text {
  padding: 10px 15px 15px;
  font-size: 13px;
}
.modal figure {
  padding: 40px 20px;
}
.about .contents01, .welfare .contentsWrap {
  padding: 0 10px 100px 10px;
}
.about .contents01 ul {
  margin: 30px auto;
}
.about .contents01 ul li, .about .contents01 ul li:nth-child(4), .about .contents01 ul li:nth-child(5) {
  width: 43%;
  margin: 40px 2.5%;
}
.welfare .contentsInr ul li, .welfare .contentsInr ul li.full {
  padding: 0 10px 50px;
}
.num .contents {
  width: 90%;
}
.num .contents .whiteBox {
  margin-bottom: 10px;
}
.num .contents .contentsInr .numbox img {
  max-width: 700px;
}
.num .contents .contentsInr #Box01.numbox .numBox01, .num .contents .contentsInr #Box01.numbox .numBox02 {
  width: 100%;
  float: none;
}
.num .contents .contentsInr #Box05.numbox .whiteBox {
  margin-bottom: 80px;
}
}

@media only screen and ( max-width:800px ) {
.num .contents .whiteBox {
  font-size: 25px;
}
.num .contents .contentsInr #Box03.numbox .numBox01 span {
  font-size: 200%;
}
.num .contents .contentsInr #Box05.numbox .numBox01 span {
  font-size: 270%;
}
.welfare .contTitle span.ttlNoImg, .contTitle span.ttlImg {
  font-size: 35px!important;
}
}

@media only screen and ( max-width:680px ) {
.about .mv {
  background: url(../images/work_mv_sp.jpg) left;
  background-size: cover;
  height: 500px;
}
.about .contents01 ul {
  width: 90%;
  margin: 0 5%;
}
.about .contents01 ul li, .about .contents01 ul li:nth-child(4), .about .contents01 ul li:nth-child(5) {
  width: 100%;
  margin: 40px auto;
}
.about .contents01 ul li .boxImg img {
  height: 300px;
}
.modal {
  padding: 0!important;
}
.modal .text {
  padding: 10px 15px 15px;
  font-size: 13px;
}
.modal figure {
  padding: 40px 20px;
}
.modal .text table th {
  width: 7em;
}
/*.welfare .mv {
  background: url(../images/welfare_mv_sp.jpg) right;
  background-size: cover;
}*/
.welfare .contents01 ul li:nth-child(1) .text, .welfare .contents01 ul li:nth-child(2) .text, .welfare .contents01 ul li:nth-child(3) .text, .welfare .contents01 ul li:nth-child(4) .text, .welfare .contents01 ul li:nth-child(5) .text, .welfare .contents01 ul li:nth-child(6) .text, .welfare .contents01 ul li:nth-child(7) .text {
  height: auto;
  margin-top: 30px;
}
.welfare .contentsInr ul li, .welfare .contentsInr ul li.full {
  width: 100%;
}
.welfare .contentsInr ul li .textBox .fltL {
  width: 100%;
  padding: 0;
}
.welfare .contentsInr ul li .textBox {
  height: auto;
}
.num .mv {
  background-image: url(../images/num_mv_sp.jpg);
  background-size: cover;
  height: 50vh;
}
.num .contents .contentsInr #Box01.numbox .numBox01 span, .num .contents .contentsInr #Box05.numbox .numBox01 span {
  font-size: 200%;
}
.num .contents .contentsInr #Box02.numbox .numBox01 span, .num .contents .contentsInr #Box03.numbox .numBox01 span {
  font-size: 150%;
}
.num .contents .contentsInr #Box02.numbox .numBox01::after {
  width: 100px;
  height: 80px;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl::after {
  bottom: 0;
}
.num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl::after {
  width: 90%;
  height: 44px;
}
}

@media only screen and ( max-width:580px ) {
.modal figure img {
  height: 350px;
}
.welfare .contentsWrap {
  padding: 0 10px 0px 10px;
}
.welfare .contentsInr .contTitle {
  font-size: 30px!important;
  line-height: 1;
}
.welfare .mgBtm100 {
  margin-bottom: 0;
}
.welfare .contents01, .welfare .contents02 {
  padding-top: 40px;
}
.welfare .contentsInr ul li, .welfare .contentsInr ul li.full {
  padding: 0 0 50px;
}
.welfare .contentsInr ul li .photo {
  padding-left: 10px;
}
.welfare .contentsInr ul li .textBox {
  padding: 30px 20px;
}
.num .contentsWrap {
  padding: 0 0 0 10px;
}
.num .contents {
  width: 100%;
  margin: 0 auto;
}
.num .contents .whiteBox {
  font-size: 21px;
  margin-bottom: 20px!important;
}
.num .contents .contentsInr #Box01.numbox .pd10, .num .contents .contentsInr #Box01.numbox .pd30 {
  padding: 0;
}
.num .contents .contentsInr .numboxInr {
  padding: 30px 10px 0;
}
.num .contents .contentsInr .numbox {
  margin: 0 auto 50px;
}
.num .contents .contentsInr .numbox::after {
  left: -10px;
  bottom: -10px;
}
.num .contents .contentsInr #Box02.numbox .numBox01 span {
  font-size: 300%;
}
.num .contents .contentsInr #Box01.numbox .numBox01 span {
  font-size: 500%;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl span::after, .num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl::after {
  height: 33px;
}
.num .contents .contentsInr #Box03.numbox .numBox01 {
  width: 60%;
}
.num .contents .contentsInr #Box03.numbox .numBox02 {
  width: 40%;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl::after {
  height: 32px;
  width: 200px;
  left: 50%;
  transform: translateX(-50%);
}
.num .contents .contentsInr #Box03.numbox .numBox01 span {
  font-size: 350%;
  line-height: 1;
}
.num .contents .contentsInr #Box03.numbox .numBox01 .ttl span::before {
  top: -44px;
  left: -33px;
  width: 73px;
  height: 60px;
}
.num .contents .contentsInr #Box01.numbox .numBox01, .num .contents .contentsInr #Box02.numbox .numBox01, .num .contents .contentsInr #Box03.numbox .numBox01, .num .contents .contentsInr #Box05.numbox .numBox01 {
  font-size: 20px;
}
.num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl::before {
  top: -11px;
  width: 57px;
  height: 45px;
  left: 4px;
}
.num .contents .contentsInr #Box05.numbox .numBox01 span {
  font-size: 350%;
  line-height: 1.6;
}
.num .contents .contentsInr #Box05.numbox ul .numBox01 .ttl span::before {
  top: -47px;
  left: -45px;
  width: 80px;
  height: 60px;
}
}
