/*--------------------
facility.css
--------------------*/


.l-block01{
  padding:23.5rem 0 13.0rem;
  position: relative;
  z-index:1;
  background:#f2f2f2;
  margin-top:-16.5rem;
}
.l-block01-inner{
  max-width:calc(1000px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block01-block{
  padding-top:6.0rem;
}
.l-block01-block picture{
  display:block;
  position:relative;
  z-index:1;
}
.l-block01-block picture img{
  width:100%;
}
.l-block01-block-box{
  width:100%;
  position:relative;
  z-index:2;
  background:#f2f2f2;
  padding:3.0rem 3.0rem 2.0rem 0;
}
.l-block01-block h3{  
  text-align: left;
  color: #1a1a1a;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block01-block p{
  padding-top:0.5rem;
  text-align: justify;
  color: #1a1a1a;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block01{
    padding:25.5rem 0 12.0rem;
    position: relative;
    z-index:1;
    margin-top: -16.5rem;
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }  
  .l-block01-block{
    padding-top:6.0rem;
  }
  .l-block01-block picture{
    display:block;
    position:relative;
    z-index:1;
  }
  .l-block01-block picture img{
    width:100%;
  }
  .l-block01-block-box{
    width:100%;
    position:relative;
    z-index:2;
    background:#f2f2f2;
    padding:3.0rem 3.0rem 2.0rem 0;
  }
  .l-block01-block h3{  
    text-align: left;
    color: #1a1a1a;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block01-block p{
    padding-top:0.5rem;
    text-align: justify;
    color: #1a1a1a;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
    
    white-space: normal;
  }
}


.l-block02{
  padding:0 0 15.0rem;
}
.l-block02-h2{
  max-width: calc(1000px + 10.0rem);
  width: 100%;
  margin: 0 auto;
  padding: 0 5.0rem;
  position: relative;
  top: 0;
}
.l-block02-h2-box{
  background: #000000;
  border-radius: 0 0 5.0rem 5.0rem;
  padding: 2.0rem 5.0rem;
}
.l-block02-h2-box h2{
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(19px, 2.6rem, 26px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-inner{
  max-width: calc(1190px + 10.0rem);
  width: 100%;
  margin: 0 auto;
  padding: 0 5.0rem;
}
.l-block02-block01{
  
}
.l-block02-block01-photo01{
  padding-top:13.0rem;
  display:block;
  text-align: center;
  font-size:0;
}
.l-block02-block01-photo01:first-of-type{
  padding-top:15.0rem;
}
.l-block02-block01-photo01 picture{
  width:50%;
  display:inline-block;
  vertical-align: top;
}
.l-block02-block01-photo01 picture:nth-of-type(odd){
  padding-right:0.45rem;
}
.l-block02-block01-photo01 picture:nth-of-type(even){
  padding-left:0.45rem;
}
.l-block02-block01-photo01 picture img{
  width:100%;
}
.l-block02-block01-table{
  width:100%;
  display:table;
  margin:4.5rem auto 0;
}
.l-block02-block01-table > div{
  display:table-cell;
  vertical-align: top;
  text-align:left;
}
.l-block02-block01-table-left{
  width:59.5rem;
  padding-left:9.3rem;
}
.l-block02-block01-table-left h3{
  width:33.0rem;
  display:inline-block;
  padding-bottom:2.0rem;
  border-bottom:1px solid #000000;
  text-align: left;
  color: #1a1a1a;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-block01-table-right{
  width:auto;
}
.l-block02-block01-table-right p{
  padding-bottom:2.0rem;
  text-align: left;
  color: #1a1a1a;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block02-block01-table-right p span{
  display:inline-block;
  margin-right:0.8rem;
  border-radius:2.0rem;
  padding:0.2rem 3.0rem;
  background:#288742;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-block01-table-right p span.cat01{
  background:#288742;
}
.l-block02-block01-table-right p span.cat02{
  background:#666666;
}
.l-block02-block01-table-right p span.cat03{
  background:#909ec4;
}
.l-block02-block01-photo02{
  padding-top:13.0rem;
  display:block;
  text-align: center;
  font-size:0;
}
.l-block02-block01-photo02 picture{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
}
.l-block02-block01-photo02 picture:nth-of-type(3n+1){
  padding-right:0.6rem;
}
.l-block02-block01-photo02 picture:nth-of-type(3n+2){
  padding-left:0.3rem;
  padding-right:0.3rem;
}
.l-block02-block01-photo02 picture:nth-of-type(3n){
  padding-left:0.6rem;
}
.l-block02-block01-photo02 picture img{
  width:100%;
}


@media screen and (max-width: 767.5px) {
  .l-block02{
    padding:0 3.0rem 12.0rem;
  }
  .l-block02-h2{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0;
    position: relative;
    top: 0;
  }
  .l-block02-h2-box{
    background: #000000;
    border-radius: 0 0 5.0rem 5.0rem;
    padding: 2.0rem 5.0rem;
  }
  .l-block02-h2-box h2{
    text-align: center;
    color: #FFFFFF;
    
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-inner{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0;
  }
  .l-block02-block01{

  }
  .l-block02-block01-photo01{
    padding-top:9.0rem;
    display:block;
    text-align: center;
    font-size:0;
  }
  .l-block02-block01-photo01:first-of-type{
    padding-top:15.0rem;
  }
  .l-block02-block01-photo01 picture{
    width:50%;
    display:inline-block;
    vertical-align: top;
  }
  .l-block02-block01-photo01 picture:nth-of-type(odd){
    padding-right:0.6rem;
  }
  .l-block02-block01-photo01 picture:nth-of-type(even){
    padding-left:0.6rem;
  }
  .l-block02-block01-photo01 picture img{
    width:100%;
  }
  .l-block02-block01-table{
    width:100%;
    display:block;
    margin:4.5rem auto 0;
  }
  .l-block02-block01-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align:left;
  }
  .l-block02-block01-table-left{
    width:100%;
    display:block;
    padding-left:0;
  }
  .l-block02-block01-table-left h3{
    width:100%;
    display:block;
    padding-bottom:2.0rem;
    border-bottom:1px solid #000000;
    text-align: left;
    color: #1a1a1a;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-block01-table-right{
    width:100%;
    display:block;
    padding-top:2.5rem;
  }
  .l-block02-block01-table-right p{
    padding-bottom:2.0rem;
    text-align: left;
    color: #1a1a1a;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-block01-table-right p span{
    display:inline-block;
    margin-right:0.8rem;
    border-radius:2.0rem;
    padding:0.2rem 3.0rem;
    background:#288742;
    text-align: center;
    color: #FFFFFF;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-block01-table-right p span.cat01{
    background:#288742;
  }
  .l-block02-block01-table-right p span.cat02{
    background:#666666;
  }
  .l-block02-block01-table-right p span.cat03{
    background:#909ec4;
  }
  .l-block02-block01-photo02{
    padding-top:9.0rem;
    display:block;
    text-align: center;
    font-size:0;
  }
  .l-block02-block01-photo02 picture{
    width:33.3%;
    display:inline-block;
    vertical-align: top;
  }
  .l-block02-block01-photo02 picture:nth-of-type(3n+1){
    padding-right:0.8rem;
  }
  .l-block02-block01-photo02 picture:nth-of-type(3n+2){
    padding-left:0.4rem;
    padding-right:0.4rem;
  }
  .l-block02-block01-photo01 picture:nth-of-type(3n){
    padding-left:0.8rem;
  }
  .l-block02-block01-photo01 picture img{
    width:100%;
  }
}


.l-block03{
  padding:0 0 5.0rem;
  background:#f2f2f2;
}
.l-block03-h2{
  max-width: calc(1000px + 10.0rem);
  width: 100%;
  margin: 0 auto;
  padding: 0 5.0rem;
  position: relative;
  top: 0;
}
.l-block03-h2-box{
  background: #000000;
  border-radius: 0 0 5.0rem 5.0rem;
  padding: 2.0rem 5.0rem;
}
.l-block03-h2-box h2{
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(19px, 2.6rem, 26px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block03-inner{
  max-width: calc(900px + 10.0rem);
  width: 100%;
  margin: 0 auto;
  padding: 0 5.0rem;
}
.l-block03-block01{
  padding-top:8.0rem;
}
.l-block03-block01 h3{
  padding-bottom:2.0rem;
  border-bottom:2px dotted #b3b3b3;
  text-align: left;
  color: #1a1a1a;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block03-block01-table{
  width:100%;
  display:block;
  text-align: left;
  font-size:0;
}
.l-block03-block01-table-list{
  width:50%;
  display:inline-block;
  vertical-align: top;
  padding-top:3.0rem;
  padding-bottom:1.0rem;
}
.l-block03-block01-table-list:nth-of-type(odd){
  padding-right:4.5rem;
}
.l-block03-block01-table-list:nth-of-type(even){
  padding-left:4.5rem;
}
.l-block03-block01-table-list picture{
  display:block;
}
.l-block03-block01-table-list picture img{
  width:100%;
}
.l-block03-block01-table-list > p{
  padding-top:2.0rem;
  text-align: left;
  color: #1a1a1a;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block03{
    padding:0 3.0rem 5.0rem;
    background:#f2f2f2;
  }
  .l-block03-h2{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0;
    position: relative;
    top: 0;
  }
  .l-block03-h2-box{
    background: #000000;
    border-radius: 0 0 5.0rem 5.0rem;
    padding: 2.0rem 5.0rem;
  }
  .l-block03-h2-box h2{
    text-align: center;
    color: #FFFFFF;

    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block03-inner{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0 0;
  }
  .l-block03-block01{
    padding-top:8.0rem;
  }
  .l-block03-block01 h3{
    padding-bottom:2.0rem;
    border-bottom:2px dotted #b3b3b3;
    text-align: left;
    color: #1a1a1a;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block03-block01-table{
    width:100%;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block03-block01-table-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding-top:6.0rem;
    padding-bottom:1.0rem;
  }
  .l-block03-block01-table-list:nth-of-type(odd){
    padding-right:0;
  }
  .l-block03-block01-table-list:nth-of-type(even){
    padding-left:0;
  }
  .l-block03-block01-table-list picture{
    display:block;
  }
  .l-block03-block01-table-list picture img{
    width:100%;
  }
  .l-block03-block01-table-list > p{
    padding-top:2.0rem;
    text-align: left;
    color: #1a1a1a;

    font-size:3.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}





@media screen and (max-width: 767.5px) {
  
}


@media screen and (max-width: 767.5px) {
  
}







